mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
comment out enableSimulation and attempt to make use of nearObjectsReady. Revel player object earlier Change getposATL to getpos as preloadCamera uses AGL
1398 lines
56 KiB
Plaintext
1398 lines
56 KiB
Plaintext
/*%FSM<COMPILE "F:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Epoch Login">*/
|
|
/*%FSM<HEAD>*/
|
|
/*
|
|
item0[] = {"INIT",0,4346,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
|
item1[] = {"FINISH",1,250,-25.000000,1475.000000,75.000000,1525.000000,0.000000,"FINISH"};
|
|
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
|
item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
|
|
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
|
item5[] = {"Check_Player_UID",2,250,-25.000000,125.000000,75.000000,175.000000,0.000000,"Check Player UID"};
|
|
item6[] = {"PlayerUID_Okay",4,218,-150.000000,175.000000,-50.000000,225.000000,10.000000,"PlayerUID" \n "Okay"};
|
|
item7[] = {"Wrong_Version",4,218,125.000000,-75.000000,225.000000,-25.000000,10.000000,"Wrong" \n "Version"};
|
|
item8[] = {"",7,210,471.000061,-54.000099,478.999939,-45.999901,0.000000,""};
|
|
item9[] = {"ERROR_Wrong_Version",2,250,275.000000,-75.000000,375.000000,-25.000000,0.000000,"ERROR" \n "Wrong Version" \n "Epoch"};
|
|
item10[] = {"Disconnect",2,250,600.000000,1225.000000,700.000000,1275.000000,0.000000,"Disconnect"};
|
|
item11[] = {"Server_Okay",4,218,-125.000000,425.000000,-25.000000,475.000000,0.000000,"Server" \n "Okay"};
|
|
item12[] = {"Empty_PlayerUID",4,218,125.000000,125.000000,225.000000,175.000000,0.000000,"Empty" \n "PlayerUID"};
|
|
item13[] = {"ERROR_PlayerUID",2,250,275.000000,125.000000,375.000000,175.000000,0.000000,"ERROR" \n "PlayerUID Empty"};
|
|
item14[] = {"",7,210,471.000061,145.999908,478.999939,154.000092,0.000000,""};
|
|
item15[] = {"Timeout_No_Respo",4,218,125.000000,875.000000,225.000000,925.000000,0.000000,"Timeout" \n "No Response"};
|
|
item16[] = {"Response",4,218,-150.000000,825.000000,-50.000000,875.000000,0.000000,"Response"};
|
|
item17[] = {"Setup_Player_Var",2,250,-25.000000,1075.000000,75.000000,1125.000000,0.000000,"Setup Player" \n "Variables"};
|
|
item18[] = {"Request_Hive",2,250,-25.000000,575.000000,75.000000,625.000000,0.000000,"Request Hive"};
|
|
item19[] = {"Timeout_No_Respo",4,218,125.000000,575.000000,225.000000,625.000000,0.000000,"Timeout" \n "No Response"};
|
|
item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
|
item21[] = {"",7,210,471.000000,895.999939,479.000000,904.000061,0.000000,""};
|
|
item22[] = {"Timeout_No_Respo",4,218,125.000000,775.000000,225.000000,825.000000,0.000000,"Timeout" \n "No Response"};
|
|
item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000,10.000000,"Wrong" \n "Server Version"};
|
|
item24[] = {"true",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"true"};
|
|
item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
|
|
item26[] = {"Display_Message",4,218,600.000000,1150.000000,700.000000,1200.000000,0.000000,"" \n "Display Message" \n "Wait..."};
|
|
item27[] = {"Setup_Player_Obj",2,250,-25.000000,975.000000,75.000000,1025.000000,0.000000,"Setup Player" \n "Object"};
|
|
item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
|
|
item29[] = {"Preload_done",8,218,-150.000000,1425.000000,-50.000000,1475.000000,0.000000,"Preload" \n "done"};
|
|
item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
|
item31[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
|
item32[] = {"true",8,218,425.000000,1075.000000,525.000000,1125.000000,0.000000,"true"};
|
|
item33[] = {"Display_Message",2,250,600.000000,1075.000000,700.000000,1125.000000,0.000000,"Display" \n "Message"};
|
|
item34[] = {"Server_Ready",4,218,-25.000000,300.000000,75.000000,350.000000,0.000000,"Server" \n "Ready"};
|
|
item35[] = {"Check_Server",2,250,-25.000000,375.000000,75.000000,425.000000,0.000000,"Check Server"};
|
|
item36[] = {"Server_not_worki",4,218,125.000000,375.000000,225.000000,425.000000,10.000000,"Server" \n "not working"};
|
|
item37[] = {"ERROR_Server_not_1",2,250,275.000000,375.000000,375.000000,425.000000,0.000000,"ERROR" \n "Server not Ready"};
|
|
item38[] = {"",7,210,471.000000,396.000000,479.000000,404.000000,0.000000,""};
|
|
item39[] = {"Check_Server_1",2,250,-25.000000,225.000000,75.000000,275.000000,0.000000,"Check Server"};
|
|
item40[] = {"Timeout_No_Respo",4,218,125.000000,225.000000,225.000000,275.000000,0.000000,"Timeout" \n "No Response"};
|
|
item41[] = {"ERROR_Server_not_2",2,250,275.000000,225.000000,375.000000,275.000000,0.000000,"ERROR" \n "Server not Ready"};
|
|
item42[] = {"",7,210,471.000000,246.000031,479.000000,253.999969,0.000000,""};
|
|
item43[] = {"Reject_without_B",1,250,900.000000,1225.000000,1000.000000,1275.000000,0.000000,"Reject without" \n "BattlEye"};
|
|
item44[] = {"true",8,218,-150.000000,-25.000000,-50.000000,25.000000,0.000000,"true"};
|
|
item45[] = {"Arma_Version_Che",2,250,-25.000000,25.000000,75.000000,75.000000,0.000000,"Arma Version" \n "Check"};
|
|
item46[] = {"Outdated_Version",4,218,125.000000,25.000000,225.000000,75.000000,10.000000,"Outdated" \n "Version"};
|
|
item47[] = {"ERROR_Wrong_Version_1",2,250,275.000000,25.000000,375.000000,75.000000,0.000000,"ERROR" \n "Wrong Version" \n "ArmA"};
|
|
item48[] = {"",7,210,471.000061,45.999908,478.999939,54.000092,0.000000,""};
|
|
item49[] = {"new_player_____p",4,218,-150.000000,1025.000000,-50.000000,1075.000000,0.000000,"new player == " \n "player"};
|
|
item50[] = {"Setup_EH_s_and_H",2,250,-25.000000,1175.000000,75.000000,1225.000000,0.000000,"Setup EH's" \n "and" \n "HitPoints"};
|
|
item51[] = {"no_weapons",4,218,-25.000000,1275.000000,75.000000,1325.000000,0.000000,"no weapons"};
|
|
item52[] = {"Process",2,250,-25.000000,1375.000000,75.000000,1425.000000,0.000000,"Process"};
|
|
item53[] = {"Has_Current_Weap",4,218,100.000000,1175.000000,200.000000,1225.000000,10.000000,"Has" \n "Current" \n "Weapon"};
|
|
item54[] = {"Find_Active_Weap",2,250,225.000000,1175.000000,325.000000,1225.000000,0.000000,"Find" \n "Active" \n "Weapon"};
|
|
item55[] = {"Current_Weapon_Not",4,218,150.000000,1225.000000,250.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Not Selected"};
|
|
item56[] = {"Current_Weapon_S",4,218,300.000000,1225.000000,400.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Selected"};
|
|
item57[] = {"Select_Weapon",2,250,150.000000,1300.000000,250.000000,1350.000000,0.000000,"Select" \n "Weapon"};
|
|
item58[] = {"true",8,218,225.000000,1375.000000,325.000000,1425.000000,0.000000,"true"};
|
|
item59[] = {"Do_nothing",2,250,300.000000,1300.000000,400.000000,1350.000000,0.000000,"Do nothing"};
|
|
item60[] = {"Check_New_Player",2,250,-25.000000,875.000000,75.000000,925.000000,0.000000,"Check" \n "New Player" \n "Setup"};
|
|
item61[] = {"check_new__player",4,218,-150.000000,925.000000,-50.000000,975.000000,0.000000,"check new " \n "player not null"};
|
|
item62[] = {"true",8,218,-150.000000,-325.000000,-50.000000,-275.000000,0.000000,"true"};
|
|
item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
|
|
item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
|
|
item65[] = {"Start_Loading_Sc",2,250,-25.000000,-175.000000,75.000000,-125.000000,0.000000,"Start Loading" \n "Screen"};
|
|
item66[] = {"freshServer",4,218,-325.000000,225.000000,-225.000000,275.000000,0.000000,"freshServer"};
|
|
item67[] = {"Update_Loadingscreen",2,250,-325.000000,300.000000,-225.000000,350.000000,0.000000,"Update" \n "Loadingscreen" \n "Message"};
|
|
item68[] = {"true",8,218,-150.000000,300.000000,-50.000000,350.000000,0.000000,"true"};
|
|
item69[] = {"Timeout_",4,218,125.000000,975.000000,225.000000,1025.000000,0.000000,"" \n "Timeout" \n ""};
|
|
item70[] = {"ERROR_Player_Setup",2,250,275.000000,975.000000,375.000000,1025.000000,0.000000,"ERROR" \n "Player Setup" \n "Invalid"};
|
|
item71[] = {"",7,210,471.000000,996.000000,479.000000,1004.000000,0.000000,""};
|
|
item72[] = {"Server_Version_C",2,250,-25.000000,475.000000,75.000000,525.000000,0.000000,"Server Version" \n "Check"};
|
|
item73[] = {"Version_Okay",4,218,-125.000000,525.000000,-25.000000,575.000000,0.000000,"Version" \n "Okay"};
|
|
item74[] = {"",7,210,471.000000,496.000000,479.000000,504.000000,0.000000,""};
|
|
item75[] = {"ERROR_Server_not_3",2,250,275.000000,575.000000,375.000000,625.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
|
item76[] = {"",7,210,471.000000,596.000000,479.000000,604.000000,0.000000,""};
|
|
item77[] = {"new_character",4,218,-250.000000,675.000000,-150.000000,725.000000,10.000000,"new" \n "character"};
|
|
item78[] = {"Hive_Response",4,218,-125.000000,625.000000,-25.000000,675.000000,0.000000,"Hive" \n "Response"};
|
|
item79[] = {"load_old_charact",4,218,-125.000000,725.000000,-25.000000,775.000000,0.000000,"load old" \n "character"};
|
|
item80[] = {"Process_2",2,250,-25.000000,675.000000,75.000000,725.000000,0.000000,"Process"};
|
|
item81[] = {"Open_Gender_Selection",2,250,-400.000000,675.000000,-300.000000,725.000000,0.000000,"Open Gender" \n "Selection Dialog"};
|
|
item82[] = {"Reopen_when_client",4,218,-400.000000,600.000000,-300.000000,650.000000,0.000000,"Reopen" \n "when client hit" \n "escape"};
|
|
item83[] = {"Gender_Selected",4,218,-450.000000,750.000000,-350.000000,800.000000,10.000000,"Gender" \n "Selected"};
|
|
item84[] = {"Timeout",4,218,-350.000000,750.000000,-250.000000,800.000000,0.000000,"Timeout"};
|
|
item85[] = {"Send_character_s",2,250,-400.000000,825.000000,-300.000000,875.000000,0.000000,"Send" \n "character" \n "selection"};
|
|
item86[] = {"Process_3",2,250,-25.000000,775.000000,75.000000,825.000000,0.000000,"Process"};
|
|
item87[] = {"ERROR_Server_not_4",2,250,275.000000,775.000000,375.000000,825.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
|
|
link0[] = {0,62};
|
|
link1[] = {2,3};
|
|
link2[] = {3,7};
|
|
link3[] = {3,44};
|
|
link4[] = {4,5};
|
|
link5[] = {5,6};
|
|
link6[] = {5,12};
|
|
link7[] = {6,39};
|
|
link8[] = {7,9};
|
|
link9[] = {8,48};
|
|
link10[] = {9,8};
|
|
link11[] = {10,28};
|
|
link12[] = {11,72};
|
|
link13[] = {12,13};
|
|
link14[] = {13,14};
|
|
link15[] = {14,42};
|
|
link16[] = {15,20};
|
|
link17[] = {16,60};
|
|
link18[] = {17,24};
|
|
link19[] = {18,19};
|
|
link20[] = {18,78};
|
|
link21[] = {19,75};
|
|
link22[] = {20,21};
|
|
link23[] = {21,71};
|
|
link24[] = {22,87};
|
|
link25[] = {23,25};
|
|
link26[] = {24,50};
|
|
link27[] = {25,74};
|
|
link28[] = {26,10};
|
|
link29[] = {27,49};
|
|
link30[] = {27,69};
|
|
link31[] = {28,43};
|
|
link32[] = {29,1};
|
|
link33[] = {31,21};
|
|
link34[] = {32,33};
|
|
link35[] = {33,26};
|
|
link36[] = {34,35};
|
|
link37[] = {35,11};
|
|
link38[] = {35,36};
|
|
link39[] = {36,37};
|
|
link40[] = {37,38};
|
|
link41[] = {38,74};
|
|
link42[] = {39,34};
|
|
link43[] = {39,40};
|
|
link44[] = {39,66};
|
|
link45[] = {40,41};
|
|
link46[] = {41,42};
|
|
link47[] = {42,38};
|
|
link48[] = {44,45};
|
|
link49[] = {45,4};
|
|
link50[] = {45,46};
|
|
link51[] = {46,47};
|
|
link52[] = {47,48};
|
|
link53[] = {48,14};
|
|
link54[] = {49,17};
|
|
link55[] = {50,51};
|
|
link56[] = {50,53};
|
|
link57[] = {51,52};
|
|
link58[] = {52,29};
|
|
link59[] = {53,54};
|
|
link60[] = {54,55};
|
|
link61[] = {54,56};
|
|
link62[] = {55,57};
|
|
link63[] = {56,59};
|
|
link64[] = {57,58};
|
|
link65[] = {58,52};
|
|
link66[] = {59,58};
|
|
link67[] = {60,15};
|
|
link68[] = {60,61};
|
|
link69[] = {61,27};
|
|
link70[] = {62,63};
|
|
link71[] = {63,64};
|
|
link72[] = {64,65};
|
|
link73[] = {65,2};
|
|
link74[] = {66,67};
|
|
link75[] = {67,68};
|
|
link76[] = {68,39};
|
|
link77[] = {69,70};
|
|
link78[] = {70,71};
|
|
link79[] = {71,32};
|
|
link80[] = {72,23};
|
|
link81[] = {72,73};
|
|
link82[] = {73,18};
|
|
link83[] = {74,76};
|
|
link84[] = {75,76};
|
|
link85[] = {76,31};
|
|
link86[] = {77,81};
|
|
link87[] = {78,80};
|
|
link88[] = {79,86};
|
|
link89[] = {80,77};
|
|
link90[] = {80,79};
|
|
link91[] = {81,82};
|
|
link92[] = {81,83};
|
|
link93[] = {81,84};
|
|
link94[] = {82,81};
|
|
link95[] = {83,85};
|
|
link96[] = {84,85};
|
|
link97[] = {85,79};
|
|
link98[] = {86,16};
|
|
link99[] = {86,22};
|
|
link100[] = {87,31};
|
|
globals[] = {0.000000,0,0,0,0,640,480,1,244,6316128,1,-213.844360,425.695953,479.928528,-482.114990,585,880,1};
|
|
window[] = {2,-1,-1,-1,-1,968,156,1448,156,3,603};
|
|
*//*%FSM</HEAD>*/
|
|
class FSM
|
|
{
|
|
fsmName = "Epoch Login";
|
|
class States
|
|
{
|
|
/*%FSM<STATE "INIT">*/
|
|
class INIT
|
|
{
|
|
name = "INIT";
|
|
init = /*%FSM<STATEINIT""">*/"titleCut ["""", ""BLACK FADED"", 1337];" \n
|
|
"0 fadeSound 0;" \n
|
|
"//player enableSimulation false;" \n
|
|
"" \n
|
|
"_debug = true;" \n
|
|
"_myTime = diag_tickTime;" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Init"";" \n
|
|
"};" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Process_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";
|
|
init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
|
|
" disableSerialization;" \n
|
|
" waitUntil{!isNull (findDisplay 46)};" \n
|
|
" _display = findDisplay 46;" \n
|
|
" {" \n
|
|
" _display displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
|
|
" } forEach ([""CfgEpochClient"", ""displayAddEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
|
|
" " \n
|
|
" player switchMove """";" \n
|
|
"};" \n
|
|
"" \n
|
|
"3 fadeSound 1;" \n
|
|
"" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Finish!"";" \n
|
|
"};" \n
|
|
"" \n
|
|
"" \n
|
|
"" \n
|
|
"//player enableSimulation true;" \n
|
|
"" \n
|
|
"titleCut ["""", ""BLACK IN"", 1];" \n
|
|
"1338 cutText ["""",""PLAIN"",0]; " \n
|
|
"" \n
|
|
"progressLoadingScreen 1.0;" \n
|
|
"" \n
|
|
"endLoadingScreen;" \n
|
|
"EPOCH_loadingScreenDone = true;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Version_Check">*/
|
|
class Version_Check
|
|
{
|
|
name = "Version_Check";
|
|
init = /*%FSM<STATEINIT""">*/"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Version Check"";" \n
|
|
"};" \n
|
|
"" \n
|
|
"// SHOULD BE:" \n
|
|
"_epoch_assets0 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets"");" \n
|
|
"_epoch_assets1 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets_1"");" \n
|
|
"_epoch_assets2 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""epoch_objects"");" \n
|
|
"_epoch_assets3 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets_3"");" \n
|
|
"_epoch_config = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_config"");" \n
|
|
"_epoch_language = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_language"");" \n
|
|
"_epoch_underground = getText(configFile >> ""Epoch"" >> ""Version"" >> ""Underground_Epoch"");" \n
|
|
"_epoch_vehicles = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_vehicles"");" \n
|
|
"_epoch_weapons = getText(configFile >> ""Epoch"" >> ""Version"" >> ""a3_epoch_weapons"");" \n
|
|
"" \n
|
|
"" \n
|
|
"// IS:" \n
|
|
"_my_epoch_assets0 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets"" >> ""epochVersion"");" \n
|
|
"_my_epoch_assets1 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets_1"" >> ""epochVersion"");" \n
|
|
"_my_epoch_assets2 = getText(configFile >> ""CfgPatches"" >> ""epoch_objects"" >> ""epochVersion"");" \n
|
|
"_my_epoch_assets3 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets_3"" >> ""epochVersion"");" \n
|
|
"_my_epoch_config = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_config"" >> ""epochVersion"");" \n
|
|
"_my_epoch_language = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_language"" >> ""epochVersion"");" \n
|
|
"_my_epoch_underground = getText(configFile >> ""CfgPatches"" >> ""Underground_Epoch"" >> ""epochVersion"");" \n
|
|
"_my_epoch_vehicles = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_vehicles"" >> ""epochVersion"");" \n
|
|
"_my_epoch_weapons = getText(configFile >> ""CfgPatches"" >> ""a3_epoch_weapons"" >> ""epochVersion"");" \n
|
|
"" \n
|
|
"progressLoadingScreen 0.1;" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Wrong_Version">*/
|
|
class Wrong_Version
|
|
{
|
|
priority = 10.000000;
|
|
to="ERROR_Wrong_Version";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_epoch_assets0 != _epoch_assets0 ||" \n
|
|
"_my_epoch_assets1 != _epoch_assets1 ||" \n
|
|
"_my_epoch_assets2 != _epoch_assets2 ||" \n
|
|
"_my_epoch_assets3 != _epoch_assets3 ||" \n
|
|
"_my_epoch_config != _epoch_config ||" \n
|
|
"_my_epoch_language != _epoch_language ||" \n
|
|
"_my_epoch_underground != _epoch_underground ||" \n
|
|
"_my_epoch_vehicles != _epoch_vehicles ||" \n
|
|
"_my_epoch_weapons != _epoch_weapons"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Arma_Version_Che";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Check_Player_UID">*/
|
|
class Check_Player_UID
|
|
{
|
|
name = "Check_Player_UID";
|
|
init = /*%FSM<STATEINIT""">*/"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Check PlayerUID"";" \n
|
|
"};" \n
|
|
"" \n
|
|
"_playerUID = getPlayerUID player;" \n
|
|
"" \n
|
|
"progressLoadingScreen 0.2;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "PlayerUID_Okay">*/
|
|
class PlayerUID_Okay
|
|
{
|
|
priority = 10.000000;
|
|
to="Check_Server_1";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/"!isNil ""_playerUID"""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_playerUID != """""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Empty_PlayerUID">*/
|
|
class Empty_PlayerUID
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_PlayerUID";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Wrong_Version">*/
|
|
class ERROR_Wrong_Version
|
|
{
|
|
name = "ERROR_Wrong_Version";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""You have an outdated version of Epoch"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_EPOCHVERSION = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_EPOCHVERSION"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Disconnect">*/
|
|
class Disconnect
|
|
{
|
|
name = "Disconnect";
|
|
init = /*%FSM<STATEINIT""">*/"endLoadingScreen;" \n
|
|
"1338 cutText [_msg,""PLAIN"",0]; " \n
|
|
"deleteVehicle player;" \n
|
|
"call _rejectPlayer;" \n
|
|
"// diag_log format [""(%1) %2"",diag_tickTime,_msg];" \n
|
|
"_myTime = diag_tickTime;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Check_if_Player">*/
|
|
class Check_if_Player
|
|
{
|
|
priority = 0.000000;
|
|
to="Reject_without_B";
|
|
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 "ERROR_PlayerUID">*/
|
|
class ERROR_PlayerUID
|
|
{
|
|
name = "ERROR_PlayerUID";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Can not setup Player Object! (Error 01)"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_UID = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_UID"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Setup_Player_Var">*/
|
|
class Setup_Player_Var
|
|
{
|
|
name = "Setup_Player_Var";
|
|
init = /*%FSM<STATEINIT""">*/"diag_log format[""DEBUG TIME WAITED: %1"", (diag_tickTime - _myTime)];" \n
|
|
"{" \n
|
|
" missionNamespace setVariable[(format[""EPOCH_player%1"", EPOCH_customVars select _forEachIndex]), _x];" \n
|
|
"} forEach _playerVariables;" \n
|
|
"" \n
|
|
"""Loading Player Variables... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"" \n
|
|
"EPOCH_lastPlayerPos = getPosATL vehicle player;" \n
|
|
"" \n
|
|
"progressLoadingScreen 0.7;" \n
|
|
"" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Setup Player Variables"";" \n
|
|
"};" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Setup_EH_s_and_H";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Request_Hive">*/
|
|
class Request_Hive
|
|
{
|
|
name = "Request_Hive";
|
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
|
"" \n
|
|
"Epoch_my_Group = [];" \n
|
|
"" \n
|
|
"player remoteExec [""EPOCH_server_checkPlayer"",2];" \n
|
|
"" \n
|
|
"" \n
|
|
"""Loading Player Data... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"progressLoadingScreen 0.5;" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Hive_Response">*/
|
|
class Hive_Response
|
|
{
|
|
priority = 0.000000;
|
|
to="Process_2";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_checkPlayer_PVC"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"_newChar = EPOCH_checkPlayer_PVC;" \n
|
|
"EPOCH_checkPlayer_PVC = nil;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Timeout_No_Respo">*/
|
|
class Timeout_No_Respo
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_Server_not_3";
|
|
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 "ERROR_Server_not">*/
|
|
class ERROR_Server_not
|
|
{
|
|
name = "ERROR_Server_not";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_NoResponse2 = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_NoResponse2"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Wrong_Server">*/
|
|
class ERROR_Wrong_Server
|
|
{
|
|
name = "ERROR_Wrong_Server";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = format[""Server and Client running with different Version! (You: %1 // Server: %2)"",getText(configFile >> ""CfgMods"" >> ""Epoch"" >> ""version""),_serverVersion];" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_ServerVersion = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_ServerVersion"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Setup_Player_Obj">*/
|
|
class Setup_Player_Obj
|
|
{
|
|
name = "Setup_Player_Obj";
|
|
init = /*%FSM<STATEINIT""">*/"_ply = player;" \n
|
|
"_group = group player;" \n
|
|
"" \n
|
|
"selectPlayer _playerObject;" \n
|
|
"" \n
|
|
"deleteVehicle _ply;" \n
|
|
"deleteGroup _group;" \n
|
|
"" \n
|
|
"""Loading Player Body... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"progressLoadingScreen 0.8;" \n
|
|
"" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Setup Player Object"";" \n
|
|
"};" \n
|
|
"" \n
|
|
"_myTime = diag_tickTime;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Timeout_">*/
|
|
class Timeout_
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_Player_Setup";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 60"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "new_player_____p">*/
|
|
class new_player_____p
|
|
{
|
|
priority = 0.000000;
|
|
to="Setup_Player_Var";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_playerObject == player"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Display_Message">*/
|
|
class Display_Message
|
|
{
|
|
name = "Display_Message";
|
|
init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
|
|
" waitUntil{!isNull (findDisplay 46)};" \n
|
|
" (findDisplay 46) displayAddEventHandler [""KeyDown"",""true""];" \n
|
|
" (findDisplay 46) displayAddEventHandler [""KeyUp"",""true""];" \n
|
|
"};" \n
|
|
"// diag_log format [""(%1) %2"",diag_tickTime,_msg];" \n
|
|
"_myTime = diag_tickTime;" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Display_Message">*/
|
|
class Display_Message
|
|
{
|
|
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 "Check_Server">*/
|
|
class Check_Server
|
|
{
|
|
name = "Check_Server";
|
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Check Server"";" \n
|
|
"};" \n
|
|
"""Checking Server... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"progressLoadingScreen 0.4;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Server_not_worki">*/
|
|
class Server_not_worki
|
|
{
|
|
priority = 10.000000;
|
|
to="ERROR_Server_not_1";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_BADHIVE""" \n
|
|
""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Server_Okay">*/
|
|
class Server_Okay
|
|
{
|
|
priority = 0.000000;
|
|
to="Server_Version_C";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""Epoch_ServerVersion"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Server_not_1">*/
|
|
class ERROR_Server_not_1
|
|
{
|
|
name = "ERROR_Server_not_1";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Server not Ready (Error 03)"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_NotReady2 = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_NotReady2"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Check_Server_1">*/
|
|
class Check_Server_1
|
|
{
|
|
name = "Check_Server_1";
|
|
init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.3;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Timeout_No_Respo">*/
|
|
class Timeout_No_Respo
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_Server_not_2";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 180"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "freshServer">*/
|
|
class freshServer
|
|
{
|
|
priority = 0.000000;
|
|
to="Update_Loadingscreen";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"uiNamespace getVariable ['Epoch_freshServer', false]"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Server_Ready">*/
|
|
class Server_Ready
|
|
{
|
|
priority = 0.000000;
|
|
to="Check_Server";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_SERVER"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"_serverUptime = EPOCH_SERVER;" \n
|
|
"EPOCH_SERVER = nil;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Server_not_2">*/
|
|
class ERROR_Server_not_2
|
|
{
|
|
name = "ERROR_Server_not_2";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Server not Ready (Error 02)"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_NotReady1 = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_NotReady1"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Reject_without_B">*/
|
|
class Reject_without_B
|
|
{
|
|
name = "Reject_without_B";
|
|
init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
|
|
" waitUntil{!isNull (findDisplay 46)};" \n
|
|
" waitUntil {" \n
|
|
" (findDisplay 46) closeDisplay 0;" \n
|
|
" isNull (findDisplay 46)" \n
|
|
" };" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Arma_Version_Che">*/
|
|
class Arma_Version_Che
|
|
{
|
|
name = "Arma_Version_Che";
|
|
init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.15;" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Outdated_Version">*/
|
|
class Outdated_Version
|
|
{
|
|
priority = 10.000000;
|
|
to="ERROR_Wrong_Version_1";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"productVersion select 2 < getNumber(configFile >> ""CfgMods"" >> ""Epoch"" >> ""ArmAVersion"")"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Player_Object_Re">*/
|
|
class Player_Object_Re
|
|
{
|
|
priority = 0.000000;
|
|
to="Check_Player_UID";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/"!isNull player"/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"player == player"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Wrong_Version_1">*/
|
|
class ERROR_Wrong_Version_1
|
|
{
|
|
name = "ERROR_Wrong_Version_1";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""You have an outdated version of ArmA 3"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_ARMAVERSION = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_ARMAVERSION"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Setup_EH_s_and_H">*/
|
|
class Setup_EH_s_and_H
|
|
{
|
|
name = "Setup_EH_s_and_H";
|
|
init = /*%FSM<STATEINIT""">*/"{" \n
|
|
" player addEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
|
|
"} forEach ([""CfgEpochClient"", ""addEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
|
|
"" \n
|
|
"if (count EPOCH_playerHitPoints isEqualTo count ((getAllHitPointsDamage player) param [0,[]])) then {" \n
|
|
" {" \n
|
|
" player setHitIndex [_forEachIndex, _x];" \n
|
|
" }forEach EPOCH_playerHitPoints;" \n
|
|
"};" \n
|
|
"" \n
|
|
"[] spawn EPOCH_masterLoop;" \n
|
|
"true call EPOCH_fnc_Weather;" \n
|
|
"[5,100] spawn EPOCH_niteLight;" \n
|
|
"" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Setup EH's"";" \n
|
|
"};" \n
|
|
"" \n
|
|
"""Loading... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"progressLoadingScreen 0.9;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Has_Current_Weap">*/
|
|
class Has_Current_Weap
|
|
{
|
|
priority = 10.000000;
|
|
to="Find_Active_Weap";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_currentWeapon != """""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "no_weapons">*/
|
|
class no_weapons
|
|
{
|
|
priority = 0.000000;
|
|
to="Process";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_currentWeapon == """""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Process">*/
|
|
class Process
|
|
{
|
|
name = "Process";
|
|
init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.975;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Preload_done">*/
|
|
class Preload_done
|
|
{
|
|
priority = 0.000000;
|
|
to="FINISH";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"preloadCamera _playerPos"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"call compile _playerGroupOnline;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Find_Active_Weap">*/
|
|
class Find_Active_Weap
|
|
{
|
|
name = "Find_Active_Weap";
|
|
init = /*%FSM<STATEINIT""">*/"_activeWeapon = currentWeapon player;" \n
|
|
"progressLoadingScreen 0.95;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Current_Weapon_S">*/
|
|
class Current_Weapon_S
|
|
{
|
|
priority = 0.000000;
|
|
to="Do_nothing";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_activeWeapon == _currentWeapon"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Current_Weapon_Not">*/
|
|
class Current_Weapon_Not
|
|
{
|
|
priority = 0.000000;
|
|
to="Select_Weapon";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_activeWeapon != _currentWeapon"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Select_Weapon">*/
|
|
class Select_Weapon
|
|
{
|
|
name = "Select_Weapon";
|
|
init = /*%FSM<STATEINIT""">*/"_currentWeapon spawn {" \n
|
|
" uiSleep 1; " \n
|
|
" player selectWeapon _this;" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Process";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Do_nothing">*/
|
|
class Do_nothing
|
|
{
|
|
name = "Do_nothing";
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Process";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Check_New_Player">*/
|
|
class Check_New_Player
|
|
{
|
|
name = "Check_New_Player";
|
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
|
"" \n
|
|
"player reveal _playerObject;" \n
|
|
"" \n
|
|
"_playerPos = getpos _playerObject;" \n
|
|
"" \n
|
|
"" \n
|
|
"""Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"progressLoadingScreen 0.6;" \n
|
|
""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "check_new__player">*/
|
|
class check_new__player
|
|
{
|
|
priority = 0.000000;
|
|
to="Setup_Player_Obj";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!(isNull _playerObject) && {_playerObject getVariable [""SETUP"",false]} && {_playerPos nearObjectsReady 10}"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Timeout_No_Respo">*/
|
|
class Timeout_No_Respo
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_Server_not";
|
|
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 "Process_1">*/
|
|
class Process_1
|
|
{
|
|
name = "Process_1";
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Wait_ArmA_Loading">*/
|
|
class Wait_ArmA_Loading
|
|
{
|
|
priority = 0.000000;
|
|
to="Start_Loading_Sc";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"{!isnull _x} count ((uinamespace getvariable ""loading_displays"") - [finddisplay 18]) == 0"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Start_Loading_Sc">*/
|
|
class Start_Loading_Sc
|
|
{
|
|
name = "Start_Loading_Sc";
|
|
init = /*%FSM<STATEINIT""">*/"startLoadingScreen ["""",""EpochLoadingScreen""];" \n
|
|
"if (_debug) then {" \n
|
|
" diag_log ""EPOCH-LOGIN: Start Loadingscreen"";" \n
|
|
"};" \n
|
|
"""Starting Epoch... Please wait!"" call Epoch_updateLoadingScreen;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Version_Check";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Update_Loadingscreen">*/
|
|
class Update_Loadingscreen
|
|
{
|
|
name = "Update_Loadingscreen";
|
|
init = /*%FSM<STATEINIT""">*/"uiNamespace setVariable ['Epoch_freshServer', false];" \n
|
|
"" \n
|
|
"""Server initializing... Please wait!"" call Epoch_updateLoadingScreen;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Check_Server_1";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Player_Setup">*/
|
|
class ERROR_Player_Setup
|
|
{
|
|
name = "ERROR_Player_Setup";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Problem setting up player"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_InvaildSetup = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_InvaildSetup"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Server_Version_C">*/
|
|
class Server_Version_C
|
|
{
|
|
name = "Server_Version_C";
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Wrong_Server_Ver">*/
|
|
class Wrong_Server_Ver
|
|
{
|
|
priority = 10.000000;
|
|
to="ERROR_Wrong_Server";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"Epoch_ServerVersion != getText(configFile >> ""CfgMods"" >> ""Epoch"" >> ""version"")"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Version_Okay">*/
|
|
class Version_Okay
|
|
{
|
|
priority = 0.000000;
|
|
to="Request_Hive";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Server_not_3">*/
|
|
class ERROR_Server_not_3
|
|
{
|
|
name = "ERROR_Server_not_3";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_HiveNotResponse = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_HiveNotResponse"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Process_2">*/
|
|
class Process_2
|
|
{
|
|
name = "Process_2";
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "new_character">*/
|
|
class new_character
|
|
{
|
|
priority = 10.000000;
|
|
to="Open_Gender_Selection";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"_newChar"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"endLoadingScreen;" \n
|
|
"_myGenderTime = diag_tickTime;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "load_old_charact">*/
|
|
class load_old_charact
|
|
{
|
|
priority = 0.000000;
|
|
to="Process_3";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"_myTime = diag_tickTime;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Open_Gender_Selection">*/
|
|
class Open_Gender_Selection
|
|
{
|
|
name = "Open_Gender_Selection";
|
|
init = /*%FSM<STATEINIT""">*/"createdialog ""SelectGender"";"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Gender_Selected">*/
|
|
class Gender_Selected
|
|
{
|
|
priority = 10.000000;
|
|
to="Send_character_s";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_PlayerIsMale"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Timeout">*/
|
|
class Timeout
|
|
{
|
|
priority = 0.000000;
|
|
to="Send_character_s";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _myGenderTime) > 30)"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"EPOCH_PlayerIsMale = true;" \n
|
|
"closeDialog 0;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Reopen_when_client">*/
|
|
class Reopen_when_client
|
|
{
|
|
priority = 0.000000;
|
|
to="Open_Gender_Selection";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!dialog && isNil ""EPOCH_PlayerIsMale"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Send_character_s">*/
|
|
class Send_character_s
|
|
{
|
|
name = "Send_character_s";
|
|
init = /*%FSM<STATEINIT""">*/"startLoadingScreen ["""",""EpochLoadingScreen""];" \n
|
|
"""Gender Selected... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
|
"" \n
|
|
"[player,EPOCH_PlayerIsMale] remoteExec [""EPOCH_server_loadPlayer"",2];" \n
|
|
"EPOCH_PlayerIsMale = nil;"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "load_old_charact">*/
|
|
class load_old_charact
|
|
{
|
|
priority = 0.000000;
|
|
to="Process_3";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"_myTime = diag_tickTime;"/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "Process_3">*/
|
|
class Process_3
|
|
{
|
|
name = "Process_3";
|
|
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "Timeout_No_Respo">*/
|
|
class Timeout_No_Respo
|
|
{
|
|
priority = 0.000000;
|
|
to="ERROR_Server_not_4";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _myTime) > 120"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
/*%FSM<LINK "Response">*/
|
|
class Response
|
|
{
|
|
priority = 0.000000;
|
|
to="Check_New_Player";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_C_SET"""/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/"_array = EPOCH_C_SET;" \n
|
|
"EPOCH_C_SET = nil;" \n
|
|
"_playerObject = _array deleteAt 0;" \n
|
|
"_playerVariables = _array deleteAt 0;" \n
|
|
"_currentWeapon = _array deleteAt 0;" \n
|
|
"_mass = _array deleteAt 0;" \n
|
|
"Epoch_my_GroupUID = _array deleteAt 0;" \n
|
|
"Epoch_canBeRevived = _array deleteAt 0;" \n
|
|
"Epoch_personalToken = _array deleteAt 0;" \n
|
|
"reverse _serverUptime;" \n
|
|
"_serverUptime pushBack (_array deleteAt 0);" \n
|
|
"reverse _serverUptime;" \n
|
|
"_serverUptime call EPOCH_client_publicEH;" \n
|
|
"_playerGroupOnline = _array deleteAt 0;" \n
|
|
"" \n
|
|
""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
/*%FSM<STATE "ERROR_Server_not_4">*/
|
|
class ERROR_Server_not_4
|
|
{
|
|
name = "ERROR_Server_not_4";
|
|
init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
|
|
"_msg call Epoch_updateLoadingScreen;" \n
|
|
"diag_log _msg;" \n
|
|
"" \n
|
|
"_rejectPlayer = {" \n
|
|
" PLAYER_REJECT_HiveLoadChar = true;" \n
|
|
" publicVariableServer ""PLAYER_REJECT_HiveLoadChar"";" \n
|
|
"};"/*%FSM</STATEINIT""">*/;
|
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
|
class Links
|
|
{
|
|
/*%FSM<LINK "true">*/
|
|
class true
|
|
{
|
|
priority = 0.000000;
|
|
to="Display_Message";
|
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
|
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
|
};
|
|
/*%FSM</LINK>*/
|
|
};
|
|
};
|
|
/*%FSM</STATE>*/
|
|
};
|
|
initState="INIT";
|
|
finalStates[] =
|
|
{
|
|
"FINISH",
|
|
"Reject_without_B",
|
|
};
|
|
};
|
|
/*%FSM</COMPILE>*/ |