2015-08-31 20:43:55 +00:00
|
|
|
/*%FSM<COMPILE "scriptedFSM.cfg, missions">*/
|
2015-08-29 01:58:25 +00:00
|
|
|
/*%FSM<HEAD>*/
|
|
|
|
/*
|
2015-09-01 17:28:06 +00:00
|
|
|
item0[] = {"",7,210,743.923157,366.553040,751.923157,374.553040,0.000000,""};
|
|
|
|
item1[] = {"INIT",0,250,499.929565,-106.207787,589.929565,-56.207787,0.000000,"INIT"};
|
|
|
|
item2[] = {"true",8,218,758.881348,3.975540,858.881348,53.975540,0.000000,"true"};
|
|
|
|
item3[] = {"Waiting",2,250,758.881226,84.582077,858.881226,134.582092,0.000000,"Waiting"};
|
|
|
|
item4[] = {"",7,210,518.910339,366.553040,526.910339,374.553040,0.000000,""};
|
|
|
|
item5[] = {"__5_sec_loop_",4,218,547.923096,174.999939,647.923096,224.999939,1.000000,"15 sec loop" \n ""};
|
|
|
|
item6[] = {"Check_Mission_Running",2,250,547.923035,248.598328,647.923035,298.598328,0.000000,"Check Mission" \n "Running" \n "Status"};
|
|
|
|
item7[] = {"",7,210,518.897522,321.700806,526.897522,329.700806,0.000000,""};
|
|
|
|
item8[] = {"___min_loop_1",4,218,702.828857,170.094177,792.828857,220.094177,2.000000,"5 min loop"};
|
|
|
|
item9[] = {"",7,210,518.897522,24.975555,526.897522,32.975555,0.000000,""};
|
|
|
|
item10[] = {"",7,210,593.923096,366.553040,601.923096,374.553040,0.000000,""};
|
|
|
|
item11[] = {"Mission_Cleanup",2,250,697.923035,248.598328,797.923035,298.598328,0.000000,"Mission Cleanup"};
|
|
|
|
item12[] = {"INITIALIZE",4,218,638.875183,-106.463760,728.875183,-56.463760,0.000000,"INITIALIZE"};
|
|
|
|
item13[] = {"PREPARE",2,250,763.528931,-107.864372,853.528931,-57.864372,0.000000,"PREPARE"};
|
|
|
|
item14[] = {"___min_loop",4,218,838.578918,171.729218,928.578918,221.729218,3.000000,"1 min loop"};
|
|
|
|
item15[] = {"Select_Mission",2,250,839.279602,248.118042,929.279663,298.118042,0.000000,"Select Mission"};
|
|
|
|
item16[] = {"",7,210,880.582092,366.639160,888.582092,374.639160,0.000000,""};
|
2015-09-01 19:33:28 +00:00
|
|
|
item17[] = {"__min_loop",4,218,975.237671,175.934219,1065.237793,225.934219,0.000000,"5min loop"};
|
2015-09-01 19:15:34 +00:00
|
|
|
item18[] = {"Set_AI_Ownership",2,250,975.237732,250.921417,1065.237305,300.921417,0.000000,"Set AI Ownership"};
|
2015-09-01 17:28:06 +00:00
|
|
|
item19[] = {"",7,210,1016.540222,366.725281,1024.540283,374.725281,0.000000,""};
|
2015-08-29 01:58:25 +00:00
|
|
|
link0[] = {0,10};
|
2015-08-31 06:18:11 +00:00
|
|
|
link1[] = {1,12};
|
2015-08-29 01:58:25 +00:00
|
|
|
link2[] = {2,3};
|
|
|
|
link3[] = {3,5};
|
|
|
|
link4[] = {3,8};
|
2015-08-31 06:18:11 +00:00
|
|
|
link5[] = {3,14};
|
2015-09-01 17:28:06 +00:00
|
|
|
link6[] = {3,17};
|
|
|
|
link7[] = {4,7};
|
|
|
|
link8[] = {5,6};
|
|
|
|
link9[] = {6,10};
|
|
|
|
link10[] = {7,9};
|
|
|
|
link11[] = {8,11};
|
|
|
|
link12[] = {9,2};
|
|
|
|
link13[] = {10,4};
|
|
|
|
link14[] = {11,0};
|
|
|
|
link15[] = {12,13};
|
|
|
|
link16[] = {13,2};
|
|
|
|
link17[] = {14,15};
|
|
|
|
link18[] = {15,16};
|
|
|
|
link19[] = {16,0};
|
|
|
|
link20[] = {17,18};
|
|
|
|
link21[] = {18,19};
|
|
|
|
link22[] = {19,16};
|
2015-09-01 19:15:34 +00:00
|
|
|
globals[] = {0.000000,0,0,0,0,640,480,2,454,6316128,1,70.838631,1581.788208,823.258911,-305.297394,1217,909,1};
|
|
|
|
window[] = {2,-1,-1,-1,-1,890,156,1450,156,3,1235};
|
2015-08-29 01:58:25 +00:00
|
|
|
*//*%FSM</HEAD>*/
|
|
|
|
class FSM
|
|
|
|
{
|
2015-08-31 20:43:55 +00:00
|
|
|
fsmName = "missions";
|
|
|
|
class States
|
2015-08-29 01:58:25 +00:00
|
|
|
{
|
2015-08-31 20:43:55 +00:00
|
|
|
/*%FSM<STATE "INIT">*/
|
|
|
|
class INIT
|
|
|
|
{
|
|
|
|
name = "INIT";
|
|
|
|
itemno = 1;
|
|
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "INITIALIZE">*/
|
|
|
|
class INITIALIZE
|
|
|
|
{
|
|
|
|
itemno = 12;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="PREPARE";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"!isnil ""bis_fnc_init"""/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "Waiting">*/
|
|
|
|
class Waiting
|
|
|
|
{
|
|
|
|
name = "Waiting";
|
|
|
|
itemno = 3;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"// Waiting for next task to proceed with."/*%FSM</STATEINIT""">*/;
|
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "___min_loop">*/
|
|
|
|
class ___min_loop
|
|
|
|
{
|
|
|
|
itemno = 14;
|
|
|
|
priority = 3.000000;
|
|
|
|
to="Select_Mission";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _selectMission) > 60)" \n
|
|
|
|
""/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
/*%FSM<LINK "___min_loop_1">*/
|
|
|
|
class ___min_loop_1
|
|
|
|
{
|
|
|
|
itemno = 8;
|
|
|
|
priority = 2.000000;
|
|
|
|
to="Mission_Cleanup";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _cleanupTime) > 300)"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/"_missionsMonitor = time;"/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
/*%FSM<LINK "__5_sec_loop_">*/
|
|
|
|
class __5_sec_loop_
|
|
|
|
{
|
|
|
|
itemno = 5;
|
|
|
|
priority = 1.000000;
|
|
|
|
to="Check_Mission_Running";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _missionsMonitor) > 15)"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
2015-09-01 19:33:28 +00:00
|
|
|
/*%FSM<LINK "__min_loop">*/
|
|
|
|
class __min_loop
|
2015-09-01 17:28:06 +00:00
|
|
|
{
|
|
|
|
itemno = 17;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Set_AI_Ownership";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
2015-09-01 19:15:34 +00:00
|
|
|
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _aiLocality) > 300)"/*%FSM</CONDITION""">*/;
|
2015-09-01 17:28:06 +00:00
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
2015-08-31 20:43:55 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "Check_Mission_Running">*/
|
|
|
|
class Check_Mission_Running
|
|
|
|
{
|
|
|
|
name = "Check_Mission_Running";
|
|
|
|
itemno = 6;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"if(DMS_DEBUG) then {" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
" diag_log format [""DMS_DEBUG FSM CHECK :: calling DMS_fnc_MissionsMonitor""];" \n
|
2015-08-31 20:43:55 +00:00
|
|
|
"};" \n
|
|
|
|
"" \n
|
|
|
|
"_missionsMonitor = diag_tickTime;" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
"call DMS_fnc_MissionsMonitor;"/*%FSM</STATEINIT""">*/;
|
2015-08-31 20:43:55 +00:00
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "true">*/
|
|
|
|
class true
|
|
|
|
{
|
|
|
|
itemno = 2;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Waiting";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "Mission_Cleanup">*/
|
|
|
|
class Mission_Cleanup
|
|
|
|
{
|
|
|
|
name = "Mission_Cleanup";
|
|
|
|
itemno = 11;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"if(DMS_DEBUG) then {" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
" diag_log format [""DMS_DEBUG FSM CHECK :: calling DMS_fnc_CleanUpManager""];" \n
|
2015-08-31 20:43:55 +00:00
|
|
|
"};" \n
|
|
|
|
"" \n
|
|
|
|
"_cleanupTime = diag_tickTime;" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
"call DMS_fnc_CleanUpManager;"/*%FSM</STATEINIT""">*/;
|
2015-08-31 20:43:55 +00:00
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "true">*/
|
|
|
|
class true
|
|
|
|
{
|
|
|
|
itemno = 2;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Waiting";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "PREPARE">*/
|
|
|
|
class PREPARE
|
|
|
|
{
|
|
|
|
name = "PREPARE";
|
|
|
|
itemno = 13;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"private [""_missionsMonitor"",""_cleanupTime"",""_selectMission""];" \n
|
|
|
|
"diag_log (""DMS :: Initializing FSM mission script"");" \n
|
|
|
|
"" \n
|
|
|
|
"_missionsMonitor = diag_tickTime;" \n
|
|
|
|
"_cleanupTime = diag_tickTime;" \n
|
2015-09-01 17:28:06 +00:00
|
|
|
"_selectMission = diag_tickTime;" \n
|
2015-09-01 19:15:34 +00:00
|
|
|
"_aiLocality = diag_tickTime;"/*%FSM</STATEINIT""">*/;
|
2015-08-31 20:43:55 +00:00
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "true">*/
|
|
|
|
class true
|
|
|
|
{
|
|
|
|
itemno = 2;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Waiting";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "Select_Mission">*/
|
|
|
|
class Select_Mission
|
|
|
|
{
|
|
|
|
name = "Select_Mission";
|
|
|
|
itemno = 15;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"if(DMS_DEBUG) then {" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
" diag_log format [""DMS_DEBUG FSM CHECK :: calling DMS_fnc_SelectMission""];" \n
|
2015-08-31 20:43:55 +00:00
|
|
|
"};" \n
|
|
|
|
"" \n
|
|
|
|
"_selectMission = diag_tickTime;" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
"call DMS_fnc_SelectMission;"/*%FSM</STATEINIT""">*/;
|
2015-08-31 20:43:55 +00:00
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
2015-09-01 17:28:06 +00:00
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "true">*/
|
|
|
|
class true
|
|
|
|
{
|
|
|
|
itemno = 2;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Waiting";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
|
|
|
/*%FSM<STATE "Set_AI_Ownership">*/
|
|
|
|
class Set_AI_Ownership
|
|
|
|
{
|
|
|
|
name = "Set_AI_Ownership";
|
|
|
|
itemno = 18;
|
|
|
|
init = /*%FSM<STATEINIT""">*/"if(DMS_DEBUG) then {" \n
|
2015-09-10 17:44:13 +00:00
|
|
|
" diag_log format [""DMS_DEBUG FSM CHECK :: calling DMS_fnc_AILocalityManager""];" \n
|
2015-09-01 17:28:06 +00:00
|
|
|
"};" \n
|
|
|
|
"" \n
|
2015-09-01 19:15:34 +00:00
|
|
|
"_aiLocality = diag_tickTime;" \n
|
2015-09-05 03:40:00 +00:00
|
|
|
"call DMS_fnc_AILocalityManager;"/*%FSM</STATEINIT""">*/;
|
2015-09-01 17:28:06 +00:00
|
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
2015-08-31 20:43:55 +00:00
|
|
|
class Links
|
|
|
|
{
|
|
|
|
/*%FSM<LINK "true">*/
|
|
|
|
class true
|
|
|
|
{
|
|
|
|
itemno = 2;
|
|
|
|
priority = 0.000000;
|
|
|
|
to="Waiting";
|
|
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
|
|
};
|
|
|
|
/*%FSM</LINK>*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</STATE>*/
|
2015-08-29 01:58:25 +00:00
|
|
|
};
|
2015-08-31 20:43:55 +00:00
|
|
|
initState="INIT";
|
|
|
|
finalStates[] =
|
2015-08-29 01:58:25 +00:00
|
|
|
{
|
|
|
|
};
|
|
|
|
};
|
|
|
|
/*%FSM</COMPILE>*/
|