/*%FSM*/ /*%FSM*/ /* 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*/ class FSM { fsmName = "mission control server"; class States { /*%FSM*/ class mission_control { name = "mission_control"; init = /*%FSM*/"_clientCmd = [];" \n "_plyrArr = [];" \n "" \n "//Vars" \n "_plyArrTmp = [];" \n "" \n "//Held Var" \n "_tmpVar = [];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="start"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class start { name = "start"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class wait { priority = 0.000000; to="commands"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count _clientCmd > 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class commands { name = "commands"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class __ { priority = 0.000000; to="remove_player"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_clientCmd select 1 == 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class ___1 { priority = 0.000000; to="hold_var"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_clientCmd select 1 == 2"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class ___2 { priority = 0.000000; to="add_player"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_clientCmd select 1 == 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class end { name = "end"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class add_player { name = "add_player"; init = /*%FSM*/"_plyrArr pushBack [_clientCmd select 0,_clientCmd select 2, _clientCmd select 3];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="check_players"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class clean_up { name = "clean_up"; init = /*%FSM*/"_clientCmd = [];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class continue { priority = 10.000000; to="start"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count _plyrArr > 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class end { priority = 5.000000; to="end"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count _plyrArr < 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class remove_player { name = "remove_player"; init = /*%FSM*/"_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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="check_players"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class check_players { name = "check_players"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="client_command_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class client_command_ { name = "client_command_"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="clean_up"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class hold_var { name = "hold_var"; init = /*%FSM*/"if( in _plyrArr)then{" \n "" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="check_players"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ }; initState="mission_control"; finalStates[] = { "end", }; }; /*%FSM*/