/*%FSM*/ /*%FSM*/ /* 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,250,-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,4346,-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,-273.728088,309.860291,1963.873291,1148.161011,890,1244,1}; window[] = {2,-1,-1,-1,-1,760,234,1254,234,3,908}; *//*%FSM*/ class FSM { fsmName = "DayZ Player Monitor"; class States { /*%FSM*/ class init { name = "init"; itemno = 0; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Client { itemno = 5; priority = 0.000000; to="Loading"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isServer"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class isServer { itemno = 1; priority = 0.000000; to="wait"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"isServer"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class wait { name = "wait"; itemno = 2; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Allow_Connection { itemno = 3; priority = 0.000000; to="Loading"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"allowConnection"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Loading { name = "Loading"; itemno = 4; init = /*%FSM*/"dayz_loadScreenMsg = localize 'str_player_loading'; " \n "" \n "if (_debug == 1) then {diag_log [diag_tickTime,'Loading'];};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Initialized { itemno = 39; priority = 0.000000; to="Enable_Sim"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isnil ""BIS_MPF_InitDone"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Collect { name = "Collect"; itemno = 7; init = /*%FSM*/"" \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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class no_PlayerID { itemno = 9; priority = 2.000000; to="ERROR__No_Player"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_playerUID == """""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Has_PlayerID { itemno = 8; priority = 1.000000; to="Server_Loading"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!(isNil ""_playerUID"")"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__No_Player { name = "ERROR__No_Player"; itemno = 10; init = /*%FSM*/"selectNoPlayer;" \n "_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_player_no_playerid';" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep { itemno = 34; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 10"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Request { name = "Request"; itemno = 11; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class retry_ { itemno = 45; priority = 0.000000; to="Retry"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 10"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Response { itemno = 12; priority = 0.000000; to="Ghost_System"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count (PVCDZ_plr_Login) > 1"/*%FSM*/; action=/*%FSM*/"_msg = PVCDZ_plr_Login;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Parse_Login { name = "Parse_Login"; itemno = 13; init = /*%FSM*/"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 "_mygroup = [];" \n "_characterCoins = 0;" \n "_globalCoins = 0;" \n "_CoinsSpecial = 0;" \n "" \n "if (count _msg > 7) then {" \n " _isHiveOk = _msg select 7;" \n " _newPlayer = _msg select 8;" \n " _isInfected = _msg select 9;" \n " _mygroup = _msg select 10;" \n " _characterCoins = _msg select 11;" \n " _globalCoins = _msg select 12;" \n " _CoinsSpecial = _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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Hive_Bad { itemno = 14; priority = 10.000000; to="ERROR__Wrong_HIVE"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_isHiveOk"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class New_Character_57 { itemno = 57; priority = 5.000000; to="Gender_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_isNew and (_isInfected == 0) and !isNil 'dayz_preloadFinished') and {(dayz_preloadFinished)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class New_INFECTED_Character { itemno = 108; priority = 5.000000; to="Player_Zombie__S"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_isNew and (_isInfected == 1) and !isNil 'dayz_preloadFinished') and {(dayz_preloadFinished)}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Character_Setup { itemno = 16; priority = 0.000000; to="Phase_One"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_isNew"/*%FSM*/; action=/*%FSM*/"_timeNemRegion = nil;" \n "_timeNemGender = nil;" \n ""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__Wrong_HIVE { name = "ERROR__Wrong_HIVE"; itemno = 15; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep { itemno = 35; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 10"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Phase_One { name = "Phase_One"; itemno = 17; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Phase_One'];};" \n "if ((!isNil ""DZE_defaultSkin"") && _isNew && (_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 "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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Response { itemno = 18; priority = 0.000000; to="Phase_Two"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count (PVCDZ_plr_Login2) > 0"/*%FSM*/; action=/*%FSM*/"_msg = player getVariable[""worldspace"",[]];"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Phase_Two { name = "Phase_Two"; itemno = 19; init = /*%FSM*/"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 "" \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 0;" \n "_days = floor (_totalMins / 1440);" \n "_totalMins = (_totalMins - (_days * 1440));" \n "_hours = floor (_totalMins / 60);" \n "_mins = (_totalMins - (_hours * 60));" \n "" \n "//player variables" \n "dayz_characterID = _charID;" \n "dayz_hasFire = objNull; //records players Fireplace object" \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; //total alive dayz" \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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Alive { itemno = 22; priority = 0.000000; to="Position"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!r_player_dead/* and !_isNew*/"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Dead_Player { itemno = 20; priority = 0.000000; to="ERROR__Player_Already"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"r_player_dead"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__Player_Already { name = "ERROR__Player_Already"; itemno = 21; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep { itemno = 36; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 10"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Position { name = "Position"; itemno = 23; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Position'];};" \n "progressLoadingScreen 0.85;" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Bad_Version { itemno = 26; priority = 0.000000; to="ERROR__Bad_Versi"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_version != dayz_versionNo"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Version_Ok { itemno = 24; priority = 0.000000; to="Date_or_Time_Send"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_version == dayz_versionNo"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Load_In { name = "Load_In"; itemno = 25; init = /*%FSM*/"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 "" \n "if(dayz_paraSpawn && (freshSpawn == 2)) then {" \n " player setDir _setDir;" \n " player setPosATL [_setPos select 0,_setPos select 1,2000];" \n " [player,2000] spawn BIS_fnc_halo;" \n "} else {" \n " player setDir _setDir;" \n " player setPosATL _setPos;" \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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Display_Ready { itemno = 28; priority = 0.000000; to="Preload_Display"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"call sched_townGenerator_ready"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__Bad_Versi { name = "ERROR__Bad_Versi"; itemno = 27; init = /*%FSM*/"selectNoPlayer;" \n "_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_player_outdated';" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep { itemno = 37; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 5"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Preload_Display { name = "Preload_Display"; itemno = 29; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Preload_Display'];};" \n "" \n "dayz_lastCheckBit = 0;" \n "" \n "player disableConversation true;" \n "" \n "eh_player_killed = player addeventhandler [""FiredNear"",{_this call player_weaponFiredNear;} ];" \n "//player addEventHandler ['Respawn', player_death];" \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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Preload_Done { itemno = 30; priority = 0.000000; to="Initialize"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"preloadCamera getPosATL player"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Initialize { name = "Initialize"; itemno = 31; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Initialize'];};" \n "" \n "if (!isNil ""dayzInfectedCamps"") then {" \n " //diag_log (""Infected Camps: "" +str(dayzInfectedCamps));" \n " dayzInfectedCamps call infectedcamps;" \n "};" \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 [""GlobalMoney"", _globalCoins, true];" \n " player setVariable [""MoneySpecial"", _CoinsSpecial, true];" \n "};" \n "" \n "if (DZE_groupManagement) then {" \n " player setVariable [""savedGroup"", _mygroup, true];" \n " player setVariable [""purgeGroup"", 0, true];" \n "};" \n "" \n "dayz_musicH = [] spawn player_music;" \n "dayz_slowCheck = [] spawn player_spawn_2;" \n "Dayz_logonTime = daytime;" \n "Dayz_logonDate = dayz_Survived;" \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;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class True { itemno = 53; priority = 0.000000; to="Finish_1"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"true"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Finish { name = "Finish"; itemno = 32; init = /*%FSM*/"diag_log 'player_forceSave called from fsm';" \n "//call player_forceSave;" \n "" \n "publicVariableServer ""PVDZ_plr_LoginRecord"";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class Enable_Sim { name = "Enable_Sim"; itemno = 38; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class pbo_s__are_missi { itemno = 76; priority = 2.000000; to="ERROR__Client_Files"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(_myAnim != 1.8) || (_mySfx != 1.8) || (_myAssets != ""1.8.0.1"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.6"")"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class player____null_player { itemno = 6; priority = 0.000000; to="Collect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(!isNull player) and (player == player)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__Client_Files { name = "ERROR__Client_Files"; itemno = 40; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep_ { itemno = 41; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 10"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Stream { name = "Stream"; itemno = 42; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Stream'];};" \n "dayz_loadScreenMsg = localize 'str_login_spawningLocalObjects';" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Preloaded { itemno = 43; priority = 0.000000; to="Load_In"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(!isNil 'dayz_plantSpawner_done' && {dayz_plantSpawner_done == 2} && {!isNil 'BIS_fnc_init'})"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Retry { name = "Retry"; itemno = 46; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class auth_failed { itemno = 47; priority = 0.000000; to="get_ready_to_clo"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_AuthAttempt > 5"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class retry { itemno = 44; priority = 0.000000; to="Request"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 5"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class get_ready_to_clo { name = "get_ready_to_clo"; itemno = 48; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep_ { itemno = 49; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 2"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Disconnect { name = "Disconnect"; itemno = 50; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class Date_or_Time_Send { name = "Date_or_Time_Send"; itemno = 52; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Date_or_Time_Send'];};" \n "_myTime = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Got_time_date { itemno = 51; priority = 0.000000; to="Stream"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""dayzSetDate"""/*%FSM*/; action=/*%FSM*/"diag_log ['Date & time received:', dayzSetDate];" \n "setDate dayzSetDate;" \n "diag_log ['Local date on this client:', date];"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class no_Time_Date { itemno = 33; priority = 0.000000; to="ERROR__Date_Time"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"diag_tickTime - _myTime > 15"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Server_Loading { name = "Server_Loading"; itemno = 54; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Server_Ready { itemno = 56; priority = 0.000000; to="Request"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""sm_done"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Too_Long { itemno = 55; priority = 0.000000; to="get_ready_to_clo_1"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 120"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Gender_Selection { name = "Gender_Selection"; itemno = 58; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Reopen__Gender_2 { itemno = 93; priority = 0.000000; to="Gender_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_gender"/*%FSM*/; action=/*%FSM*/"closeDialog 0;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Gender_Opened_22 { itemno = 89; priority = 0.000000; to="Waiting_for_Gender"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_gender"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Character_Type_6 { name = "Character_Type_6"; itemno = 60; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n "" \n "_model = dayz_selectGender;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Selection_Enabled { itemno = 66; priority = 0.000000; to="Region_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_spawnselection == 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Selection_Disabled { itemno = 67; priority = 0.000000; to="Spawn_Process_65"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_spawnselection == 0"/*%FSM*/; action=/*%FSM*/"_spawnSelection=9;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Region_Selection { name = "Region_Selection"; itemno = 61; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Region_Opened_22 { itemno = 91; priority = 0.000000; to="Waiting_for__Region"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_region"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class reopen_Region_85 { itemno = 85; priority = 0.000000; to="Region_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_region"/*%FSM*/; action=/*%FSM*/"closeDialog 0;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Region_Process_6 { name = "Region_Process_6"; itemno = 63; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Region_Process_6, region selected:',_spawnSelection];};" \n "_isNew = false;" \n "_spawnSelection = dayz_selectRegion;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Character_Setup { itemno = 16; priority = 0.000000; to="Phase_One"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_isNew"/*%FSM*/; action=/*%FSM*/"_timeNemRegion = nil;" \n "_timeNemGender = nil;" \n ""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Spawn_Process_65 { name = "Spawn_Process_65"; itemno = 65; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Spawn_Process_65'];};" \n "_isNew = false;" \n "dayz_selectRegion = 9;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Character_Setup { itemno = 16; priority = 0.000000; to="Phase_One"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_isNew"/*%FSM*/; action=/*%FSM*/"_timeNemRegion = nil;" \n "_timeNemGender = nil;" \n ""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ERROR__Date_Time { name = "ERROR__Date_Time"; itemno = 72; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep { itemno = 73; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 5"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class get_ready_to_clo_1 { name = "get_ready_to_clo_1"; itemno = 74; init = /*%FSM*/"diag_log ""Server authentication time out! Disconnect and try again!"";" \n "dayz_loadScreenMsg = localize 'str_login_authentTimeout';" \n "_myTime = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class sleep_ { itemno = 75; priority = 0.000000; to="Disconnect"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 2"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Waiting_for_Gender { name = "Waiting_for_Gender"; itemno = 90; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for_Gender'];};" \n "" \n "_timeNemGender = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Gender_Closed_84 { itemno = 84; priority = 0.000000; to="Gender_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_DisplayGenderSelect and !dialog"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Default_Male_215 { itemno = 86; priority = 0.000000; to="Character_Type_6"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"((diag_tickTime - _timeNemGender) > 60)"/*%FSM*/; action=/*%FSM*/"dayz_selectGender = ""Survivor2_DZ"";"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Gender__Selected { itemno = 59; priority = 0.000000; to="Character_Type_6"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!dayz_DisplayGenderSelect"/*%FSM*/; action=/*%FSM*/"_model = uiNameSpace getVariable 'dayz_selectGender';" \n "" \n "closeDialog 0;" \n "" \n "//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Waiting_for__Region { name = "Waiting_for__Region"; itemno = 92; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for__Region'];};" \n "" \n "_timeNemRegion = diag_tickTime;" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Default_Region_2 { itemno = 87; priority = 0.000000; to="Region_Process_6"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"((diag_tickTime - _timeNemRegion) > 60)"/*%FSM*/; action=/*%FSM*/"dayz_selectRegion = 9;" \n "" \n "closeDialog 0;" \n "" \n "//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Region__Closed_2 { itemno = 94; priority = 0.000000; to="Region_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_DisplaySpawnSelecter and !dialog"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Region_Selected { itemno = 62; priority = 0.000000; to="Region_Process_6"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!dayz_DisplaySpawnSelecter"/*%FSM*/; action=/*%FSM*/"_spawnSelection=uiNameSpace getVariable 'dayz_selectRegion';" \n "closeDialog 0;" \n "//startLoadingScreen ['','RscDisplayLoadCustom'];"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Update_player { name = "Update_player"; itemno = 96; init = /*%FSM*/"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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class retry_Login { itemno = 104; priority = 0.000000; to="Request"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_timeOut < 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class sleep { itemno = 97; priority = 0.000000; to="Reset"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 1"/*%FSM*/; action=/*%FSM*/"_timeOut = _timeOut - 1;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Ghost_System { name = "Ghost_System"; itemno = 99; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Ghost_System'];};dayz_loadScreenMsg = localize 'str_login_ghostedPlayer';" \n "" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Client_Ready { itemno = 100; priority = 0.000000; to="Parse_Login"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"//isNil ""PVCDZ_plr_Ghost""" \n "" \n "!(isNil ""PVCDZ_plr_PlayerAccepted"")"/*%FSM*/; action=/*%FSM*/"PVCDZ_plr_PlayerAccepted = nil;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Client_Not_Ready { itemno = 95; priority = 0.000000; to="Update_player"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!(isNil ""PVCDZ_plr_Ghost"")"/*%FSM*/; action=/*%FSM*/"_timeOut = (round (PVCDZ_plr_Ghost select 0));" \n "PVCDZ_plr_Ghost = nil;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Reset { name = "Reset"; itemno = 101; init = /*%FSM*/"" \n "dayz_loadScreenMsg = format [localize 'str_player_ghost', _timeOut];" \n "" \n "_myTime = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class retry_Login { itemno = 104; priority = 0.000000; to="Request"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_timeOut < 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Sleep { itemno = 102; priority = 0.000000; to="Update_player"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"(diag_tickTime - _myTime) > 1"/*%FSM*/; action=/*%FSM*/"_timeOut = _timeOut - 1;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Finish_1 { name = "Finish_1"; itemno = 106; init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Finish'];};" \n "" \n "PVDZ_plr_LoginRecord = [_playerUID,_charID,0,toArray (name vehicle player)];" \n "" \n "" \n "progressLoadingScreen 1;" \n "" \n "diag_log format ['Sent to server PVDZ_plr_LoginRecord: [%1, %2, %3, %4]',_playerUID,_charID,0,(name vehicle player)]; " \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"",dayz_Survived]] spawn {" \n " uiSleep 1;" \n " if (dayz_isSwimming && !surfaceIsWater (getPosASL player)) then {player setPosATL [getPosATL player select 0,getPosATL player select 1,(getPosATL player select 2)+.1];}; //Fix swimming in ground glitch on some maps" \n " uiSleep 4;" \n " _this spawn BIS_fnc_infoText;" \n "};" \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"";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class dayz_preloadFini { itemno = 107; priority = 0.000000; to="Finish"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil 'dayz_preloadFinished' && {dayz_preloadFinished}"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Player_Zombie__S { name = "Player_Zombie__S"; itemno = 109; init = /*%FSM*/"_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*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Selection_Enabled { itemno = 66; priority = 0.000000; to="Region_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_spawnselection == 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Selection_Disabled { itemno = 67; priority = 0.000000; to="Spawn_Process_65"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"dayz_spawnselection == 0"/*%FSM*/; action=/*%FSM*/"_spawnSelection=9;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ }; initState="init"; finalStates[] = { "Finish", }; }; /*%FSM*/