Epoch/Sources/epoch_server/system/mission_control.fsm
Andrew Gregory 30edcfb449 Task Mission System
Update for task system.
2016-05-31 16:28:07 +01:00

315 lines
11 KiB
Plaintext

/*%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>*/