mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
30edcfb449
Update for task system.
315 lines
11 KiB
Plaintext
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>*/ |