95 lines
3.6 KiB
Plaintext
95 lines
3.6 KiB
Plaintext
/*%FSM<COMPILE "D:\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Life Client FSM">*/
|
|
/*%FSM<HEAD>*/
|
|
/*
|
|
item0[] = {"Main_Init",0,250,-40.348839,-141.279068,49.651161,-91.279068,0.000000,"Main Init"};
|
|
item1[] = {"true",8,218,-39.994308,-65.712906,50.005692,-15.712896,0.000000,"true"};
|
|
item2[] = {"Split",2,4346,-39.994308,10.874098,50.005707,60.874100,0.000000,"Split"};
|
|
item3[] = {"Time_to_pay_",4,218,-168.727005,-14.470595,-78.726974,35.529457,0.000000,"Time to pay?"};
|
|
link0[] = {0,1};
|
|
link1[] = {1,2};
|
|
link2[] = {2,3};
|
|
link3[] = {3,2};
|
|
globals[] = {0.000000,0,0,0,0,640,480,1,26,6316128,1,-456.200378,358.065338,379.837494,-151.171021,1032,673,1};
|
|
window[] = {0,-1,-1,-1,-1,893,75,1515,75,1,1050};
|
|
*//*%FSM</HEAD>*/
|
|
class FSM
|
|
{
|
|
fsmName = "Life Client FSM";
|
|
class States
|
|
{
|
|
/*%FSM<STATE "Main_Init">*/
|
|
class Main_Init
|
|
{
|
|
name = "Main_Init";
|
|
init = /*%FSM<STATEINIT""">*/"private [""_lastcheck"",""_food"",""_water"",""_lastsync""];" \n
|
|
"_lastcheck = time;" \n
|
|
"_food = time;" \n
|
|
"_water = time;" \n
|
|
"_lastsync = time;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Split";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Split">*/
|
|
class Split
|
|
{
|
|
name = "Split";
|
|
init = /*%FSM<STATEINIT""">*/"systemChat format [localize ""STR_FSM_Paycheck"",(getNumber(missionConfigFile >> ""Life_Settings"" >> ""paycheck_period""))];"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Time_to_pay_">*/
|
|
class Time_to_pay_
|
|
{
|
|
priority = 0.000000;
|
|
to="Split";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"(time - _lastcheck) > ((getNumber(missionConfigFile >> ""Life_Settings"" >> ""paycheck_period"")) * 60)"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"if (!alive player) then {" \n
|
|
" systemChat localize ""STR_FSM_MissedPay"";" \n
|
|
"} else {" \n
|
|
" if (player distance (getMarkerPos ""fed_reserve"") < 120 && playerSide isEqualTo west) then {" \n
|
|
" systemChat format [localize ""STR_FSM_ReceivedPay"",[(call life_paycheck) + 1500] call life_fnc_numberText];" \n
|
|
" life_atmbank = life_atmbank + (call life_paycheck) + 1500;" \n
|
|
" } else {" \n
|
|
" life_atmbank = life_atmbank + (call life_paycheck);" \n
|
|
" systemChat format [localize ""STR_FSM_ReceivedPay"",[(call life_paycheck)] call life_fnc_numberText];" \n
|
|
" };" \n
|
|
"};" \n
|
|
"" \n
|
|
"_lastcheck = time;" \n
|
|
"" \n
|
|
"//Group clean (Local)" \n
|
|
"{" \n
|
|
" if (local _x && {(units _x isEqualTo [])}) then {" \n
|
|
" deleteGroup _x;" \n
|
|
" };" \n
|
|
"} forEach allGroups;" \n
|
|
"" \n
|
|
"" \n
|
|
""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
};
|
|
initState="Main_Init";
|
|
finalStates[] =
|
|
{
|
|
};
|
|
};
|
|
/*%FSM</COMPILE>*/
|