Files
DayZ-Epoch/SQF/dayz_code/system/player_monitor.fsm
ebayShopper 42e00475d6 Add sender verification to publish and swap object
Continuation of 8035df0

This is important to have on publish to identify cheaters who spam
create objects in the database or create objects with bad inventory.

- Renamed variables to backport to vanilla
- Removed % and & due to code filtering in publicvariableval.txt

Changes in modular_build.sqf were the same as player_build.sqf.

Tested with building, upgrading buildable/vehicle/tent, downgrading,
buying a vehicle, destroying tent and removing an object.
2017-11-03 16:09:14 -04:00

2036 lines
119 KiB
Plaintext

/*%FSM<COMPILE "C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, DayZ Player Monitor">*/
/*%FSM<HEAD>*/
/*
item0[] = {"init",0,250,-75.000000,-200.000000,25.000000,-150.000000,0.000000,"init"};
item1[] = {"isServer",4,218,50.000000,-200.000000,150.000000,-150.000000,0.000000,"isServer"};
item2[] = {"wait",2,250,50.000000,-125.000000,150.000000,-75.000000,0.000000,"wait"};
item3[] = {"Allow_Connection",4,218,50.000000,-50.000000,150.000000,0.000000,0.000000,"Allow" \n "Connection"};
item4[] = {"Loading",2,250,-75.000000,-50.000000,25.000000,0.000000,0.000000,"Loading"};
item5[] = {"Client",4,218,-75.000000,-125.000000,25.000000,-75.000000,0.000000,"Client"};
item6[] = {"player____null_player",4,218,-175.000000,100.000000,-75.000000,150.000000,0.000000,"player != null" \n "player == player"};
item7[] = {"Collect",2,250,-75.000000,150.000000,25.000000,200.000000,0.000000,"Collect"};
item8[] = {"Has_PlayerID",4,218,-175.000000,200.000000,-75.000000,250.000000,1.000000,"Has PlayerID"};
item9[] = {"no_PlayerID",4,218,125.000000,150.000000,225.000000,200.000000,2.000000,"no PlayerID"};
item10[] = {"ERROR__No_Player",2,250,325.000000,150.000000,425.000000,200.000000,0.000000,"ERROR:" \n "No PlayerID"};
item11[] = {"Request",2,250,-75.000000,350.000000,25.000000,400.000000,0.000000,"Request"};
item12[] = {"Response",4,218,-175.000000,400.000000,-75.000000,450.000000,0.000000,"Response"};
item13[] = {"Parse_Login",2,250,-66.532227,557.409241,33.467773,607.409241,0.000000,"Parse Login"};
item14[] = {"Hive_Bad",4,218,125.000000,550.000000,225.000000,600.000000,10.000000,"Hive" \n "Bad"};
item15[] = {"ERROR__Wrong_HIVE",2,250,325.000000,550.000000,425.000000,600.000000,0.000000,"ERROR:" \n "Wrong HIVE" \n "Version"};
item16[] = {"Character_Setup",4,218,-175.000000,600.000000,-75.000000,650.000000,0.000000,"Character" \n "Setup"};
item17[] = {"Phase_One",2,250,-75.000000,650.000000,25.000000,700.000000,0.000000,"Phase One"};
item18[] = {"Response",4,218,-175.000000,700.000000,-75.000000,750.000000,0.000000,"Response"};
item19[] = {"Phase_Two",2,4346,-75.000000,750.000000,25.000000,800.000000,0.000000,"Phase Two"};
item20[] = {"Dead_Player",4,218,125.000000,750.000000,225.000000,800.000000,0.000000,"Dead" \n "Player"};
item21[] = {"ERROR__Player_Already",2,250,325.000000,750.000000,425.000000,800.000000,0.000000,"ERROR:" \n "Player Already" \n "Dead"};
item22[] = {"Alive",4,218,-175.000000,800.000000,-75.000000,850.000000,0.000000,"Alive"};
item23[] = {"Position",2,250,-75.000000,850.000000,25.000000,900.000000,0.000000,"Position"};
item24[] = {"Version_Ok",4,218,-175.000000,900.000000,-75.000000,950.000000,0.000000,"Version" \n "Ok"};
item25[] = {"Load_In",2,250,-75.000000,1150.000000,25.000000,1200.000000,0.000000,"Load In"};
item26[] = {"Bad_Version",4,218,125.000000,850.000000,225.000000,900.000000,0.000000,"Bad" \n "Version"};
item27[] = {"ERROR__Bad_Versi",2,250,325.000000,850.000000,425.000000,900.000000,0.000000,"ERROR:" \n "Bad Version"};
item28[] = {"Display_Ready",4,218,-175.000000,1200.000000,-75.000000,1250.000000,0.000000,"Display" \n "Ready"};
item29[] = {"Preload_Display",2,250,-75.000000,1250.000000,25.000000,1300.000000,0.000000,"Preload" \n "Display"};
item30[] = {"Preload_Done",4,218,-175.000000,1300.000000,-75.000000,1350.000000,0.000000,"Preload" \n "Done"};
item31[] = {"Initialize",2,250,-75.000000,1350.000000,25.000000,1400.000000,0.000000,"Initialize"};
item32[] = {"Finish",1,250,-75.000000,1625.000000,25.000000,1675.000000,0.000000,"Finish"};
item33[] = {"no_Time_Date",4,218,125.000000,950.000000,225.000000,1000.000000,0.000000,"no Time/Date"};
item34[] = {"sleep",4,218,525.000000,150.000000,625.000000,200.000000,0.000000,"sleep"};
item35[] = {"sleep",4,218,525.000000,550.000000,625.000000,600.000000,0.000000,"sleep"};
item36[] = {"sleep",4,218,525.000000,750.000000,625.000000,800.000000,0.000000,"sleep"};
item37[] = {"sleep",4,218,525.000000,850.000000,625.000000,900.000000,0.000000,"sleep"};
item38[] = {"Enable_Sim",2,250,-75.000000,50.000000,25.000000,100.000000,0.000000,"Enable Sim"};
item39[] = {"Initialized",4,218,-175.000000,0.000000,-75.000000,50.000000,0.000000,"Initialized"};
item40[] = {"ERROR__Client_Files",2,250,325.000000,50.000000,425.000000,100.000000,0.000000,"ERROR:" \n "Client Files " \n "are missing missing"};
item41[] = {"sleep_",4,218,525.000000,50.000000,625.000000,100.000000,0.000000,"sleep" \n ""};
item42[] = {"Stream",2,250,-75.000000,1050.000000,25.000000,1100.000000,0.000000,"Stream"};
item43[] = {"Preloaded",4,218,-175.000000,1100.000000,-75.000000,1150.000000,0.000000,"Preloaded"};
item44[] = {"retry",4,218,25.000000,350.000000,100.000000,375.000000,0.000000,"retry"};
item45[] = {"retry_",4,218,25.000000,375.000000,100.000000,400.000000,0.000000,"" \n "retry" \n ""};
item46[] = {"Retry",2,250,100.000000,350.000000,200.000000,400.000000,0.000000,"Retry"};
item47[] = {"auth_failed",4,218,225.000000,350.000000,300.000000,400.000000,0.000000,"auth failed"};
item48[] = {"get_ready_to_clo",2,250,325.000000,350.000000,425.000000,400.000000,0.000000,"get ready to close"};
item49[] = {"sleep_",4,218,525.000000,350.000000,625.000000,400.000000,0.000000,"sleep" \n ""};
item50[] = {"Disconnect",2,250,775.000000,450.000000,875.000000,500.000000,0.000000,"Disconnect"};
item51[] = {"Got_time_date",4,218,-175.000000,1000.000000,-75.000000,1050.000000,0.000000,"Got time/date"};
item52[] = {"Date_or_Time_Send",2,250,-75.000000,950.000000,25.000000,1000.000000,0.000000,"Date or Time" \n "Send request"};
item53[] = {"True",8,218,-75.000000,1425.000000,25.000000,1475.000000,0.000000,"True"};
item54[] = {"Server_Loading",2,250,-75.000000,250.000000,25.000000,300.000000,0.000000,"Server Loading"};
item55[] = {"Too_Long",4,218,125.000000,250.000000,225.000000,300.000000,0.000000,"Too" \n "Long"};
item56[] = {"Server_Ready",4,218,-175.000000,300.000000,-75.000000,350.000000,0.000000,"Server Ready"};
item57[] = {"New_Character_57",4,218,-265.625061,511.895081,-165.625061,561.895081,5.000000,"New" \n "Character" \n "57"};
item58[] = {"Gender_Selection",2,250,-416.028381,547.882996,-316.028381,597.882996,0.000000,"Gender Selection" \n "Dialog" \n "58"};
item59[] = {"Gender__Selected",4,218,-781.502197,569.707764,-681.502197,619.707764,0.000000,"Gender " \n "Selected" \n "59"};
item60[] = {"Character_Type_6",2,250,-910.736084,548.941589,-810.736084,598.941589,0.000000,"Character" \n "Type" \n "60"};
item61[] = {"Region_Selection",2,250,-878.676575,824.200928,-778.676575,874.200928,0.000000,"Region Selection" \n "Dialog" \n "61"};
item62[] = {"Region_Selected",4,218,-503.676575,799.200928,-403.676575,849.200928,0.000000,"Region" \n "Selected" \n "62"};
item63[] = {"Region_Process_6",2,250,-378.676575,824.200928,-278.676575,874.200928,0.000000,"Region Process" \n "63"};
item64[] = {"",7,210,-955.710327,751.386963,-947.710388,759.386963,0.000000,""};
item65[] = {"Spawn_Process_65",2,250,-493.892822,730.386963,-393.892792,780.386963,0.000000,"Spawn Process" \n "65"};
item66[] = {"Selection_Enabled",4,218,-995.124756,890.905029,-895.124756,940.905029,0.000000,"Selection" \n "Enabled" \n "66"};
item67[] = {"Selection_Disabled",4,218,-870.268494,730.386963,-770.268494,780.386963,0.000000,"Selection" \n "Disabled" \n "67"};
item68[] = {"",7,210,-954.000061,571.000000,-946.000000,579.000000,0.000000,""};
item69[] = {"",7,210,-955.710266,826.386963,-947.710327,834.386963,0.000000,""};
item70[] = {"",7,210,-178.999969,746.000000,-171.000031,754.000000,0.000000,""};
item71[] = {"",7,210,-178.999969,671.000000,-171.000031,679.000000,0.000000,""};
item72[] = {"ERROR__Date_Time",2,250,325.000000,950.000000,425.000000,1000.000000,0.000000,"ERROR:" \n "Date/Time" \n "not synced!"};
item73[] = {"sleep",4,218,525.000000,950.000000,625.000000,1000.000000,0.000000,"sleep"};
item74[] = {"get_ready_to_clo_1",2,250,325.000000,250.000000,425.000000,300.000000,0.000000,"get ready to close"};
item75[] = {"sleep_",4,218,525.000000,250.000000,625.000000,300.000000,0.000000,"sleep" \n ""};
item76[] = {"pbo_s__are_missi",4,218,125.000000,50.000000,225.000000,100.000000,2.000000,"pbo's " \n "are missing"};
item77[] = {"",7,210,821.000000,571.000000,829.000000,579.000000,0.000000,""};
item78[] = {"",7,210,821.000000,771.000000,829.000000,779.000000,0.000000,""};
item79[] = {"",7,210,821.000000,971.000000,829.000000,979.000000,0.000000,""};
item80[] = {"",7,210,821.000000,871.000000,829.000000,879.000000,0.000000,""};
item81[] = {"",7,210,821.000000,71.000000,829.000000,79.000000,0.000000,""};
item82[] = {"",7,210,821.000000,171.000000,829.000000,179.000000,0.000000,""};
item83[] = {"",7,210,821.000000,271.000000,829.000000,279.000000,0.000000,""};
item84[] = {"Gender_Closed_84",4,218,-533.619141,502.772095,-433.619141,552.772095,0.000000,"Gender" \n "Closed" \n "84"};
item85[] = {"reopen_Region_85",4,218,-878.676575,899.200928,-778.676575,949.200928,0.000000,"reopen" \n "Region" \n "85"};
item86[] = {"Default_Male_215",4,218,-780.443726,509.122925,-680.443726,559.122925,0.000000,"Default" \n "Male" \n "215"};
item87[] = {"Default_Region_2",4,218,-503.676575,849.200928,-403.676575,899.200928,0.000000,"Default" \n "Region" \n "217"};
item88[] = {"",7,210,-129.000000,671.000000,-121.000000,679.000000,0.000000,""};
item89[] = {"Gender_Opened_22",4,218,-535.736084,568.649292,-435.736084,618.649292,0.000000,"Gender" \n "Opened" \n "220"};
item90[] = {"Waiting_for_Gender",2,250,-648.034363,545.766174,-548.034363,595.766174,0.000000,"Waiting for" \n "Gender Selection" \n "221"};
item91[] = {"Region_Opened_22",4,218,-753.676575,799.200928,-653.676575,849.200928,0.000000,"Region" \n "Opened" \n "223"};
item92[] = {"Waiting_for__Region",2,250,-628.676575,824.200928,-528.676575,874.200928,0.000000,"Waiting for " \n "Region Selection" \n "224"};
item93[] = {"Reopen__Gender_2",4,218,-325.000000,475.000000,-225.000000,525.000000,0.000000,"Reopen" \n " Gender" \n "225"};
item94[] = {"Region__Closed_2",4,218,-753.676575,849.200928,-653.676575,899.200928,0.000000,"Region " \n "Closed" \n "227"};
item95[] = {"Client_Not_Ready",4,218,-225.000000,450.000000,-125.000000,500.000000,0.000000,"Client Not Ready"};
item96[] = {"Update_player",2,250,-425.000000,375.000000,-325.000000,425.000000,0.000000,"Update player"};
item97[] = {"sleep",4,218,-550.000000,375.000000,-450.000000,425.000000,0.000000,"sleep"};
item98[] = {"",7,210,821.000000,371.000000,829.000000,379.000000,0.000000,""};
item99[] = {"Ghost_System",2,250,-75.000000,450.000000,25.000000,500.000000,0.000000,"Ghost System"};
item100[] = {"Client_Ready",4,218,-177.116943,496.824585,-77.116943,546.824585,0.000000,"Client Ready"};
item101[] = {"Reset",2,250,-425.000000,325.000000,-325.000000,375.000000,0.000000,"Reset"};
item102[] = {"Sleep",4,218,-550.000000,325.000000,-450.000000,375.000000,0.000000,"Sleep"};
item103[] = {"",7,210,-279.000000,371.000000,-271.000000,379.000000,0.000000,""};
item104[] = {"retry_Login",4,218,-250.000000,350.000000,-150.000000,400.000000,0.000000,"retry Login"};
item105[] = {"",7,210,-379.000031,471.000000,-371.000000,479.000000,0.000000,""};
item106[] = {"Finish_1",2,250,-75.000000,1500.000000,25.000000,1550.000000,0.000000,"Finish"};
item107[] = {"dayz_preloadFini",4,218,50.000000,1550.000000,150.000000,1600.000000,0.000000,"dayz_preloadFinished"};
item108[] = {"New_INFECTED_Character",4,218,-271.606934,571.673645,-171.606934,621.673645,5.000000,"New" \n "INFECTED Character" \n "258"};
item109[] = {"Player_Zombie__S",2,250,-611.348511,641.870300,-521.348145,691.870300,0.000000,"Player Zombie" \n " Selection"};
item110[] = {"",7,210,-955.744385,664.969482,-947.744385,672.969482,0.000000,""};
link0[] = {0,1};
link1[] = {0,5};
link2[] = {1,2};
link3[] = {2,3};
link4[] = {3,4};
link5[] = {4,39};
link6[] = {5,4};
link7[] = {6,7};
link8[] = {7,8};
link9[] = {7,9};
link10[] = {8,54};
link11[] = {9,10};
link12[] = {10,34};
link13[] = {11,12};
link14[] = {11,45};
link15[] = {12,99};
link16[] = {13,14};
link17[] = {13,16};
link18[] = {13,57};
link19[] = {13,108};
link20[] = {14,15};
link21[] = {15,35};
link22[] = {16,17};
link23[] = {17,18};
link24[] = {18,19};
link25[] = {19,20};
link26[] = {19,22};
link27[] = {20,21};
link28[] = {21,36};
link29[] = {22,23};
link30[] = {23,24};
link31[] = {23,26};
link32[] = {24,52};
link33[] = {25,28};
link34[] = {26,27};
link35[] = {27,37};
link36[] = {28,29};
link37[] = {29,30};
link38[] = {30,31};
link39[] = {31,53};
link40[] = {33,72};
link41[] = {34,82};
link42[] = {35,77};
link43[] = {36,78};
link44[] = {37,80};
link45[] = {38,6};
link46[] = {38,76};
link47[] = {39,38};
link48[] = {40,41};
link49[] = {41,81};
link50[] = {42,43};
link51[] = {43,25};
link52[] = {44,11};
link53[] = {45,46};
link54[] = {46,44};
link55[] = {46,47};
link56[] = {47,48};
link57[] = {48,49};
link58[] = {49,98};
link59[] = {51,42};
link60[] = {52,33};
link61[] = {52,51};
link62[] = {53,106};
link63[] = {54,55};
link64[] = {54,56};
link65[] = {55,74};
link66[] = {56,11};
link67[] = {57,58};
link68[] = {58,89};
link69[] = {58,93};
link70[] = {59,60};
link71[] = {60,68};
link72[] = {61,85};
link73[] = {61,91};
link74[] = {62,63};
link75[] = {63,70};
link76[] = {64,67};
link77[] = {64,69};
link78[] = {65,71};
link79[] = {66,61};
link80[] = {67,65};
link81[] = {68,110};
link82[] = {69,66};
link83[] = {70,71};
link84[] = {71,88};
link85[] = {72,73};
link86[] = {73,79};
link87[] = {74,75};
link88[] = {75,83};
link89[] = {76,40};
link90[] = {77,50};
link91[] = {78,77};
link92[] = {79,80};
link93[] = {80,78};
link94[] = {81,82};
link95[] = {82,83};
link96[] = {83,98};
link97[] = {84,58};
link98[] = {85,61};
link99[] = {86,60};
link100[] = {87,63};
link101[] = {88,16};
link102[] = {89,90};
link103[] = {90,59};
link104[] = {90,84};
link105[] = {90,86};
link106[] = {91,92};
link107[] = {92,62};
link108[] = {92,87};
link109[] = {92,94};
link110[] = {93,58};
link111[] = {94,61};
link112[] = {95,105};
link113[] = {96,97};
link114[] = {96,103};
link115[] = {97,101};
link116[] = {98,50};
link117[] = {99,95};
link118[] = {99,100};
link119[] = {100,13};
link120[] = {101,102};
link121[] = {101,103};
link122[] = {102,96};
link123[] = {103,104};
link124[] = {104,11};
link125[] = {105,96};
link126[] = {106,107};
link127[] = {107,32};
link128[] = {108,109};
link129[] = {109,110};
link130[] = {110,64};
globals[] = {0.000000,0,0,0,0,640,480,3,262,6316128,1,-716.139587,391.207581,1442.645874,-117.093102,656,924,1};
window[] = {0,-1,-1,-1,-1,1259,1614,3572,163,1,674};
*//*%FSM</HEAD>*/
class FSM
{
fsmName = "DayZ Player Monitor";
class States
{
/*%FSM<STATE "init">*/
class init
{
name = "init";
itemno = 0;
init = /*%FSM<STATEINIT""">*/"dayz_versionNo = getText(configFile >> ""CfgMods"" >> ""DayZ"" >> ""version"");" \n
"_AuthAttempt = 0;" \n
"" \n
"dayz_loadScreenMsg = localize 'STR_AUTHENTICATING';" \n
"Dayz_loginCompleted = nil;" \n
"PVCDZ_plr_Login = [];" \n
"_timeStart = diag_tickTime;" \n
"_readytoAuth = false;" \n
"_startCheck = 0;" \n
"_debug = 0;" \n
"_schedulerStarted=false;" \n
"_spawnSelection = 9;" \n
"" \n
"_timeNemGender = 0;" \n
"_timeNemRegion = 0;" \n
"" \n
"" \n
"if (_debug == 1) then {" \n
"diag_log (""DAYZ: CLIENT IS RUNNING DAYZ_CODE "" + str(dayz_versionNo));" \n
"};" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Client">*/
class Client
{
itemno = 5;
priority = 0.000000;
to="Loading";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isServer"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "isServer">*/
class isServer
{
itemno = 1;
priority = 0.000000;
to="wait";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"isServer"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "wait">*/
class wait
{
name = "wait";
itemno = 2;
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Allow_Connection">*/
class Allow_Connection
{
itemno = 3;
priority = 0.000000;
to="Loading";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"allowConnection"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Loading">*/
class Loading
{
name = "Loading";
itemno = 4;
init = /*%FSM<STATEINIT""">*/"dayz_loadScreenMsg = localize 'str_player_loading'; " \n
"" \n
"if (_debug == 1) then {diag_log [diag_tickTime,'Loading'];};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Initialized">*/
class Initialized
{
itemno = 39;
priority = 0.000000;
to="Enable_Sim";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isnil ""BIS_MPF_InitDone"""/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Collect">*/
class Collect
{
name = "Collect";
itemno = 7;
init = /*%FSM<STATEINIT""">*/"" \n
"" \n
"dayz_loadScreenMsg = localize 'str_player_waiting_creation'; " \n
"" \n
"_playerUID = getPlayerUID player;" \n
"progressLoadingScreen 0.6;" \n
"if (_debug == 1) then {diag_log [diag_tickTime,'Collect'];};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "no_PlayerID">*/
class no_PlayerID
{
itemno = 9;
priority = 2.000000;
to="ERROR__No_Player";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_playerUID == """""/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Has_PlayerID">*/
class Has_PlayerID
{
itemno = 8;
priority = 1.000000;
to="Server_Loading";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!(isNil ""_playerUID"")"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__No_Player">*/
class ERROR__No_Player
{
name = "ERROR__No_Player";
itemno = 10;
init = /*%FSM<STATEINIT""">*/"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_player_no_playerid';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 34;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 10"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Request">*/
class Request
{
name = "Request";
itemno = 11;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Request'];};" \n
"" \n
"dayz_loadScreenMsg = localize 'str_player_request';" \n
"" \n
"_msg = [];" \n
"progressLoadingScreen 0.65;" \n
"PVDZ_plr_Login1 = [_playerUID,player];" \n
"publicVariableServer ""PVDZ_plr_Login1"";" \n
"diag_log ['Sent to server: PVDZ_plr_Login1', PVDZ_plr_Login1]; " \n
"PVDZ_send = [player,""dayzSetDate"",[player]];" \n
"publicVariableServer ""PVDZ_send"";" \n
"diag_log ['Sent to server: PVDZ_send', PVDZ_send]; " \n
"_myTime = diag_tickTime;" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "retry_">*/
class retry_
{
itemno = 45;
priority = 0.000000;
to="Retry";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 10"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Response">*/
class Response
{
itemno = 12;
priority = 0.000000;
to="Ghost_System";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"count (PVCDZ_plr_Login) > 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_msg = PVCDZ_plr_Login;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Parse_Login">*/
class Parse_Login
{
name = "Parse_Login";
itemno = 13;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Parse_Login'];};" \n
"progressLoadingScreen 0.8;" \n
"_charID = _msg select 0;" \n
"_inventory = _msg select 1;" \n
"_backpack = _msg select 2;" \n
"_survival = _msg select 3;" \n
"_isNew = _msg select 4;" \n
"//_state = _msg select 5;" \n
"_version = _msg select 5;" \n
"_model = _msg select 6;" \n
"_patch = {};" \n
"" \n
"_isHiveOk = false;" \n
"_newPlayer = false;" \n
"_isInfected = false;" \n
"_characterCoins = 0;" \n
"_globalCoins = 0;" \n
"_bankCoins = 0;" \n
"" \n
"if (count _msg > 7) then {" \n
" _isHiveOk = _msg select 7;" \n
" _newPlayer = _msg select 8;" \n
" _isInfected = _msg select 9;" \n
" _characterCoins = _msg select 11;" \n
" _globalCoins = _msg select 12;" \n
" _bankCoins = _msg select 13;" \n
" diag_log (""PLAYER RESULT: "" + str(_isHiveOk));" \n
"};" \n
"" \n
"dayz_loadScreenMsg = localize 'str_player_creating_character'; " \n
"if (_isHiveOk) then { if (!_schedulerStarted) then { _schedulerStarted=true; execVM '\z\addons\dayz_code\system\scheduler\sched_init.sqf'; }; };" \n
"if (_debug == 1) then {" \n
"diag_log (""PLOGIN: authenticated with : "" + str(_msg));" \n
" diag_log [""player_monitor:Parse_Login _isHiveOk,_isNew,isnil preload, preload:"",_isHiveOk,_isNew,!isNil 'dayz_preloadFinished',dayz_preloadFinished];" \n
"};" \n
"" \n
"//Not Equal Failure" \n
"" \n
"if (isNil ""_model"") then {" \n
" _model = ""Survivor2_DZ"";" \n
" diag_log (""PLOGIN: Model was nil, loading as survivor"");" \n
"};" \n
"" \n
"if (_model == """") then {" \n
" _model = ""Survivor2_DZ"";" \n
" diag_log (""PLOGIN: Model was empty, loading as survivor"");" \n
"};" \n
"" \n
"if (_model == ""Survivor1_DZ"") then {" \n
" _model = ""Survivor2_DZ"";" \n
"};" \n
"_isHack = false;" \n
"if (_model == ""hacker"") then {" \n
" _isHack = true;" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Hive_Bad">*/
class Hive_Bad
{
itemno = 14;
priority = 10.000000;
to="ERROR__Wrong_HIVE";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_isHiveOk"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "New_Character_57">*/
class New_Character_57
{
itemno = 57;
priority = 5.000000;
to="Gender_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(_isNew and (_isInfected == 0) and !isNil 'dayz_preloadFinished') and {(dayz_preloadFinished)}"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "New_INFECTED_Character">*/
class New_INFECTED_Character
{
itemno = 108;
priority = 5.000000;
to="Player_Zombie__S";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(_isNew and (_isInfected == 1) and !isNil 'dayz_preloadFinished') and {(dayz_preloadFinished)}"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Character_Setup">*/
class Character_Setup
{
itemno = 16;
priority = 0.000000;
to="Phase_One";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_isNew"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeNemRegion = nil;" \n
"_timeNemGender = nil;" \n
""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__Wrong_HIVE">*/
class ERROR__Wrong_HIVE
{
name = "ERROR__Wrong_HIVE";
itemno = 15;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Wrong_HIVE'];};" \n
"_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_player_wrong_hive';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 35;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 10"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Phase_One">*/
class Phase_One
{
name = "Phase_One";
itemno = 17;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Phase_One'];};" \n
"if ((!isNil ""dayz_selectGender"") && {(!isNil ""DZE_defaultSkin"") && (_isInfected == 0)}) then {" \n
" if (dayz_selectGender == ""Survivor2_DZ"") then {" \n
" _rand = (DZE_defaultSkin select 0) call BIS_fnc_selectRandom;" \n
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //MALE" \n
" if (_model == """") then {" \n
" _model = _rand;" \n
" };" \n
" } else {" \n
" _rand = (DZE_defaultSkin select 1) call BIS_fnc_selectRandom;" \n
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //FEMALE" \n
" if (_model == """") then {" \n
" _model = _rand;" \n
" };" \n
" };" \n
"};" \n
"" \n
"_model call player_switchModel;" \n
"" \n
"player allowDamage false;" \n
"_lastAte = _survival select 1;" \n
"_lastDrank = _survival select 2;" \n
"" \n
"_usedFood = 0;" \n
"_usedWater = 0;" \n
"" \n
"_inventory call player_gearSet;" \n
"" \n
"//Assess in backpack" \n
"if (count _backpack > 0) then {" \n
" //Populate" \n
" _backpackType = _backpack select 0;" \n
" _backpackWpn = _backpack select 1;" \n
" _backpackMagTypes = [];" \n
" _backpackMagQty = [];" \n
" if (count _backpackWpn > 0) then {" \n
" _backpackMagTypes = (_backpack select 2) select 0;" \n
" _backpackMagQty = (_backpack select 2) select 1;" \n
" };" \n
" _countr = 0;" \n
" _backpackWater = 0;" \n
"" \n
" //Add backpack" \n
" if (_backpackType != """") then {" \n
" _isOK = isClass(configFile >> ""CfgVehicles"" >>_backpackType);" \n
" if (_isOK) then {" \n
" player addBackpack _backpackType; " \n
" dayz_myBackpack = unitBackpack player;" \n
" " \n
" //Fill backpack contents" \n
" //Weapons" \n
" _backpackWpnTypes = [];" \n
" _backpackWpnQtys = [];" \n
" if (count _backpackWpn > 0) then {" \n
" _backpackWpnTypes = _backpackWpn select 0;" \n
" _backpackWpnQtys = _backpackWpn select 1;" \n
" };" \n
" _countr = 0;" \n
" {" \n
" if(_x in (DZE_REPLACE_WEAPONS select 0)) then {" \n
" _x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);" \n
" };" \n
" dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];" \n
" _countr = _countr + 1;" \n
" } forEach _backpackWpnTypes;" \n
" " \n
" //Magazines" \n
" _countr = 0;" \n
" {" \n
" if (_x == ""BoltSteel"") then { _x = ""1Rnd_Arrow_Wood"" }; // Convert BoltSteel to WoodenArrow" \n
" if (dayz_classicBloodBagSystem) then {" \n
" if (_x in dayz_typedBags) then {_x = ""ItemBloodbag""};" \n
" } else {" \n
" if (_x == ""ItemBloodbag"") then { _x = ""bloodBagONEG"" }; // Convert ItemBloodbag into universal blood type/rh bag" \n
" };" \n
" dayz_myBackpack addMagazineCargoGlobal [_x,(_backpackMagQty select _countr)];" \n
" _countr = _countr + 1;" \n
" } forEach _backpackMagTypes;" \n
" " \n
" dayz_myBackpackMags = getMagazineCargo dayz_myBackpack;" \n
" dayz_myBackpackWpns = getWeaponCargo dayz_myBackpack;" \n
" } else {" \n
" dayz_myBackpack = objNull;" \n
" dayz_myBackpackMags = [];" \n
" dayz_myBackpackWpns = [];" \n
" };" \n
" } else {" \n
" dayz_myBackpack = objNull;" \n
" dayz_myBackpackMags = [];" \n
" dayz_myBackpackWpns = [];" \n
" };" \n
"} else {" \n
" dayz_myBackpack = objNull;" \n
" dayz_myBackpackMags = [];" \n
" dayz_myBackpackWpns = [];" \n
"};" \n
"gear_done = true;" \n
"PVCDZ_plr_Login2 = [];" \n
"PVDZ_plr_Login2 = [_charID,player,_playerUID,_spawnSelection,_inventory];" \n
"publicVariableServer ""PVDZ_plr_Login2"";" \n
"diag_log ['Sent to server: PVDZ_plr_Login2', PVDZ_plr_Login2]; " \n
"dayz_loadScreenMsg = localize 'str_player_requesting_character';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Response">*/
class Response
{
itemno = 18;
priority = 0.000000;
to="Phase_Two";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"count (PVCDZ_plr_Login2) > 0"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_msg = player getVariable[""worldspace"",[]];"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Phase_Two">*/
class Phase_Two
{
name = "Phase_Two";
itemno = 19;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Phase_Two'];};dayz_loadScreenMsg = localize 'str_login_characterData'; " \n
"" \n
"_worldspace = PVCDZ_plr_Login2 select 0;" \n
"_state = PVCDZ_plr_Login2 select 1;" \n
"dayz_authKey = PVCDZ_plr_Login2 select 2;" \n
"" \n
"player setVariable [""Achievements"",[],false];" \n
"" \n
"_setDir = _worldspace select 0;" \n
"_setPos = _worldspace select 1;" \n
"" \n
"if (isNil ""freshSpawn"") then {" \n
" freshSpawn = 0;" \n
"};" \n
"" \n
"{" \n
" if (player getVariable[""hit_""+_x,false]) then { " \n
" [player,_x,_x] spawn fnc_usec_damageBleed; " \n
" PVDZ_hlt_Bleed = [player,_x,_x];" \n
" publicVariable ""PVDZ_hlt_Bleed""; // draw blood stream on character, on all gameclients" \n
" };" \n
"} forEach USEC_typeOfWounds;" \n
"//Legs and Arm fractures" \n
"_legs = player getVariable [""hit_legs"",0];" \n
"_arms = player getVariable [""hit_hands"",0];" \n
"" \n
"if (_legs > 1) then {" \n
" player setHit[""legs"",1];" \n
" r_fracture_legs = true;" \n
"};" \n
"if (_arms > 1) then {" \n
" player setHit[""hands"",1];" \n
" r_fracture_arms = true;" \n
"};" \n
"" \n
"//Record current weapon state" \n
"dayz_myWeapons = weapons player; //Array of last checked weapons" \n
"dayz_myItems = items player; //Array of last checked items" \n
"dayz_myMagazines = magazines player;" \n
"" \n
"dayz_playerUID = _playerUID;" \n
"" \n
"if ((_isNew) OR (count _inventory == 0)) then {" \n
" //player is new, add initial loadout" \n
" if !(player isKindOf ""PZombie_VB"") then {" \n
" _config = (configFile >> ""CfgSurvival"" >> ""Inventory"" >> ""Default"");" \n
" _totalrndmags = getNumber (_config >> ""RandomMagazines"");" \n
" _rndmags = getArray (_config >> ""RandomPossibilitieMagazines"");" \n
" _countmags = 0; " \n
" _gmags = getArray (_config >> ""GuaranteedMagazines"");" \n
" _wpns = getArray (_config >> ""weapons"");" \n
" _bcpk = getText (_config >> ""backpack"");" \n
" _bcpkWpn = getText (_config >> ""backpackWeapon"");" \n
" if(!isNil ""DefaultMagazines"") then {" \n
" _gmags = DefaultMagazines;" \n
" };" \n
" if(!isNil ""DefaultWeapons"") then {" \n
" _wpns = DefaultWeapons;" \n
" };" \n
" if(!isNil ""DefaultBackpack"") then {" \n
" _bcpk = DefaultBackpack;" \n
" };" \n
" if(!isNil ""DefaultBackpackItems"") then {" \n
" _bcpkWpn = DefaultBackpackItems;" \n
" };" \n
" " \n
" //Add inventory" \n
" {" \n
" _isOK = isClass(configFile >> ""CfgMagazines"" >> _x);" \n
" if (_isOK) then {" \n
" player addMagazine _x;" \n
" _countmags = _countmags +1;" \n
" };" \n
" } count _gmags;" \n
"" \n
" while {_countmags < _totalrndmags} do {" \n
" _rndmag = _rndmags call BIS_fnc_selectRandom;" \n
" _isOK = isClass(configFile >> ""CfgMagazines"" >> _rndmag);" \n
" if (_isOK) then {" \n
" player addMagazine _rndmag;" \n
" _countmags = _countmags +1;" \n
" };" \n
" };" \n
"" \n
" {" \n
" _isOK = isClass(configFile >> ""CfgWeapons"" >> _x);" \n
" if (_isOK) then {" \n
" player addWeapon _x;" \n
" };" \n
" } count _wpns;" \n
" " \n
" if (_bcpk != """") then {" \n
" player addBackpack _bcpk; " \n
" dayz_myBackpack = unitBackpack player;" \n
"" \n
" if ((typeName _bcpkWpn) == ""ARRAY"") then {" \n
" {" \n
" if (isClass(configFile >> ""CfgWeapons"" >> _x)) then {" \n
" dayz_myBackpack addWeaponCargoGlobal [_x,1];" \n
" } else {" \n
" dayz_myBackpack addMagazineCargoGlobal [_x, 1];" \n
" };" \n
" } count _bcpkWpn;" \n
" } else {" \n
" if (_bcpkWpn != """") then {" \n
" dayz_myBackpack addWeaponCargoGlobal [_bcpkWpn, 1];" \n
" };" \n
" };" \n
" };" \n
" };" \n
"};" \n
"" \n
"//Work out survival time" \n
"_totalMins = _survival select 3;" \n
"_days = floor (_totalMins / 1440);" \n
"_totalMins = (_totalMins - (_days * 1440));" \n
"_hours = floor (_totalMins / 60);" \n
"_mins = (_totalMins - (_hours * 60));" \n
"" \n
"player setVariable [""SurvivalTime"",(_survival select 3),false];" \n
"" \n
"//player variables" \n
"dayz_characterID = _charID;" \n
"dayz_myCursorTarget = objNull;" \n
"dayz_myPosition = getPosATL player; //Last recorded position" \n
"dayz_lastMeal = (_lastAte * 60);" \n
"dayz_lastDrink = (_lastDrank * 60);" \n
"dayz_zombiesLocal = 0; //Used to record how many local zombies being tracked" \n
"dayz_Survived = [_days,_hours,_mins,(_survival select 3)]; //total alive dayz" \n
"dayz_loginTime = diag_tickTime;" \n
"" \n
"//load in medical details" \n
"r_player_dead = player getVariable[""USEC_isDead"",false];" \n
"r_player_unconscious = player getVariable[""NORRN_unconscious"", false];" \n
"r_player_infected = player getVariable[""USEC_infected"",false];" \n
"r_player_injured = player getVariable[""USEC_injured"",false];" \n
"r_player_inpain = player getVariable[""USEC_inPain"",false];" \n
"r_player_cardiac = player getVariable[""USEC_isCardiac"",false];" \n
"r_player_lowblood = player getVariable[""USEC_lowBlood"",false];" \n
"r_player_blood = player getVariable[""USEC_BloodQty"",r_player_bloodTotal];" \n
"r_player_timeout = player getVariable[""unconsciousTime"",0];" \n
"" \n
"//Hunger/Thirst" \n
"_messing = player getVariable[""messing"",[0,0,0]];" \n
"dayz_hunger = _messing select 0;" \n
"dayz_thirst = _messing select 1;" \n
"dayz_nutrition = _messing select 2;" \n
"" \n
"//player setVariable [""humanity"",-3000, true];"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Alive">*/
class Alive
{
itemno = 22;
priority = 0.000000;
to="Position";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!r_player_dead/* and !_isNew*/"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Dead_Player">*/
class Dead_Player
{
itemno = 20;
priority = 0.000000;
to="ERROR__Player_Already";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"r_player_dead"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__Player_Already">*/
class ERROR__Player_Already
{
name = "ERROR__Player_Already";
itemno = 21;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Player_Already'];};" \n
"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_login_alreadyDead';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 36;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 10"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Position">*/
class Position
{
name = "Position";
itemno = 23;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Position'];};" \n
"progressLoadingScreen 0.85;" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Bad_Version">*/
class Bad_Version
{
itemno = 26;
priority = 0.000000;
to="ERROR__Bad_Versi";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_version != dayz_versionNo"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Version_Ok">*/
class Version_Ok
{
itemno = 24;
priority = 0.000000;
to="Date_or_Time_Send";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_version == dayz_versionNo"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Load_In">*/
class Load_In
{
name = "Load_In";
itemno = 25;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Load_In'];};" \n
"progressLoadingScreen 0.95;" \n
"dayz_loadScreenMsg = localize 'str_player_setup_completed';" \n
"_torev4l=nearestObjects [_setPos, Dayz_plants + DayZ_GearedObjects + [""AllVehicles"",""WeaponHolder""], 50];" \n
"{ _null = [_x,0] spawn object_roadFlare; } count (allMissionObjects ""RoadFlare"");" \n
"{ _null = [_x,1] spawn object_roadFlare; } count (allMissionObjects ""ChemLight"");" \n
"{" \n
" _fadeFire = _x getVariable['fadeFire', true];" \n
" if (!_fadeFire) then {" \n
" nul = [_x,2,0,false,false] spawn BIS_Effects_Burn;" \n
" };" \n
"} count allMissionObjects ""SpawnableWreck"";" \n
"{deleteVehicle _x} count (_setPos nearEntities [""zZombie_Base"",30]);" \n
"player setDir _setDir;" \n
"" \n
"if (dayz_paraSpawn && freshSpawn == 2) then {" \n
" player setPosATL [_setPos select 0,_setPos select 1,DZE_HaloSpawnHeight];" \n
"} else {" \n
" player setPosATL _setPos;" \n
" if (surfaceIsWater respawn_west_original) then {player call fn_exitSwim;};" \n
"};" \n
"" \n
"player setVelocity [0,0,0.5];" \n
"{player reveal _x} count _torev4l;" \n
"dayz_myPosition = _setPos;" \n
"player setVariable ['BIS_noCoreConversations', true];" \n
"dayz_clientPreload = true;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Display_Ready">*/
class Display_Ready
{
itemno = 28;
priority = 0.000000;
to="Preload_Display";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(!dayz_townGenerator or {call sched_townGenerator_ready})"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__Bad_Versi">*/
class ERROR__Bad_Versi
{
name = "ERROR__Bad_Versi";
itemno = 27;
init = /*%FSM<STATEINIT""">*/"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_player_outdated';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 37;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 5"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Preload_Display">*/
class Preload_Display
{
name = "Preload_Display";
itemno = 29;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Preload_Display'];};" \n
"" \n
"player disableConversation true;" \n
"" \n
"eh_player_killed = player addeventhandler [""FiredNear"",{_this call player_weaponFiredNear;} ];" \n
"" \n
"//_state = player getVariable[""state"",[]];" \n
"_currentWpn = """";" \n
"_currentAnim = """";" \n
"if ((!isNil ""_state"") AND {(count _state > 1)}) then {" \n
" //Reload players state" \n
" _currentWpn = _state select 0;" \n
" _currentAnim = _state select 1;" \n
" //Reload players state" \n
" if (count _state > 2) then {" \n
" dayz_temperatur = _state select 2;" \n
" };" \n
"} else {" \n
" _currentWpn = ""Makarov"";" \n
" _currentAnim = ""aidlpercmstpsraswpstdnon_player_idlesteady02"";" \n
"};" \n
"" \n
"reload player;" \n
"" \n
"if (_currentAnim != """" && !dayz_paraSpawn) then {" \n
" [objNull, player, rSwitchMove,_currentAnim] call RE;" \n
"};" \n
"" \n
"if (_currentWpn != """") then {" \n
" player selectWeapon _currentWpn;" \n
"} else {" \n
" //Establish default weapon" \n
" if (count weapons player > 0) then" \n
" {" \n
" private['_type', '_muzzles'];" \n
"" \n
" _type = ((weapons player) select 0);" \n
" // check for multiple muzzles (eg: GL)" \n
" _muzzles = getArray(configFile >> ""cfgWeapons"" >> _type >> ""muzzles"");" \n
"" \n
" if (count _muzzles > 1) then {" \n
" player selectWeapon (_muzzles select 0);" \n
" } else {" \n
" player selectWeapon _type;" \n
" };" \n
" };" \n
"};" \n
"" \n
"" \n
"//Player control loop" \n
"dayz_monitor1 = [] spawn {" \n
" while {1 == 1} do { " \n
" //uiSleep (if (call player_zombieCheck) then {dayz_monitorPeriod/3} else {dayz_monitorPeriod});" \n
" call player_zombieCheck;" \n
" uiSleep 1;" \n
" };" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Preload_Done">*/
class Preload_Done
{
itemno = 30;
priority = 0.000000;
to="Initialize";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"preloadCamera getPosATL player"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Initialize">*/
class Initialize
{
name = "Initialize";
itemno = 31;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Initialize'];};" \n
"" \n
"//Medical" \n
"dayz_medicalH = [] execVM ""\z\addons\dayz_code\medical\init_medical.sqf""; //Medical Monitor Script (client only)" \n
"[player] call fnc_usec_damageHandle;" \n
"" \n
"if (r_player_unconscious) then {" \n
" player playActionNow ""Die"";" \n
" [player,r_player_timeout] call fnc_usec_damageUnconscious;" \n
"};" \n
"" \n
"//Add core tools" \n
"player addWeapon ""Loot"";" \n
"if ((currentWeapon player == """")) then { player action [""SWITCHWEAPON"", player,player,1]; };" \n
"//load in medical details" \n
"r_player_dead = player getVariable[""USEC_isDead"",false];" \n
"r_player_unconscious = player getVariable[""NORRN_unconscious"", false];" \n
"r_player_infected = player getVariable[""USEC_infected"",false];" \n
"r_player_injured = player getVariable[""USEC_injured"",false];" \n
"r_player_inpain = player getVariable[""USEC_inPain"",false];" \n
"r_player_cardiac = player getVariable[""USEC_isCardiac"",false];" \n
"r_player_lowblood = player getVariable[""USEC_lowBlood"",false];" \n
"r_player_blood = player getVariable[""USEC_BloodQty"",r_player_bloodTotal];" \n
"r_player_bloodtype = player getVariable [""blood_type"", false];" \n
"r_player_rh = player getVariable [""rh_factor"", false];" \n
"" \n
"if (Z_SingleCurrency) then {" \n
" player setVariable [Z_MoneyVariable, _characterCoins, true];" \n
" player setVariable [Z_globalVariable, _globalCoins, true];" \n
" player setVariable [Z_BankVariable, _bankCoins, true];" \n
"};" \n
"dayz_musicH = [] spawn player_music;" \n
"dayz_slowCheck = [] spawn player_spawn_2;" \n
"Dayz_logonTime = daytime;" \n
"Dayz_logonDate = floor ((_survival select 0) / 1440);" \n
"_position = getPosATL player;" \n
"_radius = 200;" \n
"//Current amounts" \n
"dayz_spawnZombies = {alive _x AND local _x} count (_position nearEntities [""zZombie_Base"",_radius]);" \n
"dayz_CurrentNearByZombies = {alive _x} count (_position nearEntities [""zZombie_Base"",_radius]);" \n
"" \n
"{ _x call fnc_veh_ResetEH; } forEach vehicles;" \n
"player allowDamage true;" \n
"player enableSimulation true;" \n
"if (dayz_paraSpawn && freshSpawn == 2) then {[player,DZE_HaloSpawnHeight] spawn BIS_fnc_halo;}; //Start after enableSimulation"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "True">*/
class True
{
itemno = 53;
priority = 0.000000;
to="Finish_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Finish">*/
class Finish
{
name = "Finish";
itemno = 32;
init = /*%FSM<STATEINIT""">*/"diag_log 'player_forceSave called from fsm';" \n
"//call player_forceSave;" \n
"" \n
"//Check for bad controls at login" \n
"false spawn ui_updateControls;" \n
"" \n
"publicVariableServer ""PVDZ_plr_LoginRecord"";"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Enable_Sim">*/
class Enable_Sim
{
name = "Enable_Sim";
itemno = 38;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Enable_Sim'];};" \n
"" \n
"_myAssets = getText(configFile >> ""CfgPatches"" >> ""dayz_communityassets"" >> ""dayzVersion"");" \n
"_mySfx = getNumber(configFile >> ""CfgPatches"" >> ""dayz_sfx"" >> ""dayzVersion"");" \n
"_myAnim = getNumber(configFile >> ""CfgPatches"" >> ""dayz_anim"" >> ""dayzVersion"");" \n
"_myEpoch = getText(configFile >> ""CfgPatches"" >> ""dayz_epoch"" >> ""dayzVersion"");" \n
"_myEpochB = getText(configFile >> ""CfgPatches"" >> ""dayz_epoch_b"" >> ""dayzVersion"");" \n
"" \n
"/*" \n
"_myCCrossbow = getNumber(configFile >> ""CfgPatches"" >> ""community_crossbow"" >> ""dayzVersion"");" \n
"_myDayz = getNumber(configFile >> ""CfgPatches"" >> ""dayz"" >> ""dayzVersion"");" \n
"_myBuildings = getNumber(configFile >> ""CfgPatches"" >> ""dayz_buildings"" >> ""dayzVersion"");" \n
"_myCWeapons = getNumber(configFile >> ""CfgPatches"" >> ""dayz_communityweapons"" >> ""dayzVersion"");" \n
"_myEquip = getNumber(configFile >> ""CfgPatches"" >> ""dayz_equip"" >> ""dayzVersion"");" \n
"_mySFX = getNumber(configFile >> ""CfgPatches"" >> ""dayz_sfx"" >> ""dayzVersion"");" \n
"_myVechicles = getNumber(configFile >> ""CfgPatches"" >> ""dayz_vehicles"" >> ""dayzVersion"");" \n
"_myWeapons = getNumber(configFile >> ""CfgPatches"" >> ""dayz_weapons"" >> ""dayzVersion"");" \n
"*/" \n
"" \n
"if (_debug == 1) then {" \n
" diag_log format[""DayZ Version: DayZ_Anim: %1 DayZ_SFX: %2 DayZ_Assets: %3"",_myAnim, _mySfx,_myAssets];" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "pbo_s__are_missi">*/
class pbo_s__are_missi
{
itemno = 76;
priority = 2.000000;
to="ERROR__Client_Files";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(_myAnim != 1.8) || (_mySfx != 1.8) || (_myAssets != ""1.8.0.1"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.6"")"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "player____null_player">*/
class player____null_player
{
itemno = 6;
priority = 0.000000;
to="Collect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(!isNull player) and (player == player)"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__Client_Files">*/
class ERROR__Client_Files
{
name = "ERROR__Client_Files";
itemno = 40;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Client_Files'];};selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_player_outdated';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep_">*/
class sleep_
{
itemno = 41;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 10"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Stream">*/
class Stream
{
name = "Stream";
itemno = 42;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Stream'];};" \n
"dayz_loadScreenMsg = localize 'str_login_spawningLocalObjects';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Preloaded">*/
class Preloaded
{
itemno = 43;
priority = 0.000000;
to="Load_In";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"((!dayz_townGenerator or (!isNil 'dayz_plantSpawner_done' && {dayz_plantSpawner_done == 2})) && (!isNil 'BIS_fnc_init'))"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Retry">*/
class Retry
{
name = "Retry";
itemno = 46;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Retry'];};" \n
"dayz_loadScreenMsg = localize 'str_player_retrying';" \n
"" \n
"_AuthAttempt = _AuthAttempt +1;" \n
"" \n
"_myTime = diag_tickTime;" \n
"" \n
"if (_debug == 1) then {" \n
" diag_log (""PLOGIN: Retrying Authentication... ("" + _playerUID + "")"");" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "auth_failed">*/
class auth_failed
{
itemno = 47;
priority = 0.000000;
to="get_ready_to_clo";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_AuthAttempt > 5"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "retry">*/
class retry
{
itemno = 44;
priority = 0.000000;
to="Request";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 5"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "get_ready_to_clo">*/
class get_ready_to_clo
{
name = "get_ready_to_clo";
itemno = 48;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'get_ready_to_clo'];};dayz_loadScreenMsg = localize 'str_player_authentication_failed';" \n
"_myTime = diag_tickTime;" \n
"if (_debug == 1) then {" \n
" diag_log (""PLOGIN: Authentication Failed ("" + _playerUID + "")"");" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep_">*/
class sleep_
{
itemno = 49;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 2"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Disconnect">*/
class Disconnect
{
name = "Disconnect";
itemno = 50;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Disconnect'];};" \n
"" \n
" player enableSimulation false;" \n
"" \n
"if (_debug == 1) then {" \n
" diag_log (""End Mission"");" \n
"};" \n
"" \n
"failMission ""LOSER"";" \n
"endMission ""END1"";" \n
"" \n
"" \n
"dayz_authed = true;" \n
"dayz_clientPreload = true;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Date_or_Time_Send">*/
class Date_or_Time_Send
{
name = "Date_or_Time_Send";
itemno = 52;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Date_or_Time_Send'];};" \n
"_myTime = diag_tickTime;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Got_time_date">*/
class Got_time_date
{
itemno = 51;
priority = 0.000000;
to="Stream";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isNil ""dayzSetDate"""/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"diag_log ['Date & time received:', dayzSetDate];" \n
"setDate dayzSetDate;" \n
"diag_log ['Local date on this client:', date];"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "no_Time_Date">*/
class no_Time_Date
{
itemno = 33;
priority = 0.000000;
to="ERROR__Date_Time";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"diag_tickTime - _myTime > 15"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Server_Loading">*/
class Server_Loading
{
name = "Server_Loading";
itemno = 54;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Server_Loading'];};_myTime = diag_tickTime;" \n
"dayz_loadScreenMsg = localize 'str_player_waiting_start';" \n
"" \n
"if (_debug == 1) then {" \n
" diag_log (""Server Loading"");" \n
" diag_log (""PLOGIN: Waiting for server to start authentication"");" \n
"};"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Server_Ready">*/
class Server_Ready
{
itemno = 56;
priority = 0.000000;
to="Request";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isNil ""sm_done"""/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Too_Long">*/
class Too_Long
{
itemno = 55;
priority = 0.000000;
to="get_ready_to_clo_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 120"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Gender_Selection">*/
class Gender_Selection
{
name = "Gender_Selection";
itemno = 58;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Gender_Selection'];};" \n
"endLoadingScreen;" \n
"freshSpawn = 2;" \n
"" \n
"_gender = createDialog 'RscDisplayGenderSelect';" \n
"" \n
"dayz_loadScreenMsg = localize 'STR_UI_GENDER_TITLE';" \n
"_timeNem=diag_tickTime;" \n
"_model = 'Survivor2_DZ';" \n
"dayz_preloadFinished=nil;//do not remove this"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Reopen__Gender_2">*/
class Reopen__Gender_2
{
itemno = 93;
priority = 0.000000;
to="Gender_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_gender"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"closeDialog 0;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Gender_Opened_22">*/
class Gender_Opened_22
{
itemno = 89;
priority = 0.000000;
to="Waiting_for_Gender";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_gender"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Character_Type_6">*/
class Character_Type_6
{
name = "Character_Type_6";
itemno = 60;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n
"" \n
"_model = dayz_selectGender;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Selection_Enabled">*/
class Selection_Enabled
{
itemno = 66;
priority = 0.000000;
to="Region_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_spawnselection == 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Selection_Disabled">*/
class Selection_Disabled
{
itemno = 67;
priority = 0.000000;
to="Spawn_Process_65";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_spawnselection == 0"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_spawnSelection=9;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Region_Selection">*/
class Region_Selection
{
name = "Region_Selection";
itemno = 61;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Region_Selection'];};" \n
"endLoadingScreen;" \n
"" \n
"_timeNem=diag_tickTime;" \n
"_region = createDialog ""RscDisplaySpawnSelecter"";" \n
"" \n
"dayz_loadScreenMsg = localize 'str_login_spawnLocation';" \n
"_timeNem=diag_tickTime;_spawnSelection = 9;" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Region_Opened_22">*/
class Region_Opened_22
{
itemno = 91;
priority = 0.000000;
to="Waiting_for__Region";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_region"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "reopen_Region_85">*/
class reopen_Region_85
{
itemno = 85;
priority = 0.000000;
to="Region_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_region"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"closeDialog 0;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Region_Process_6">*/
class Region_Process_6
{
name = "Region_Process_6";
itemno = 63;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Region_Process_6, region selected:',_spawnSelection];};" \n
"_isNew = false;" \n
"_spawnSelection = dayz_selectRegion;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Character_Setup">*/
class Character_Setup
{
itemno = 16;
priority = 0.000000;
to="Phase_One";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_isNew"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeNemRegion = nil;" \n
"_timeNemGender = nil;" \n
""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Spawn_Process_65">*/
class Spawn_Process_65
{
name = "Spawn_Process_65";
itemno = 65;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Spawn_Process_65'];};" \n
"_isNew = false;" \n
"dayz_selectRegion = 9;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Character_Setup">*/
class Character_Setup
{
itemno = 16;
priority = 0.000000;
to="Phase_One";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!_isNew"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeNemRegion = nil;" \n
"_timeNemGender = nil;" \n
""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "ERROR__Date_Time">*/
class ERROR__Date_Time
{
name = "ERROR__Date_Time";
itemno = 72;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Date_Time'];};_myTime = diag_tickTime;" \n
"" \n
"diag_log format[""Date and time not synced""];" \n
"dayz_loadScreenMsg = localize 'str_player_desync';" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 73;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 5"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "get_ready_to_clo_1">*/
class get_ready_to_clo_1
{
name = "get_ready_to_clo_1";
itemno = 74;
init = /*%FSM<STATEINIT""">*/"diag_log ""Server authentication time out! Disconnect and try again!"";" \n
"dayz_loadScreenMsg = localize 'str_login_authentTimeout';" \n
"_myTime = diag_tickTime;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "sleep_">*/
class sleep_
{
itemno = 75;
priority = 0.000000;
to="Disconnect";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 2"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Waiting_for_Gender">*/
class Waiting_for_Gender
{
name = "Waiting_for_Gender";
itemno = 90;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for_Gender'];};" \n
"" \n
"_timeNemGender = diag_tickTime;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Gender_Closed_84">*/
class Gender_Closed_84
{
itemno = 84;
priority = 0.000000;
to="Gender_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_DisplayGenderSelect and !dialog"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Default_Male_215">*/
class Default_Male_215
{
itemno = 86;
priority = 0.000000;
to="Character_Type_6";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _timeNemGender) > 60)"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"dayz_selectGender = ""Survivor2_DZ"";"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Gender__Selected">*/
class Gender__Selected
{
itemno = 59;
priority = 0.000000;
to="Character_Type_6";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!dayz_DisplayGenderSelect"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_model = uiNameSpace getVariable 'dayz_selectGender';" \n
"" \n
"closeDialog 0;" \n
"" \n
"//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Waiting_for__Region">*/
class Waiting_for__Region
{
name = "Waiting_for__Region";
itemno = 92;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for__Region'];};" \n
"" \n
"_timeNemRegion = diag_tickTime;" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Default_Region_2">*/
class Default_Region_2
{
itemno = 87;
priority = 0.000000;
to="Region_Process_6";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _timeNemRegion) > 60)"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"dayz_selectRegion = 9;" \n
"" \n
"closeDialog 0;" \n
"" \n
"//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Region__Closed_2">*/
class Region__Closed_2
{
itemno = 94;
priority = 0.000000;
to="Region_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_DisplaySpawnSelecter and !dialog"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Region_Selected">*/
class Region_Selected
{
itemno = 62;
priority = 0.000000;
to="Region_Process_6";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!dayz_DisplaySpawnSelecter"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_spawnSelection=uiNameSpace getVariable 'dayz_selectRegion';" \n
"closeDialog 0;" \n
"//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Update_player">*/
class Update_player
{
name = "Update_player";
itemno = 96;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Update_player'];};" \n
"dayz_loadScreenMsg = format[ localize 'str_player_ghost', _timeOut];" \n
"" \n
"_myTime = diag_tickTime;" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "retry_Login">*/
class retry_Login
{
itemno = 104;
priority = 0.000000;
to="Request";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_timeOut < 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "sleep">*/
class sleep
{
itemno = 97;
priority = 0.000000;
to="Reset";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeOut = _timeOut - 1;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Ghost_System">*/
class Ghost_System
{
name = "Ghost_System";
itemno = 99;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Ghost_System'];};dayz_loadScreenMsg = localize 'str_login_ghostedPlayer';" \n
"" \n
""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Client_Ready">*/
class Client_Ready
{
itemno = 100;
priority = 0.000000;
to="Parse_Login";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"//isNil ""PVCDZ_plr_Ghost""" \n
"" \n
"!(isNil ""PVCDZ_plr_PlayerAccepted"")"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"PVCDZ_plr_PlayerAccepted = nil;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Client_Not_Ready">*/
class Client_Not_Ready
{
itemno = 95;
priority = 0.000000;
to="Update_player";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!(isNil ""PVCDZ_plr_Ghost"")"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeOut = (round (PVCDZ_plr_Ghost select 0));" \n
"PVCDZ_plr_Ghost = nil;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Reset">*/
class Reset
{
name = "Reset";
itemno = 101;
init = /*%FSM<STATEINIT""">*/"" \n
"dayz_loadScreenMsg = format [localize 'str_player_ghost', _timeOut];" \n
"" \n
"_myTime = diag_tickTime;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "retry_Login">*/
class retry_Login
{
itemno = 104;
priority = 0.000000;
to="Request";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"_timeOut < 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Sleep">*/
class Sleep
{
itemno = 102;
priority = 0.000000;
to="Update_player";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_timeOut = _timeOut - 1;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Finish_1">*/
class Finish_1
{
name = "Finish_1";
itemno = 106;
init = /*%FSM<STATEINIT""">*/"if (_debug == 1) then {diag_log [diag_tickTime,'Finish'];};" \n
"" \n
"dayz_playerName = if (alive player) then {name player} else {'unknown'};" \n
"PVDZ_plr_LoginRecord = [_playerUID,_charID,0,toArray dayz_playerName];" \n
"" \n
"" \n
"progressLoadingScreen 1;" \n
"" \n
"diag_log format ['Sent to server PVDZ_plr_LoginRecord: [%1, %2, %3, %4]',_playerUID,_charID,0,dayz_playerName]; " \n
"" \n
"_world = toUpper(worldName); //toUpper(getText (configFile >> ""CfgWorlds"" >> (worldName) >> ""description""));" \n
"_nearestCity = nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],1000];" \n
"" \n
"Dayz_logonTown = ""Wilderness"";" \n
"if (count _nearestCity > 0) then {Dayz_logonTown = text (_nearestCity select 0)};" \n
"" \n
"[_world,Dayz_logonTown,format[localize ""str_player_06"",(floor ((_survival select 0) / 1440))]] spawn {uiSleep 5; _this spawn BIS_fnc_infoText;};" \n
"" \n
"dayz_myPosition = getPosATL player;" \n
"Dayz_loginCompleted = true;" \n
"" \n
"//Other Counters" \n
" dayz_currentGlobalAnimals = count entities ""CAAnimalBase"";" \n
" dayz_currentGlobalZombies = count entities ""zZombie_Base"";" \n
"" \n
"{" \n
" call compile preprocessFileLineNumbers (""\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\""+_x+"".sqf""); " \n
"} count infectedWaterHoles;" \n
" " \n
"diag_log (infectedWaterHoles);"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "dayz_preloadFini">*/
class dayz_preloadFini
{
itemno = 107;
priority = 0.000000;
to="Finish";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"!isNil 'dayz_preloadFinished' && {dayz_preloadFinished}"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
/*%FSM<STATE "Player_Zombie__S">*/
class Player_Zombie__S
{
name = "Player_Zombie__S";
itemno = 109;
init = /*%FSM<STATEINIT""">*/"_zssupported = [""pz_policeman"",""pz_suit1"",""pz_suit2"",""pz_worker1"",""pz_worker2"",""pz_worker3"",""pz_doctor"",""pz_teacher"",""pz_hunter"",""pz_villager1"",""pz_villager2"",""pz_villager3"",""pz_priest""];" \n
"_model = (_zssupported select floor(random(count _zssupported)));" \n
"freshSpawn = 1;" \n
"dayz_preloadFinished=nil;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
{
/*%FSM<LINK "Selection_Enabled">*/
class Selection_Enabled
{
itemno = 66;
priority = 0.000000;
to="Region_Selection";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_spawnselection == 1"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "Selection_Disabled">*/
class Selection_Disabled
{
itemno = 67;
priority = 0.000000;
to="Spawn_Process_65";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
condition=/*%FSM<CONDITION""">*/"dayz_spawnselection == 0"/*%FSM</CONDITION""">*/;
action=/*%FSM<ACTION""">*/"_spawnSelection=9;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
};
};
/*%FSM</STATE>*/
};
initState="init";
finalStates[] =
{
"Finish",
};
};
/*%FSM</COMPILE>*/