Jump to content
Sign in to follow this  
ffur2007slx2_5

Large file being written in a single state in fsm editor cannot be read

Recommended Posts

Seems no solution after searching and even the latest version of the BI fsm editor (v1.2.1) still didn't work.

The problem is when the content that was written in a state become enough large will cause the script can't be visualized by fsm editor.

Here's the example, the script demonstrated below cannot be visualized: (FSM title D:\WCRTools\FSM Editor Personal Edition\scriptedFSM.cfg need to be changed to the destination where your scriptedFSM located)

/*%FSM<COMPILE "D:\WCRTools\FSM Editor Personal Edition\scriptedFSM.cfg, FFUR_init">*/
/*%FSM<HEAD>*/
/*
item0[] = {"Start",0,250,-39.366196,-150.352112,50.633804,-100.352112,0.000000,"Start"};
item1[] = {"Single_Player_On",4,218,-42.183098,-80.633804,47.816902,-30.633804,0.000000,"Single Player Only"};
item2[] = {"Null",2,250,-40.070423,-22.887329,49.929592,27.112671,0.000000,"Null"};
item3[] = {"Player_Available",4,218,-35.845078,43.309853,54.154922,93.309853,0.000000,"Player Available"};
item4[] = {"Fired_Event_Hand",2,4346,-33.732395,108.098587,56.267620,158.098587,0.000000,"Fired Event Handler"};
item5[] = {"Null",8,218,-31.244549,175.698044,58.755451,225.698044,0.000000,"Null"};
item6[] = {"Updating_AllUnit",2,250,-31.899563,256.659393,58.100452,306.659546,0.000000,"Updating AllUnitsArray"};
item7[] = {"New_Units_Added",4,218,110.895172,254.694244,200.895187,304.694244,0.000000,"New Units Added?"};
item8[] = {"New_Units_Fire_E",2,250,257.620087,257.969421,347.620117,307.969421,0.000000,"New Units Fire EventHandler"};
item9[] = {"Null",8,218,256.310059,172.816574,346.310059,222.816574,0.000000,"Null"};
item10[] = {"New_AllUnitsArra",2,250,111.550217,175.436661,201.550232,225.436661,0.000000,"New AllUnitsArray"};
link0[] = {0,1};
link1[] = {1,2};
link2[] = {2,3};
link3[] = {3,4};
link4[] = {4,5};
link5[] = {5,6};
link6[] = {6,5};
link7[] = {6,7};
link8[] = {7,8};
link9[] = {8,9};
link10[] = {9,10};
link11[] = {10,5};
globals[] = {0.000000,0,0,0,0,640,480,1,12,6316128,1,-67.211830,342.320007,456.102783,-34.664097,610,731,1};
window[] = {2,-1,-1,-32000,-32000,800,175,1375,175,3,628};
*//*%FSM</HEAD>*/
class FSM
{
 fsmName = "FFUR_init";
 class States
 {
   /*%FSM<STATE "Start">*/
   class Start
   {
     name = "Start";
     init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "Single_Player_On">*/
       class Single_Player_On
       {
         priority = 0.000000;
         to="Null";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/"!isMultiPlayer"/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
   /*%FSM<STATE "Null">*/
   class Null
   {
     name = "Null";
     init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "Player_Available">*/
       class Player_Available
       {
         priority = 0.000000;
         to="Fired_Event_Hand";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/"!isNull Player"/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
   /*%FSM<STATE "Fired_Event_Hand">*/
   class Fired_Event_Hand
   {
     name = "Fired_Event_Hand";
     init = /*%FSM<STATEINIT""">*/"Private [""_AllUnitsArray"",""_list"",""_WhichVoice"",""_SayWhat"",""_Can_Be_Heard""];" \n
      "_AllUnitsArray = AllUnits;" \n
      "{_x addEventHandler [""Fired"",{" \n
      "         if (isPlayer (_this select 0)) then {" \n
      "                                               switch (side (_this select 0)) do {" \n
      "                                                             case west: {" \n
      "                                                              _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                              if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                              _list = (_list - [_this select 0]);" \n
      "                                                              if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                              _WhichVoice = (floor (random (count FFUR_Voice_Collection)));" \n
      "                                                              _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                             if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                             cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                             (_this select 0) say (FFUR_Voice_Collection select _WhichVoice);" \n
      "                                                                                        if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                   null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response.fsm"";" \n
      "                                                                                        };" \n
      "                                                                             };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                             case east: {" \n
      "                                                              _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                              if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                              _list = (_list - [_this select 0]);" \n
      "                                                              if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                              _WhichVoice = (floor (random (count FFUR_R_Voice)));" \n
      "                                                              _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                             if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                             cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                             (_this select 0) say (FFUR_R_Voice select _WhichVoice);" \n
      "                                                                                        if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                   null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response2.fsm"";" \n
      "                                                                                        };" \n
      "                                                                             };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                              default {" \n
      "                                                              _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                              if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                              _list = (_list - [_this select 0]);" \n
      "                                                              if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                              _WhichVoice = (floor (random (count FFUR_Voice_Collection)));" \n
      "                                                              _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                             if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                             cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                             (_this select 0) say (FFUR_Voice_Collection select _WhichVoice);" \n
      "                                                                                        if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                   null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response.fsm"";" \n
      "                                                                                        };" \n
      "                                                                             };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                              };" \n
      "                                                 };" \n
      "                       switch (true) do {" \n
      "                                    case ((_this select 1) in FFUR_M16Base):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A4.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M16A2Base):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A2.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_FN_FAL):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_FNFAL.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_Pistol):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_Pistol.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M4A1):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M4A1.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M4A3):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M4A3.fsm"";" \n
      "                                     };" \n
      "                                    default " \n
      "                                     {" \n
      "                                     null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A4.fsm"";" \n
      "                                     };" \n
      "                       };" \n
      "         } else {" \n
      "                       if ((_this select 0) distance player <= FFUR_Infantry_FX_Distance) then {" \n
      "                                             if (FFUR_Infantry_FX_Distance > 0) then {" \n
      "                                                                _Can_Be_Heard = FFUR_Infantry_FX_Distance*0.4;" \n
      "                                                                if ((_this select 0) distance player <= _Can_Be_Heard) then {" \n
      "                                                                             switch (side (_this select 0)) do {" \n
      "                                                                             case west: {" \n
      "                                                                            _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                                            if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                                           _list = (_list - [_this select 0]);" \n
      "                                                                            if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                                           _WhichVoice = (floor (random (count FFUR_Voice_Collection)));" \n
      "                                                                           _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                                       if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                                       cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                                      (_this select 0) say (FFUR_Voice_Collection select _WhichVoice);" \n
      "                                                                                                   if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                              null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response.fsm"";" \n
      "                                                                                                   };" \n
      "                                                                                        };" \n
      "                                                                             };" \n
      "                                                                             };" \n
      "                                                                              };" \n
      "                                                                             case east: {" \n
      "                                                                                        _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                                                         if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                                                              _list = (_list - [_this select 0]);" \n
      "                                                                                                if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                                                               _WhichVoice = (floor (random (count FFUR_R_Voice)));" \n
      "                                                                                                _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                                                if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                                                 cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                                               (_this select 0) say (FFUR_R_Voice select _WhichVoice);" \n
      "                                                                                                if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                       null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response2.fsm"";" \n
      "                                                                                                 };" \n
      "                                                                                                 };" \n
      "                                                                                                 };" \n
      "                                                                                         };" \n
      "                                                                             };" \n
      "                                                                             default {" \n
      "                                                                                                _list = (position  (_this select 0)) nearEntities [[""Man""],FFUR_Infantry_Talking_Distance];" \n
      "                                                                                                 if (({alive _x} count (_list - [_this select 0])) > 0) then {" \n
      "                                                                                                 _list = (_list - [_this select 0]);" \n
      "                                                                                                  if (({(side _x) == (side (_this select 0))} count _list) > 0) then {" \n
      "                                                                                                 _WhichVoice = (floor (random (count FFUR_Voice_Collection)));" \n
      "                                                                                                  _SayWhat =  (floor (random (count FFUR_Sentence_Collection)));" \n
      "                                                                                                 if (FFUR_Talking_Possibility > (ceil (random 100))) then {" \n
      "                                                                                                 cutText [name (_this select 0) + "":"" + "" "" + (FFUR_Sentence_Collection select _SayWhat),""PLAIN DOWN""];" \n
      "                                                                                                 (_this select 0) say (FFUR_Voice_Collection select _WhichVoice);" \n
      "                                                                                                  if ((FFUR_Response_Possibility > (ceil (random 100))) && (alive (_list select 0))) then {" \n
      "                                                                                                            null = [(_List select 0)] execfsm ""FFUR\FFUR_engine\FFUR_Response.fsm"";" \n
      "                                                                                                  };" \n
      "                                                                                                  };" \n
      "                                                                                                  };" \n
      "                                                                                                  };" \n
      "                                                                              };" \n
      "                                                                              };" \n
      "                                                                };" \n
      "                                             };" \n
      "                       };" \n
      "                       switch (true) do {" \n
      "                                    case ((_this select 1) in FFUR_M16Base):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A4.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M16A2Base):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A2.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_FN_FAL):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_FNFAL.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_Pistol):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_Pistol.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M4A1):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M4A1.fsm"";" \n
      "                                     };" \n
      "                                    case ((_this select 1) in FFUR_M4A3):" \n
      "                                    {" \n
      "                                                 null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M4A3.fsm"";" \n
      "                                     };" \n
      "                                    default" \n
      "                                    {" \n
      "                                     null = [_this select 6] execfsm ""FFUR\FFUR_FX\FFUR_FX_M16A4.fsm"";" \n
      "                                    };" \n
      "                       };" \n
      "         };" \n
      "}];} ForEach _AllUnitsArray;" \n
      "{(vehicle _x) addEventHandler [""Fired"",{}];} ForEach _AllUnitsArray;" \n
      ""/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "Null">*/
       class Null
       {
         priority = 0.000000;
         to="Updating_AllUnit";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
   /*%FSM<STATE "Updating_AllUnit">*/
   class Updating_AllUnit
   {
     name = "Updating_AllUnit";
     init = /*%FSM<STATEINIT""">*/"_AllUnitsArray = _AllUnitsArray - AllDead;"/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "New_Units_Added">*/
       class New_Units_Added
       {
         priority = 0.000000;
         to="New_Units_Fire_E";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/"(count (AllUnits - _AllUnitsArray)) > 0"/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
       /*%FSM<LINK "Null">*/
       class Null
       {
         priority = 0.000000;
         to="Updating_AllUnit";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
   /*%FSM<STATE "New_Units_Fire_E">*/
   class New_Units_Fire_E
   {
     name = "New_Units_Fire_E";
     init = /*%FSM<STATEINIT""">*/"{_x addEventHandler [""Fired"",{}];} ForEach (AllUnits - _AllUnitsArray);" \n
      "{(vehicle _x) addEventHandler [""Fired"",{}];} ForEach (AllUnits - _AllUnitsArray);"/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "Null">*/
       class Null
       {
         priority = 0.000000;
         to="New_AllUnitsArra";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
   /*%FSM<STATE "New_AllUnitsArra">*/
   class New_AllUnitsArra
   {
     name = "New_AllUnitsArra";
     init = /*%FSM<STATEINIT""">*/"_AllUnitsArray = AllUnits;"/*%FSM</STATEINIT""">*/;
     precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
     class Links
     {
       /*%FSM<LINK "Null">*/
       class Null
       {
         priority = 0.000000;
         to="Updating_AllUnit";
         precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
         condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
         action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
       };
       /*%FSM</LINK>*/
     };
   };
   /*%FSM</STATE>*/
 };
 initState="Start";
 finalStates[] =
 {
 };
};
/*%FSM</COMPILE>*/

On the contrary, I find everything will be okay if the content inside a single state being deleted somehow.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×