yogdogz 11 Posted January 18, 2011 (edited) Hi, i'm working on a campaign that will make player have to choose action for the storyline, and it'll affect the endings they got later (just like harvest red campaign). I'm planning to use FSM, but I'm really bad at scripting :icon_frown: (but at least, I'm successful to put bikb conversation to my mission :biggrin_o:) I tried with addaction, but it looks lame and unrealistic :o Yes, i've searched the forum : this this this even in BIKI, there's so little explaining & example :( pls help me give me simple explaining or maybe example really appreciated :( Edited January 18, 2011 by yogdogz sorry my english Share this post Link to post Share on other sites
HateDread 13 Posted January 18, 2011 Howdy, Have you tried reading my tutorial, with example missions, in that thread you linked? Part one is here. Part two is here. Hope that helps. Regards, - HateDread. Share this post Link to post Share on other sites
rübe 127 Posted January 18, 2011 there's so little explaining & example :( erm, :rolleyes: (just like harvest red campaign) Ah, there. Exactly. You have a whole campaign, full of examples all over the place. How about you extract the missions.pbo and have a look at it? :D Share this post Link to post Share on other sites
yogdogz 11 Posted January 18, 2011 (edited) Howdy,Have you tried reading my tutorial, with example missions, in that thread you linked? Part one is here. Part two is here. Hope that helps. Regards, - HateDread. oops, i think i miss that :p thanks btw for fast response, I'll try to understand those complicated stuff first, and try to apply it to my missions :D erm, :rolleyes:Ah, there. Exactly. You have a whole campaign, full of examples all over the place. How about you extract the missions.pbo and have a look at it? :D i've already did that. but the BIS FSMs are so much confusing me. They're just like not standard FSM and BIKB files, I try to understand it, but the code written in "%&%^$&%", then I choose to give up before my brain explode :eek: Edited January 18, 2011 by yogdogz Share this post Link to post Share on other sites
zonekiller 174 Posted January 18, 2011 here is a fsm page also a link to FSM Edit http://community.bistudio.com/wiki/FSM the FSM files will make more sence if you look at them in a FSM Editor Share this post Link to post Share on other sites
yogdogz 11 Posted January 19, 2011 @HateDread So much thanks for the great tutorial. I think I'm quite understand how FSM works now. But I still have some question about ur tutorial : Is XML file is only purposed to do a multilanguange configuration? bcos I remove the XML, but the conversation still running smoothly? I want to make command to exec a SQF after I choose an answer, where must I do put the line to? I think it something work like thiss??? chatter_player.sqf BIS_convMenu = []; switch (_sentenceId) do { case "STR_DIALOG_Chatter_J_0": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_0"]; }; case "STR_DIALOG_Chatter_J_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_1"]; }; case "STR_DIALOG_Chatter_J_2": { BIS_convMenu = BIS_convMenu + [["Shut up!", _topic, "STR_DIALOG_Chatter_P_2", []]]; BIS_convMenu = BIS_convMenu + [["Well... yeah.", _topic, "STR_DIALOG_Chatter_P_3", []]]; }; case "STR_DIALOG_Chatter_J_P_2_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_2_1"]; [b] _this execVM "story2.sqf"[/b] }; case "STR_DIALOG_Chatter_J_P_3_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_3_1"]; [b] _this execVM "story3.sqf" [/b] }; default { }; }; // return the sentence list pool BIS_convMenu here is a fsm page also a link to FSM Edit http://community.bistudio.com/wiki/FSM the FSM files will make more sence if you look at them in a FSM Editor unfortunately the BIKI is so confusing and lack of example :( Share this post Link to post Share on other sites
HateDread 13 Posted January 22, 2011 If you wanted to execute an SQF when the incoming sentence is of ID 'STR_DIALOG_Chatter_J_0' (Remember from the tutorial, that was John Rayner saying 'Hey!'), one way to do it would be: BIS_convMenu = [];switch (_sentenceId) do { case "STR_DIALOG_Chatter_J_0": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_0"]; execVM "SCRIPT.sqf"; }; case "STR_DIALOG_Chatter_J_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_1"]; }; case "STR_DIALOG_Chatter_J_2": { BIS_convMenu = BIS_convMenu + [["Shut up!", _topic, "STR_DIALOG_Chatter_P_2", []]]; BIS_convMenu = BIS_convMenu + [["Well... yeah.", _topic, "STR_DIALOG_Chatter_P_3", []]]; }; case "STR_DIALOG_Chatter_J_P_2_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_2_1"]; _this execVM "story2.sqf" }; case "STR_DIALOG_Chatter_J_P_3_1": { _this kbTell [_from, _topic, "STR_DIALOG_Chatter_P_3_1"]; _this execVM "story3.sqf" }; default { }; }; // return the sentence list pool BIS_convMenu That way, it only executes the script when the first case is met (as you know, as it was explained in the tutorial :) ). Hope that helps, and sorry for the late reply. Regards, - HateDread. Share this post Link to post Share on other sites