/*%FSM<COMPILE "C:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, mission control server">*/
/*%FSM<HEAD>*/
/*
item0[] = {"mission_control",0,4346,-225.000000,-400.000000,-125.000000,-350.000000,0.000000,"mission control"};
item1[] = {"_",8,218,-225.000000,-300.000000,-125.000000,-250.000000,0.000000,""};
item2[] = {"start",2,250,-225.000000,-225.000000,-125.000000,-175.000000,0.000000,"start"};
item3[] = {"wait",4,218,-100.000000,-225.000000,0.000000,-175.000000,0.000000,"wait"};
item4[] = {"commands",2,250,-100.000000,-100.000000,0.000000,-50.000000,0.000000,"commands"};
item5[] = {"continue",4,218,-225.000000,-100.000000,-125.000000,-50.000000,10.000000,"continue"};
item6[] = {"end",4,218,-350.000000,25.000000,-250.000000,75.000000,5.000000,"end"};
item7[] = {"___2",4,218,25.000000,-225.000000,125.000000,-175.000000,0.000000,"0"};
item8[] = {"end",1,250,-350.000000,-100.000000,-250.000000,-50.000000,0.000000,"end"};
item9[] = {"add_player",2,250,150.000000,-225.000000,250.000000,-175.000000,0.000000,"add player"};
item10[] = {"clean_up",2,250,-225.000000,25.000000,-125.000000,75.000000,0.000000,"clean up"};
item11[] = {"__",4,218,25.000000,-150.000000,125.000000,-100.000000,0.000000,"1"};
item12[] = {"remove_player",2,250,150.000000,-150.000000,250.000000,-100.000000,0.000000,"remove player"};
item13[] = {"",7,210,296.000000,46.000000,304.000000,54.000000,0.000000,""};
item14[] = {"",7,210,296.000000,-204.000000,304.000000,-196.000000,0.000000,""};
item15[] = {"",7,210,296.000000,-129.000000,304.000000,-120.999992,0.000000,""};
item16[] = {"",7,210,296.000000,46.000000,304.000000,54.000000,0.000000,""};
item17[] = {"_",8,218,150.000000,25.000000,250.000000,75.000000,0.000000,""};
item18[] = {"check_players",2,250,150.000000,125.000000,250.000000,175.000000,0.000000,"check players"};
item19[] = {"_",8,218,25.000000,25.000000,125.000000,75.000000,0.000000,""};
item20[] = {"_",8,218,-100.000000,25.000000,0.000000,75.000000,0.000000,""};
item21[] = {"client_command_",2,250,25.000000,125.000000,125.000000,175.000000,0.000000,"client" \n "command / messages"};
item22[] = {"___1",4,218,25.000000,-81.163773,124.999992,-31.163784,0.000000,"2"};
item23[] = {"hold_var",2,250,149.999969,-81.163773,249.999969,-31.163784,0.000000,"hold var"};
link0[] = {0,1};
link1[] = {1,2};
link2[] = {2,3};
link3[] = {3,4};
link4[] = {4,7};
link5[] = {4,11};
link6[] = {4,22};
link7[] = {5,2};
link8[] = {6,8};
link9[] = {7,9};
link10[] = {9,14};
link11[] = {10,5};
link12[] = {10,6};
link13[] = {11,12};
link14[] = {12,15};
link15[] = {14,15};
link16[] = {15,16};
link17[] = {16,17};
link18[] = {17,18};
link19[] = {18,19};
link20[] = {19,21};
link21[] = {20,10};
link22[] = {21,20};
link23[] = {22,23};
link24[] = {23,15};
globals[] = {0.000000,0,0,0,0,640,480,1,319,6316128,1,-356.228333,361.065094,273.349731,-454.917542,719,730,1};
window[] = {2,-1,-1,-32000,-32000,733,208,1233,208,3,737};
*//*%FSM</HEAD>*/
class FSM
{
  fsmName = "mission control server";
  class States
  {
    /*%FSM<STATE "mission_control">*/
    class mission_control
    {
      name = "mission_control";
      init = /*%FSM<STATEINIT""">*/"_clientCmd = [];" \n
       "_plyrArr = [];" \n
       "" \n
       "//Vars" \n
       "_plyArrTmp = [];" \n
       "" \n
       "//Held Var" \n
       "_tmpVar = [];"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="start";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "start">*/
    class start
    {
      name = "start";
      init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "wait">*/
        class wait
        {
          priority = 0.000000;
          to="commands";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"count _clientCmd > 0"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "commands">*/
    class commands
    {
      name = "commands";
      init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "__">*/
        class __
        {
          priority = 0.000000;
          to="remove_player";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"_clientCmd select 1 == 1"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "___1">*/
        class ___1
        {
          priority = 0.000000;
          to="hold_var";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"_clientCmd select 1 == 2"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "___2">*/
        class ___2
        {
          priority = 0.000000;
          to="add_player";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"_clientCmd select 1 == 0"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "end">*/
    class end
    {
      name = "end";
      init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "add_player">*/
    class add_player
    {
      name = "add_player";
      init = /*%FSM<STATEINIT""">*/"_plyrArr pushBack [_clientCmd select 0,_clientCmd select 2, _clientCmd select 3];"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="check_players";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "clean_up">*/
    class clean_up
    {
      name = "clean_up";
      init = /*%FSM<STATEINIT""">*/"_clientCmd = [];"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "continue">*/
        class continue
        {
          priority = 10.000000;
          to="start";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"count _plyrArr > 0"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "end">*/
        class end
        {
          priority = 5.000000;
          to="end";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"count _plyrArr < 1"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "remove_player">*/
    class remove_player
    {
      name = "remove_player";
      init = /*%FSM<STATEINIT""">*/"_plyrArrTmp = +_plyrArr;" \n
       "_plyrArr = [];" \n
       "{" \n
       "	if!(_x select 0 == _clientCmd select 0)then{" \n
       "	_plyrArr pushBack _x;" \n
       "	};" \n
       "}forEach _plyrArrTmp;" \n
       "_plyrArrTmp = [];" \n
       ""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="check_players";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "check_players">*/
    class check_players
    {
      name = "check_players";
      init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="client_command_";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "client_command_">*/
    class client_command_
    {
      name = "client_command_";
      init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="clean_up";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "hold_var">*/
    class hold_var
    {
      name = "hold_var";
      init = /*%FSM<STATEINIT""">*/"if( in _plyrArr)then{" \n
       "" \n
       "};"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "_">*/
        class _
        {
          priority = 0.000000;
          to="check_players";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
  };
  initState="mission_control";
  finalStates[] =
  {
    "end",
  };
};
/*%FSM</COMPILE>*/