Advertisement
Guest User

player_login.fsm

a guest
Nov 6th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 83.59 KB | None | 0 0
  1. /*%FSM<COMPILE "C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, Epoch Login">*/
  2. /*%FSM<HEAD>*/
  3. /*
  4. item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
  5. item1[] = {"FINISH",1,250,-149.463196,1518.792480,-49.463196,1568.792480,0.000000,"FINISH"};
  6. item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
  7. item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
  8. item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
  9. item5[] = {"Check_Player_UID",2,250,-25.000000,125.000000,75.000000,175.000000,0.000000,"Check Player UID"};
  10. item6[] = {"PlayerUID_Okay",4,218,-150.000000,175.000000,-50.000000,225.000000,10.000000,"PlayerUID" \n "Okay"};
  11. item7[] = {"Wrong_Version",4,218,125.000000,-75.000000,225.000000,-25.000000,10.000000,"Wrong" \n "Version"};
  12. item8[] = {"",7,210,471.000061,-54.000099,478.999939,-45.999901,0.000000,""};
  13. item9[] = {"ERROR_Wrong_Version",2,250,275.000000,-75.000000,375.000000,-25.000000,0.000000,"ERROR" \n "Wrong Version" \n "Epoch"};
  14. item10[] = {"Disconnect",2,250,600.000000,1225.000000,700.000000,1275.000000,0.000000,"Disconnect"};
  15. item11[] = {"Server_Okay",4,218,-125.000000,425.000000,-25.000000,475.000000,0.000000,"Server" \n "Okay"};
  16. item12[] = {"Empty_PlayerUID",4,218,125.000000,125.000000,225.000000,175.000000,0.000000,"Empty" \n "PlayerUID"};
  17. item13[] = {"ERROR_PlayerUID",2,250,275.000000,125.000000,375.000000,175.000000,0.000000,"ERROR" \n "PlayerUID Empty"};
  18. item14[] = {"",7,210,471.000061,145.999908,478.999939,154.000092,0.000000,""};
  19. item15[] = {"Timeout_No_Respo",4,218,125.000000,875.000000,225.000000,925.000000,0.000000,"Timeout" \n "No Response"};
  20. item16[] = {"Response",4,218,-150.000000,825.000000,-50.000000,875.000000,0.000000,"Response"};
  21. item17[] = {"Setup_Player_Var",2,250,-25.000000,1075.000000,75.000000,1125.000000,0.000000,"Setup Player" \n "Variables"};
  22. item18[] = {"Request_Hive",2,250,-25.000000,575.000000,75.000000,625.000000,0.000000,"Request Hive"};
  23. item19[] = {"Timeout_No_Respo",4,218,125.000000,575.000000,225.000000,625.000000,0.000000,"Timeout" \n "No Response"};
  24. item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
  25. item21[] = {"",7,210,471.000000,895.999939,479.000000,904.000061,0.000000,""};
  26. item22[] = {"Timeout_No_Respo",4,218,125.000000,775.000000,225.000000,825.000000,0.000000,"Timeout" \n "No Response"};
  27. item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000,10.000000,"Wrong" \n "Server Version"};
  28. item24[] = {"true",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"true"};
  29. item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
  30. item26[] = {"Display_Message",4,218,600.000000,1150.000000,700.000000,1200.000000,0.000000,"" \n "Display Message" \n "Wait..."};
  31. item27[] = {"Setup_Player_Obj",2,250,-25.000000,975.000000,75.000000,1025.000000,0.000000,"Setup Player" \n "Object"};
  32. item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
  33. item29[] = {"Preload_done",8,218,-150.000000,1425.000000,-50.000000,1475.000000,0.000000,"Preload" \n "done"};
  34. item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
  35. item31[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
  36. item32[] = {"true",8,218,425.000000,1075.000000,525.000000,1125.000000,0.000000,"true"};
  37. item33[] = {"Display_Message",2,250,600.000000,1075.000000,700.000000,1125.000000,0.000000,"Display" \n "Message"};
  38. item34[] = {"Server_Ready",4,218,-25.000000,300.000000,75.000000,350.000000,0.000000,"Server" \n "Ready"};
  39. item35[] = {"Check_Server",2,250,-25.000000,375.000000,75.000000,425.000000,0.000000,"Check Server"};
  40. item36[] = {"Server_not_worki",4,218,125.000000,375.000000,225.000000,425.000000,10.000000,"Server" \n "not working"};
  41. item37[] = {"ERROR_Server_not_1",2,250,275.000000,375.000000,375.000000,425.000000,0.000000,"ERROR" \n "Server not Ready"};
  42. item38[] = {"",7,210,471.000000,396.000000,479.000000,404.000000,0.000000,""};
  43. item39[] = {"Check_Server_1",2,250,-25.000000,225.000000,75.000000,275.000000,0.000000,"Check Server"};
  44. item40[] = {"Timeout_No_Respo",4,218,125.000000,225.000000,225.000000,275.000000,0.000000,"Timeout" \n "No Response"};
  45. item41[] = {"ERROR_Server_not_2",2,250,275.000000,225.000000,375.000000,275.000000,0.000000,"ERROR" \n "Server not Ready"};
  46. item42[] = {"",7,210,471.000000,246.000031,479.000000,253.999969,0.000000,""};
  47. item43[] = {"Reject_without_B",1,250,900.000000,1225.000000,1000.000000,1275.000000,0.000000,"Reject without" \n "BattlEye"};
  48. item44[] = {"true",8,218,-150.000000,-25.000000,-50.000000,25.000000,0.000000,"true"};
  49. item45[] = {"Arma_Version_Che",2,250,-25.000000,25.000000,75.000000,75.000000,0.000000,"Arma Version" \n "Check"};
  50. item46[] = {"Outdated_Version",4,218,125.000000,25.000000,225.000000,75.000000,10.000000,"Outdated" \n "Version"};
  51. item47[] = {"ERROR_Wrong_Version_1",2,250,275.000000,25.000000,375.000000,75.000000,0.000000,"ERROR" \n "Wrong Version" \n "ArmA"};
  52. item48[] = {"",7,210,471.000061,45.999908,478.999939,54.000092,0.000000,""};
  53. item49[] = {"new_player_____p",4,218,-150.000000,1025.000000,-50.000000,1075.000000,0.000000,"new player == " \n "player"};
  54. 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"};
  55. item51[] = {"no_weapons",4,218,-25.000000,1275.000000,75.000000,1325.000000,0.000000,"no weapons"};
  56. item52[] = {"Process",2,250,-25.000000,1375.000000,75.000000,1425.000000,0.000000,"Process"};
  57. item53[] = {"Has_Current_Weap",4,218,100.000000,1175.000000,200.000000,1225.000000,10.000000,"Has" \n "Current" \n "Weapon"};
  58. item54[] = {"Find_Active_Weap",2,250,225.000000,1175.000000,325.000000,1225.000000,0.000000,"Find" \n "Active" \n "Weapon"};
  59. item55[] = {"Current_Weapon_Not",4,218,150.000000,1225.000000,250.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Not Selected"};
  60. item56[] = {"Current_Weapon_S",4,218,300.000000,1225.000000,400.000000,1275.000000,0.000000,"Current" \n "Weapon" \n "Selected"};
  61. item57[] = {"Select_Weapon",2,250,150.000000,1300.000000,250.000000,1350.000000,0.000000,"Select" \n "Weapon"};
  62. item58[] = {"true",8,218,225.000000,1375.000000,325.000000,1425.000000,0.000000,"true"};
  63. item59[] = {"Do_nothing",2,250,300.000000,1300.000000,400.000000,1350.000000,0.000000,"Do nothing"};
  64. item60[] = {"Check_New_Player",2,250,-25.000000,875.000000,75.000000,925.000000,0.000000,"Check" \n "New Player" \n "Setup"};
  65. item61[] = {"check_new__player",4,218,-150.000000,925.000000,-50.000000,975.000000,0.000000,"check new " \n "player not null"};
  66. item62[] = {"true",4,218,-150.000000,-325.000000,-60.000000,-275.000000,0.000000,"true"};
  67. item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
  68. item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
  69. item65[] = {"Start_Loading_Sc",2,250,-25.000000,-175.000000,75.000000,-125.000000,0.000000,"Start Loading" \n "Screen"};
  70. item66[] = {"Timeout_",4,218,125.000000,975.000000,225.000000,1025.000000,0.000000,"" \n "Timeout" \n ""};
  71. item67[] = {"ERROR_Player_Setup",2,250,275.000000,975.000000,375.000000,1025.000000,0.000000,"ERROR" \n "Player Setup" \n "Invalid"};
  72. item68[] = {"",7,210,471.000000,996.000000,479.000000,1004.000000,0.000000,""};
  73. item69[] = {"Server_Version_C",2,250,-25.000000,475.000000,75.000000,525.000000,0.000000,"Server Version" \n "Check"};
  74. item70[] = {"Version_Okay",4,218,-125.000000,525.000000,-25.000000,575.000000,0.000000,"Version" \n "Okay"};
  75. item71[] = {"",7,210,471.000000,496.000000,479.000000,504.000000,0.000000,""};
  76. item72[] = {"ERROR_Server_not_3",2,250,275.000000,575.000000,375.000000,625.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
  77. item73[] = {"",7,210,471.000000,596.000000,479.000000,604.000000,0.000000,""};
  78. item74[] = {"new_character",4,218,-250.000000,675.000000,-150.000000,725.000000,10.000000,"new" \n "character"};
  79. item75[] = {"Hive_Response",4,218,-125.000000,625.000000,-25.000000,675.000000,0.000000,"Hive" \n "Response"};
  80. item76[] = {"load_old_charact",4,4314,-125.000000,725.000000,-25.000000,775.000000,0.000000,"load old" \n "character"};
  81. item77[] = {"Process_2",2,250,-25.000000,675.000000,75.000000,725.000000,0.000000,"Process"};
  82. item78[] = {"Open_Gender_Selection",2,250,-400.000000,675.000000,-300.000000,725.000000,0.000000,"Open Gender" \n "Selection Dialog"};
  83. item79[] = {"Reopen_when_client",4,218,-400.000000,600.000000,-300.000000,650.000000,0.000000,"Reopen" \n "when client hit" \n "escape"};
  84. item80[] = {"Gender_Selected",4,218,-450.000000,750.000000,-350.000000,800.000000,10.000000,"Gender" \n "Selected"};
  85. item81[] = {"Timeout",4,218,-350.000000,750.000000,-250.000000,800.000000,0.000000,"Timeout"};
  86. item82[] = {"Send_character_s",2,250,-400.000000,825.000000,-300.000000,875.000000,0.000000,"Send" \n "character" \n "selection"};
  87. item83[] = {"Process_3",2,250,-25.000000,775.000000,75.000000,825.000000,0.000000,"Process"};
  88. item84[] = {"ERROR_Server_not_4",2,250,275.000000,775.000000,375.000000,825.000000,0.000000,"ERROR" \n "Server not" \n "Response"};
  89. link0[] = {0,62};
  90. link1[] = {2,3};
  91. link2[] = {3,7};
  92. link3[] = {3,44};
  93. link4[] = {4,5};
  94. link5[] = {5,6};
  95. link6[] = {5,12};
  96. link7[] = {6,39};
  97. link8[] = {7,9};
  98. link9[] = {8,48};
  99. link10[] = {9,8};
  100. link11[] = {10,28};
  101. link12[] = {11,69};
  102. link13[] = {12,13};
  103. link14[] = {13,14};
  104. link15[] = {14,42};
  105. link16[] = {15,20};
  106. link17[] = {16,60};
  107. link18[] = {17,24};
  108. link19[] = {18,19};
  109. link20[] = {18,75};
  110. link21[] = {19,72};
  111. link22[] = {20,21};
  112. link23[] = {21,68};
  113. link24[] = {22,84};
  114. link25[] = {23,25};
  115. link26[] = {24,50};
  116. link27[] = {25,71};
  117. link28[] = {26,10};
  118. link29[] = {27,49};
  119. link30[] = {27,66};
  120. link31[] = {28,43};
  121. link32[] = {29,1};
  122. link33[] = {31,21};
  123. link34[] = {32,33};
  124. link35[] = {33,26};
  125. link36[] = {34,35};
  126. link37[] = {35,11};
  127. link38[] = {35,36};
  128. link39[] = {36,37};
  129. link40[] = {37,38};
  130. link41[] = {38,71};
  131. link42[] = {39,34};
  132. link43[] = {39,40};
  133. link44[] = {40,41};
  134. link45[] = {41,42};
  135. link46[] = {42,38};
  136. link47[] = {44,45};
  137. link48[] = {45,4};
  138. link49[] = {45,46};
  139. link50[] = {46,47};
  140. link51[] = {47,48};
  141. link52[] = {48,14};
  142. link53[] = {49,17};
  143. link54[] = {50,51};
  144. link55[] = {50,53};
  145. link56[] = {51,52};
  146. link57[] = {52,29};
  147. link58[] = {53,54};
  148. link59[] = {54,55};
  149. link60[] = {54,56};
  150. link61[] = {55,57};
  151. link62[] = {56,59};
  152. link63[] = {57,58};
  153. link64[] = {58,52};
  154. link65[] = {59,58};
  155. link66[] = {60,15};
  156. link67[] = {60,61};
  157. link68[] = {61,27};
  158. link69[] = {62,63};
  159. link70[] = {63,64};
  160. link71[] = {64,65};
  161. link72[] = {65,2};
  162. link73[] = {66,67};
  163. link74[] = {67,68};
  164. link75[] = {68,32};
  165. link76[] = {69,23};
  166. link77[] = {69,70};
  167. link78[] = {70,18};
  168. link79[] = {71,73};
  169. link80[] = {72,73};
  170. link81[] = {73,31};
  171. link82[] = {74,78};
  172. link83[] = {75,77};
  173. link84[] = {76,83};
  174. link85[] = {77,74};
  175. link86[] = {77,76};
  176. link87[] = {78,79};
  177. link88[] = {78,80};
  178. link89[] = {78,81};
  179. link90[] = {79,78};
  180. link91[] = {80,82};
  181. link92[] = {81,82};
  182. link93[] = {82,76};
  183. link94[] = {83,16};
  184. link95[] = {83,22};
  185. link96[] = {84,31};
  186. globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-449.333344,543.208130,1050.554077,118.134613,941,884,1};
  187. window[] = {2,-1,-1,-32000,-32000,975,208,1192,208,3,959};
  188. *//*%FSM</HEAD>*/
  189. class FSM
  190. {
  191. fsmName = "Epoch Login";
  192. class States
  193. {
  194. /*%FSM<STATE "INIT">*/
  195. class INIT
  196. {
  197. name = "INIT";
  198. itemno = 0;
  199. init = /*%FSM<STATEINIT""">*/"_timeout = diag_tickTime + 180;" \n
  200. "titleCut ["""", ""BLACK FADED"", 1337];" \n
  201. "0 fadeSound 0;" \n
  202. "//player enableSimulation false;" \n
  203. "" \n
  204. "_debug = true;" \n
  205. "if (_debug) then {" \n
  206. " diag_log ""EPOCH-LOGIN: Init"";" \n
  207. "};" \n
  208. "" \n
  209. "_finalPlayerObjectCheck = {" \n
  210. " (_mass == (loadAbs _playerObject))" \n
  211. "};" \n
  212. "" \n
  213. "EPOCH_loginFSM = _thisFSM;" \n
  214. "EPOCH_playerLoginInit = {" \n
  215. " EPOCH_loginFSM setFSMVariable [_this select 0, _this select 1];" \n
  216. "};"/*%FSM</STATEINIT""">*/;
  217. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  218. class Links
  219. {
  220. /*%FSM<LINK "true">*/
  221. class true
  222. {
  223. itemno = 62;
  224. priority = 0.000000;
  225. to="Process_1";
  226. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  227. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  228. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  229. };
  230. /*%FSM</LINK>*/
  231. };
  232. };
  233. /*%FSM</STATE>*/
  234. /*%FSM<STATE "FINISH">*/
  235. class FINISH
  236. {
  237. name = "FINISH";
  238. itemno = 1;
  239. init = /*%FSM<STATEINIT""">*/"EPOOP_FINISH_INIT_THREAD = [] spawn {" \n
  240. " waitUntil { getClientStateNumber >= 10 && getPlayerUID player != """" };" \n
  241. " " \n
  242. " // setup display EH's" \n
  243. " {" \n
  244. " (findDisplay 46) displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
  245. " } forEach ([""CfgEpochClient"", ""displayAddEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
  246. "" \n
  247. " // reset anim state" \n
  248. " player switchMove """";" \n
  249. "" \n
  250. " EPOCH_loginFSM = nil;" \n
  251. " EPOCH_playerLoginInit = nil;" \n
  252. "" \n
  253. " // fade in sound and screen" \n
  254. " 3 fadeSound 1;" \n
  255. " titleCut ["""", ""BLACK IN"", 1];" \n
  256. " 1338 cutText ["""",""PLAIN"",0]; " \n
  257. "" \n
  258. " progressLoadingScreen 1.0;" \n
  259. " endLoadingScreen;" \n
  260. " EPOCH_loadingScreenDone = true;" \n
  261. "};" \n
  262. "" \n
  263. "// setup Epoch Hud" \n
  264. "call epoch_dynamicHUD_start;" \n
  265. "" \n
  266. "if (_debug) then {" \n
  267. " diag_log ""EPOCH-LOGIN: Finish!"";" \n
  268. "};"/*%FSM</STATEINIT""">*/;
  269. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  270. class Links
  271. {
  272. };
  273. };
  274. /*%FSM</STATE>*/
  275. /*%FSM<STATE "Version_Check">*/
  276. class Version_Check
  277. {
  278. name = "Version_Check";
  279. itemno = 3;
  280. init = /*%FSM<STATEINIT""">*/"if (_debug) then {" \n
  281. " diag_log ""EPOCH-LOGIN: Version Check"";" \n
  282. "};" \n
  283. "" \n
  284. "// SHOULD BE:" \n
  285. "_epoch_assets0 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets"");" \n
  286. "_epoch_assets1 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets_1"");" \n
  287. "_epoch_assets2 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""epoch_objects"");" \n
  288. "_epoch_assets3 = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_assets_3"");" \n
  289. "_epoch_config = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_config"");" \n
  290. "_epoch_language = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_language"");" \n
  291. "_epoch_community = getText(configFile >> ""Epoch"" >> ""Version"" >> ""a3_epoch_community"");" \n
  292. "_epoch_vehicles = getText(configFile >> ""Epoch"" >> ""Version"" >> ""A3_epoch_vehicles"");" \n
  293. "_epoch_weapons = getText(configFile >> ""Epoch"" >> ""Version"" >> ""a3_epoch_weapons"");" \n
  294. "" \n
  295. "" \n
  296. "// IS:" \n
  297. "_my_epoch_assets0 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets"" >> ""epochVersion"");" \n
  298. "_my_epoch_assets1 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets_1"" >> ""epochVersion"");" \n
  299. "_my_epoch_assets2 = getText(configFile >> ""CfgPatches"" >> ""epoch_objects"" >> ""epochVersion"");" \n
  300. "_my_epoch_assets3 = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_assets_3"" >> ""epochVersion"");" \n
  301. "_my_epoch_config = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_config"" >> ""epochVersion"");" \n
  302. "_my_epoch_language = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_language"" >> ""epochVersion"");" \n
  303. "_my_epoch_community = getText(configFile >> ""CfgPatches"" >> ""a3_epoch_community"" >> ""epochVersion"");" \n
  304. "_my_epoch_vehicles = getText(configFile >> ""CfgPatches"" >> ""A3_epoch_vehicles"" >> ""epochVersion"");" \n
  305. "_my_epoch_weapons = getText(configFile >> ""CfgPatches"" >> ""a3_epoch_weapons"" >> ""epochVersion"");" \n
  306. "" \n
  307. "progressLoadingScreen 0.1;" \n
  308. ""/*%FSM</STATEINIT""">*/;
  309. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  310. class Links
  311. {
  312. /*%FSM<LINK "Wrong_Version">*/
  313. class Wrong_Version
  314. {
  315. itemno = 7;
  316. priority = 10.000000;
  317. to="ERROR_Wrong_Version";
  318. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  319. condition=/*%FSM<CONDITION""">*/"_epoch_assets0 != _epoch_assets0 ||" \n
  320. "_my_epoch_assets1 != _epoch_assets1 ||" \n
  321. "_my_epoch_assets2 != _epoch_assets2 ||" \n
  322. "_my_epoch_assets3 != _epoch_assets3 ||" \n
  323. "_my_epoch_config != _epoch_config ||" \n
  324. "_my_epoch_language != _epoch_language ||" \n
  325. "_my_epoch_community != _epoch_community ||" \n
  326. "_my_epoch_vehicles != _epoch_vehicles ||" \n
  327. "_my_epoch_weapons != _epoch_weapons"/*%FSM</CONDITION""">*/;
  328. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  329. };
  330. /*%FSM</LINK>*/
  331. /*%FSM<LINK "true">*/
  332. class true
  333. {
  334. itemno = 44;
  335. priority = 0.000000;
  336. to="Arma_Version_Che";
  337. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  338. condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
  339. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  340. };
  341. /*%FSM</LINK>*/
  342. };
  343. };
  344. /*%FSM</STATE>*/
  345. /*%FSM<STATE "Check_Player_UID">*/
  346. class Check_Player_UID
  347. {
  348. name = "Check_Player_UID";
  349. itemno = 5;
  350. init = /*%FSM<STATEINIT""">*/"if (_debug) then {" \n
  351. " diag_log ""EPOCH-LOGIN: Check PlayerUID"";" \n
  352. "};" \n
  353. "" \n
  354. "_playerUID = getPlayerUID player;" \n
  355. "" \n
  356. "progressLoadingScreen 0.2;"/*%FSM</STATEINIT""">*/;
  357. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  358. class Links
  359. {
  360. /*%FSM<LINK "PlayerUID_Okay">*/
  361. class PlayerUID_Okay
  362. {
  363. itemno = 6;
  364. priority = 10.000000;
  365. to="Check_Server_1";
  366. precondition = /*%FSM<CONDPRECONDITION""">*/"!isNil ""_playerUID"""/*%FSM</CONDPRECONDITION""">*/;
  367. condition=/*%FSM<CONDITION""">*/"_playerUID != """""/*%FSM</CONDITION""">*/;
  368. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  369. };
  370. /*%FSM</LINK>*/
  371. /*%FSM<LINK "Empty_PlayerUID">*/
  372. class Empty_PlayerUID
  373. {
  374. itemno = 12;
  375. priority = 0.000000;
  376. to="ERROR_PlayerUID";
  377. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  378. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  379. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  380. };
  381. /*%FSM</LINK>*/
  382. };
  383. };
  384. /*%FSM</STATE>*/
  385. /*%FSM<STATE "ERROR_Wrong_Version">*/
  386. class ERROR_Wrong_Version
  387. {
  388. name = "ERROR_Wrong_Version";
  389. itemno = 9;
  390. init = /*%FSM<STATEINIT""">*/"_msg = ""You have an outdated version of Epoch"";" \n
  391. "_msg call Epoch_updateLoadingScreen;" \n
  392. "diag_log _msg;" \n
  393. "" \n
  394. "_rejectPlayer = {" \n
  395. " PLAYER_REJECT_EPOCHVERSION = true;" \n
  396. " publicVariableServer ""PLAYER_REJECT_EPOCHVERSION"";" \n
  397. "};"/*%FSM</STATEINIT""">*/;
  398. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  399. class Links
  400. {
  401. /*%FSM<LINK "true">*/
  402. class true
  403. {
  404. itemno = 32;
  405. priority = 0.000000;
  406. to="Display_Message";
  407. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  408. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  409. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  410. };
  411. /*%FSM</LINK>*/
  412. };
  413. };
  414. /*%FSM</STATE>*/
  415. /*%FSM<STATE "Disconnect">*/
  416. class Disconnect
  417. {
  418. name = "Disconnect";
  419. itemno = 10;
  420. init = /*%FSM<STATEINIT""">*/"endLoadingScreen;" \n
  421. "1338 cutText [_msg,""PLAIN"",0]; " \n
  422. "deleteVehicle player;" \n
  423. "call _rejectPlayer;" \n
  424. "_timeout = diag_tickTime + 2;"/*%FSM</STATEINIT""">*/;
  425. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  426. class Links
  427. {
  428. /*%FSM<LINK "Check_if_Player">*/
  429. class Check_if_Player
  430. {
  431. itemno = 28;
  432. priority = 0.000000;
  433. to="Reject_without_B";
  434. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  435. condition=/*%FSM<CONDITION""">*/"diag_tickTime - _timeout"/*%FSM</CONDITION""">*/;
  436. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  437. };
  438. /*%FSM</LINK>*/
  439. };
  440. };
  441. /*%FSM</STATE>*/
  442. /*%FSM<STATE "ERROR_PlayerUID">*/
  443. class ERROR_PlayerUID
  444. {
  445. name = "ERROR_PlayerUID";
  446. itemno = 13;
  447. init = /*%FSM<STATEINIT""">*/"_msg = ""Can not setup Player Object! (Error 01)"";" \n
  448. "_msg call Epoch_updateLoadingScreen;" \n
  449. "diag_log _msg;" \n
  450. "" \n
  451. "_rejectPlayer = {" \n
  452. " PLAYER_REJECT_UID = true;" \n
  453. " publicVariableServer ""PLAYER_REJECT_UID"";" \n
  454. "};"/*%FSM</STATEINIT""">*/;
  455. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  456. class Links
  457. {
  458. /*%FSM<LINK "true">*/
  459. class true
  460. {
  461. itemno = 32;
  462. priority = 0.000000;
  463. to="Display_Message";
  464. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  465. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  466. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  467. };
  468. /*%FSM</LINK>*/
  469. };
  470. };
  471. /*%FSM</STATE>*/
  472. /*%FSM<STATE "Setup_Player_Var">*/
  473. class Setup_Player_Var
  474. {
  475. name = "Setup_Player_Var";
  476. itemno = 17;
  477. init = /*%FSM<STATEINIT""">*/"diag_log format[""DEBUG TIME WAITED: %1"", _timeout - diag_tickTime];" \n
  478. "{" \n
  479. " missionNamespace setVariable[(format[""EPOCH_player%1"", EPOCH_customVars select _forEachIndex]), _x];" \n
  480. "} forEach _playerVariables;" \n
  481. """Loading Player Variables... Please wait!"" call Epoch_updateLoadingScreen;" \n
  482. "progressLoadingScreen 0.7;" \n
  483. "if (_debug) then {" \n
  484. " diag_log ""EPOCH-LOGIN: Setup Player Variables"";" \n
  485. "};"/*%FSM</STATEINIT""">*/;
  486. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  487. class Links
  488. {
  489. /*%FSM<LINK "true">*/
  490. class true
  491. {
  492. itemno = 24;
  493. priority = 0.000000;
  494. to="Setup_EH_s_and_H";
  495. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  496. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  497. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  498. };
  499. /*%FSM</LINK>*/
  500. };
  501. };
  502. /*%FSM</STATE>*/
  503. /*%FSM<STATE "Request_Hive">*/
  504. class Request_Hive
  505. {
  506. name = "Request_Hive";
  507. itemno = 18;
  508. init = /*%FSM<STATEINIT""">*/"_timeout = diag_tickTime + 120;" \n
  509. "" \n
  510. "[player] remoteExec [""EPOCH_server_checkPlayer"",2];" \n
  511. "" \n
  512. """Loading Player Data... Please wait!"" call Epoch_updateLoadingScreen;" \n
  513. "progressLoadingScreen 0.5;" \n
  514. ""/*%FSM</STATEINIT""">*/;
  515. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  516. class Links
  517. {
  518. /*%FSM<LINK "Hive_Response">*/
  519. class Hive_Response
  520. {
  521. itemno = 75;
  522. priority = 0.000000;
  523. to="Process_2";
  524. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  525. condition=/*%FSM<CONDITION""">*/"!isNil ""_checkPlayer_PVC"""/*%FSM</CONDITION""">*/;
  526. action=/*%FSM<ACTION""">*/"_newChar = _checkPlayer_PVC;" \n
  527. "_checkPlayer_PVC = nil;"/*%FSM</ACTION""">*/;
  528. };
  529. /*%FSM</LINK>*/
  530. /*%FSM<LINK "Timeout_No_Respo">*/
  531. class Timeout_No_Respo
  532. {
  533. itemno = 19;
  534. priority = 0.000000;
  535. to="ERROR_Server_not_3";
  536. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  537. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  538. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  539. };
  540. /*%FSM</LINK>*/
  541. };
  542. };
  543. /*%FSM</STATE>*/
  544. /*%FSM<STATE "ERROR_Server_not">*/
  545. class ERROR_Server_not
  546. {
  547. name = "ERROR_Server_not";
  548. itemno = 20;
  549. init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
  550. "_msg call Epoch_updateLoadingScreen;" \n
  551. "diag_log _msg;" \n
  552. "" \n
  553. "_rejectPlayer = {" \n
  554. " PLAYER_REJECT_NoResponse2 = true;" \n
  555. " publicVariableServer ""PLAYER_REJECT_NoResponse2"";" \n
  556. "};"/*%FSM</STATEINIT""">*/;
  557. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  558. class Links
  559. {
  560. /*%FSM<LINK "true">*/
  561. class true
  562. {
  563. itemno = 32;
  564. priority = 0.000000;
  565. to="Display_Message";
  566. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  567. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  568. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  569. };
  570. /*%FSM</LINK>*/
  571. };
  572. };
  573. /*%FSM</STATE>*/
  574. /*%FSM<STATE "ERROR_Wrong_Server">*/
  575. class ERROR_Wrong_Server
  576. {
  577. name = "ERROR_Wrong_Server";
  578. itemno = 25;
  579. init = /*%FSM<STATEINIT""">*/"_msg = format[""Server and Client running with different Version! (You: %1 // Server: %2)"",getText(configFile >> ""CfgMods"" >> ""Epoch"" >> ""version""),_serverVersion];" \n
  580. "_msg call Epoch_updateLoadingScreen;" \n
  581. "diag_log _msg;" \n
  582. "" \n
  583. "_rejectPlayer = {" \n
  584. " PLAYER_REJECT_ServerVersion = true;" \n
  585. " publicVariableServer ""PLAYER_REJECT_ServerVersion"";" \n
  586. "};"/*%FSM</STATEINIT""">*/;
  587. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  588. class Links
  589. {
  590. /*%FSM<LINK "true">*/
  591. class true
  592. {
  593. itemno = 32;
  594. priority = 0.000000;
  595. to="Display_Message";
  596. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  597. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  598. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  599. };
  600. /*%FSM</LINK>*/
  601. };
  602. };
  603. /*%FSM</STATE>*/
  604. /*%FSM<STATE "Setup_Player_Obj">*/
  605. class Setup_Player_Obj
  606. {
  607. name = "Setup_Player_Obj";
  608. itemno = 27;
  609. init = /*%FSM<STATEINIT""">*/"_ply = player;" \n
  610. "_group = group player;" \n
  611. "" \n
  612. "selectPlayer _playerObject;" \n
  613. "" \n
  614. "deleteVehicle _ply;" \n
  615. "deleteGroup _group;" \n
  616. "" \n
  617. """Loading Player Body... Please wait!"" call Epoch_updateLoadingScreen;" \n
  618. "progressLoadingScreen 0.8;" \n
  619. "" \n
  620. "if (_debug) then {" \n
  621. " diag_log ""EPOCH-LOGIN: Setup Player Object"";" \n
  622. "};" \n
  623. "" \n
  624. "_timeout = diag_tickTime + 120;"/*%FSM</STATEINIT""">*/;
  625. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  626. class Links
  627. {
  628. /*%FSM<LINK "Timeout_">*/
  629. class Timeout_
  630. {
  631. itemno = 66;
  632. priority = 0.000000;
  633. to="ERROR_Player_Setup";
  634. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  635. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  636. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  637. };
  638. /*%FSM</LINK>*/
  639. /*%FSM<LINK "new_player_____p">*/
  640. class new_player_____p
  641. {
  642. itemno = 49;
  643. priority = 0.000000;
  644. to="Setup_Player_Var";
  645. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  646. condition=/*%FSM<CONDITION""">*/"_playerObject == player"/*%FSM</CONDITION""">*/;
  647. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  648. };
  649. /*%FSM</LINK>*/
  650. };
  651. };
  652. /*%FSM</STATE>*/
  653. /*%FSM<STATE "Display_Message">*/
  654. class Display_Message
  655. {
  656. name = "Display_Message";
  657. itemno = 33;
  658. init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
  659. " waitUntil{!isNull (findDisplay 46)};" \n
  660. " (findDisplay 46) displayAddEventHandler [""KeyDown"",""true""];" \n
  661. " (findDisplay 46) displayAddEventHandler [""KeyUp"",""true""];" \n
  662. "};" \n
  663. "_timeout = diag_tickTime + 10;"/*%FSM</STATEINIT""">*/;
  664. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  665. class Links
  666. {
  667. /*%FSM<LINK "Display_Message">*/
  668. class Display_Message
  669. {
  670. itemno = 26;
  671. priority = 0.000000;
  672. to="Disconnect";
  673. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  674. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  675. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  676. };
  677. /*%FSM</LINK>*/
  678. };
  679. };
  680. /*%FSM</STATE>*/
  681. /*%FSM<STATE "Check_Server">*/
  682. class Check_Server
  683. {
  684. name = "Check_Server";
  685. itemno = 35;
  686. init = /*%FSM<STATEINIT""">*/"if (_debug) then {" \n
  687. " diag_log ""EPOCH-LOGIN: Check Server"";" \n
  688. "};" \n
  689. """Checking Server... Please wait!"" call Epoch_updateLoadingScreen;" \n
  690. "progressLoadingScreen 0.4;"/*%FSM</STATEINIT""">*/;
  691. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  692. class Links
  693. {
  694. /*%FSM<LINK "Server_not_worki">*/
  695. class Server_not_worki
  696. {
  697. itemno = 36;
  698. priority = 10.000000;
  699. to="ERROR_Server_not_1";
  700. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  701. condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_BADHIVE""" \n
  702. ""/*%FSM</CONDITION""">*/;
  703. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  704. };
  705. /*%FSM</LINK>*/
  706. /*%FSM<LINK "Server_Okay">*/
  707. class Server_Okay
  708. {
  709. itemno = 11;
  710. priority = 0.000000;
  711. to="Server_Version_C";
  712. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  713. condition=/*%FSM<CONDITION""">*/"!isNil ""Epoch_ServerVersion"""/*%FSM</CONDITION""">*/;
  714. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  715. };
  716. /*%FSM</LINK>*/
  717. };
  718. };
  719. /*%FSM</STATE>*/
  720. /*%FSM<STATE "ERROR_Server_not_1">*/
  721. class ERROR_Server_not_1
  722. {
  723. name = "ERROR_Server_not_1";
  724. itemno = 37;
  725. init = /*%FSM<STATEINIT""">*/"_msg = ""Server not Ready (Error 03)"";" \n
  726. "_msg call Epoch_updateLoadingScreen;" \n
  727. "diag_log _msg;" \n
  728. "" \n
  729. "_rejectPlayer = {" \n
  730. " PLAYER_REJECT_NotReady2 = true;" \n
  731. " publicVariableServer ""PLAYER_REJECT_NotReady2"";" \n
  732. "};"/*%FSM</STATEINIT""">*/;
  733. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  734. class Links
  735. {
  736. /*%FSM<LINK "true">*/
  737. class true
  738. {
  739. itemno = 32;
  740. priority = 0.000000;
  741. to="Display_Message";
  742. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  743. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  744. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  745. };
  746. /*%FSM</LINK>*/
  747. };
  748. };
  749. /*%FSM</STATE>*/
  750. /*%FSM<STATE "Check_Server_1">*/
  751. class Check_Server_1
  752. {
  753. name = "Check_Server_1";
  754. itemno = 39;
  755. init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.3;" \n
  756. """Server initializing... Please wait!"" call Epoch_updateLoadingScreen;"/*%FSM</STATEINIT""">*/;
  757. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  758. class Links
  759. {
  760. /*%FSM<LINK "Timeout_No_Respo">*/
  761. class Timeout_No_Respo
  762. {
  763. itemno = 40;
  764. priority = 0.000000;
  765. to="ERROR_Server_not_2";
  766. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  767. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  768. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  769. };
  770. /*%FSM</LINK>*/
  771. /*%FSM<LINK "Server_Ready">*/
  772. class Server_Ready
  773. {
  774. itemno = 34;
  775. priority = 0.000000;
  776. to="Check_Server";
  777. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  778. condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_SERVER_READY"""/*%FSM</CONDITION""">*/;
  779. action=/*%FSM<ACTION""">*/"EPOCH_SERVER_READY = nil;"/*%FSM</ACTION""">*/;
  780. };
  781. /*%FSM</LINK>*/
  782. };
  783. };
  784. /*%FSM</STATE>*/
  785. /*%FSM<STATE "ERROR_Server_not_2">*/
  786. class ERROR_Server_not_2
  787. {
  788. name = "ERROR_Server_not_2";
  789. itemno = 41;
  790. init = /*%FSM<STATEINIT""">*/"_msg = ""Server not Ready (Error 02)"";" \n
  791. "_msg call Epoch_updateLoadingScreen;" \n
  792. "diag_log _msg;" \n
  793. "" \n
  794. "_rejectPlayer = {" \n
  795. " PLAYER_REJECT_NotReady1 = true;" \n
  796. " publicVariableServer ""PLAYER_REJECT_NotReady1"";" \n
  797. "};"/*%FSM</STATEINIT""">*/;
  798. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  799. class Links
  800. {
  801. /*%FSM<LINK "true">*/
  802. class true
  803. {
  804. itemno = 32;
  805. priority = 0.000000;
  806. to="Display_Message";
  807. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  808. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  809. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  810. };
  811. /*%FSM</LINK>*/
  812. };
  813. };
  814. /*%FSM</STATE>*/
  815. /*%FSM<STATE "Reject_without_B">*/
  816. class Reject_without_B
  817. {
  818. name = "Reject_without_B";
  819. itemno = 43;
  820. init = /*%FSM<STATEINIT""">*/"[] spawn {" \n
  821. " waitUntil{!isNull (findDisplay 46)};" \n
  822. " waitUntil {" \n
  823. " (findDisplay 46) closeDisplay 0;" \n
  824. " isNull (findDisplay 46)" \n
  825. " };" \n
  826. "};"/*%FSM</STATEINIT""">*/;
  827. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  828. class Links
  829. {
  830. };
  831. };
  832. /*%FSM</STATE>*/
  833. /*%FSM<STATE "Arma_Version_Che">*/
  834. class Arma_Version_Che
  835. {
  836. name = "Arma_Version_Che";
  837. itemno = 45;
  838. init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.15;" \n
  839. ""/*%FSM</STATEINIT""">*/;
  840. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  841. class Links
  842. {
  843. /*%FSM<LINK "Outdated_Version">*/
  844. class Outdated_Version
  845. {
  846. itemno = 46;
  847. priority = 10.000000;
  848. to="ERROR_Wrong_Version_1";
  849. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  850. condition=/*%FSM<CONDITION""">*/"productVersion select 2 < getNumber(configFile >> ""CfgMods"" >> ""Epoch"" >> ""ArmAVersion"")"/*%FSM</CONDITION""">*/;
  851. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  852. };
  853. /*%FSM</LINK>*/
  854. /*%FSM<LINK "Player_Object_Re">*/
  855. class Player_Object_Re
  856. {
  857. itemno = 4;
  858. priority = 0.000000;
  859. to="Check_Player_UID";
  860. precondition = /*%FSM<CONDPRECONDITION""">*/"!isNull player"/*%FSM</CONDPRECONDITION""">*/;
  861. condition=/*%FSM<CONDITION""">*/"player isEqualTo player"/*%FSM</CONDITION""">*/;
  862. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  863. };
  864. /*%FSM</LINK>*/
  865. };
  866. };
  867. /*%FSM</STATE>*/
  868. /*%FSM<STATE "ERROR_Wrong_Version_1">*/
  869. class ERROR_Wrong_Version_1
  870. {
  871. name = "ERROR_Wrong_Version_1";
  872. itemno = 47;
  873. init = /*%FSM<STATEINIT""">*/"_msg = ""You have an outdated version of ArmA 3"";" \n
  874. "_msg call Epoch_updateLoadingScreen;" \n
  875. "diag_log _msg;" \n
  876. "" \n
  877. "_rejectPlayer = {" \n
  878. " PLAYER_REJECT_ARMAVERSION = true;" \n
  879. " publicVariableServer ""PLAYER_REJECT_ARMAVERSION"";" \n
  880. "};"/*%FSM</STATEINIT""">*/;
  881. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  882. class Links
  883. {
  884. /*%FSM<LINK "true">*/
  885. class true
  886. {
  887. itemno = 32;
  888. priority = 0.000000;
  889. to="Display_Message";
  890. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  891. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  892. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  893. };
  894. /*%FSM</LINK>*/
  895. };
  896. };
  897. /*%FSM</STATE>*/
  898. /*%FSM<STATE "Setup_EH_s_and_H">*/
  899. class Setup_EH_s_and_H
  900. {
  901. name = "Setup_EH_s_and_H";
  902. itemno = 50;
  903. init = /*%FSM<STATEINIT""">*/"{" \n
  904. " player addEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
  905. "} forEach ([""CfgEpochClient"", ""addEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
  906. "" \n
  907. "if (count EPOCH_playerHitPoints isEqualTo count ((getAllHitPointsDamage player) param [0,[]])) then {" \n
  908. " {" \n
  909. " player setHitIndex [_forEachIndex, _x];" \n
  910. " }forEach EPOCH_playerHitPoints;" \n
  911. "};" \n
  912. "" \n
  913. "" \n
  914. "EPOOP_NITELIGHT_THREAD = [5,100] spawn EPOCH_niteLight;" \n
  915. "" \n
  916. "EPOOP_MASTERLOOP_THREAD = [] spawn {" \n
  917. " scriptName ""EPOOP Masterloop"";" \n
  918. " call EPOCH_masterLoop" \n
  919. "};" \n
  920. "" \n
  921. "true call EPOCH_fnc_Weather;" \n
  922. "" \n
  923. "if (_debug) then {" \n
  924. " diag_log ""EPOCH-LOGIN: Setup EH's"";" \n
  925. "};" \n
  926. "" \n
  927. """Loading... Please wait!"" call Epoch_updateLoadingScreen;" \n
  928. "progressLoadingScreen 0.9;"/*%FSM</STATEINIT""">*/;
  929. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  930. class Links
  931. {
  932. /*%FSM<LINK "Has_Current_Weap">*/
  933. class Has_Current_Weap
  934. {
  935. itemno = 53;
  936. priority = 10.000000;
  937. to="Find_Active_Weap";
  938. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  939. condition=/*%FSM<CONDITION""">*/"_currentWeapon != """""/*%FSM</CONDITION""">*/;
  940. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  941. };
  942. /*%FSM</LINK>*/
  943. /*%FSM<LINK "no_weapons">*/
  944. class no_weapons
  945. {
  946. itemno = 51;
  947. priority = 0.000000;
  948. to="Process";
  949. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  950. condition=/*%FSM<CONDITION""">*/"_currentWeapon == """""/*%FSM</CONDITION""">*/;
  951. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  952. };
  953. /*%FSM</LINK>*/
  954. };
  955. };
  956. /*%FSM</STATE>*/
  957. /*%FSM<STATE "Process">*/
  958. class Process
  959. {
  960. name = "Process";
  961. itemno = 52;
  962. init = /*%FSM<STATEINIT""">*/"progressLoadingScreen 0.975;"/*%FSM</STATEINIT""">*/;
  963. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  964. class Links
  965. {
  966. /*%FSM<LINK "Preload_done">*/
  967. class Preload_done
  968. {
  969. itemno = 29;
  970. priority = 0.000000;
  971. to="FINISH";
  972. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  973. condition=/*%FSM<CONDITION""">*/"preloadCamera _playerPos"/*%FSM</CONDITION""">*/;
  974. action=/*%FSM<ACTION""">*/"call compile _extraPayload;"/*%FSM</ACTION""">*/;
  975. };
  976. /*%FSM</LINK>*/
  977. };
  978. };
  979. /*%FSM</STATE>*/
  980. /*%FSM<STATE "Find_Active_Weap">*/
  981. class Find_Active_Weap
  982. {
  983. name = "Find_Active_Weap";
  984. itemno = 54;
  985. init = /*%FSM<STATEINIT""">*/"_activeWeapon = currentWeapon player;" \n
  986. "progressLoadingScreen 0.95;"/*%FSM</STATEINIT""">*/;
  987. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  988. class Links
  989. {
  990. /*%FSM<LINK "Current_Weapon_S">*/
  991. class Current_Weapon_S
  992. {
  993. itemno = 56;
  994. priority = 0.000000;
  995. to="Do_nothing";
  996. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  997. condition=/*%FSM<CONDITION""">*/"_activeWeapon == _currentWeapon"/*%FSM</CONDITION""">*/;
  998. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  999. };
  1000. /*%FSM</LINK>*/
  1001. /*%FSM<LINK "Current_Weapon_Not">*/
  1002. class Current_Weapon_Not
  1003. {
  1004. itemno = 55;
  1005. priority = 0.000000;
  1006. to="Select_Weapon";
  1007. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1008. condition=/*%FSM<CONDITION""">*/"_activeWeapon != _currentWeapon"/*%FSM</CONDITION""">*/;
  1009. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1010. };
  1011. /*%FSM</LINK>*/
  1012. };
  1013. };
  1014. /*%FSM</STATE>*/
  1015. /*%FSM<STATE "Select_Weapon">*/
  1016. class Select_Weapon
  1017. {
  1018. name = "Select_Weapon";
  1019. itemno = 57;
  1020. init = /*%FSM<STATEINIT""">*/"_currentWeapon spawn {" \n
  1021. " uiSleep 1; " \n
  1022. " player selectWeapon _this;" \n
  1023. "};"/*%FSM</STATEINIT""">*/;
  1024. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1025. class Links
  1026. {
  1027. /*%FSM<LINK "true">*/
  1028. class true
  1029. {
  1030. itemno = 58;
  1031. priority = 0.000000;
  1032. to="Process";
  1033. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1034. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1035. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1036. };
  1037. /*%FSM</LINK>*/
  1038. };
  1039. };
  1040. /*%FSM</STATE>*/
  1041. /*%FSM<STATE "Do_nothing">*/
  1042. class Do_nothing
  1043. {
  1044. name = "Do_nothing";
  1045. itemno = 59;
  1046. init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
  1047. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1048. class Links
  1049. {
  1050. /*%FSM<LINK "true">*/
  1051. class true
  1052. {
  1053. itemno = 58;
  1054. priority = 0.000000;
  1055. to="Process";
  1056. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1057. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1058. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1059. };
  1060. /*%FSM</LINK>*/
  1061. };
  1062. };
  1063. /*%FSM</STATE>*/
  1064. /*%FSM<STATE "Check_New_Player">*/
  1065. class Check_New_Player
  1066. {
  1067. name = "Check_New_Player";
  1068. itemno = 60;
  1069. init = /*%FSM<STATEINIT""">*/"_timeout = diag_tickTime + 120;" \n
  1070. "" \n
  1071. "player reveal _playerObject;" \n
  1072. "" \n
  1073. "_playerPos = getpos _playerObject;" \n
  1074. "" \n
  1075. "" \n
  1076. """Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
  1077. "progressLoadingScreen 0.6;" \n
  1078. ""/*%FSM</STATEINIT""">*/;
  1079. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1080. class Links
  1081. {
  1082. /*%FSM<LINK "check_new__player">*/
  1083. class check_new__player
  1084. {
  1085. itemno = 61;
  1086. priority = 0.000000;
  1087. to="Setup_Player_Obj";
  1088. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1089. condition=/*%FSM<CONDITION""">*/"!(isNull _playerObject) && {_playerObject getVariable [""SETUP"",false]} && {_playerPos nearObjectsReady 10} && {call _finalPlayerObjectCheck}"/*%FSM</CONDITION""">*/;
  1090. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1091. };
  1092. /*%FSM</LINK>*/
  1093. /*%FSM<LINK "Timeout_No_Respo">*/
  1094. class Timeout_No_Respo
  1095. {
  1096. itemno = 15;
  1097. priority = 0.000000;
  1098. to="ERROR_Server_not";
  1099. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1100. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  1101. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1102. };
  1103. /*%FSM</LINK>*/
  1104. };
  1105. };
  1106. /*%FSM</STATE>*/
  1107. /*%FSM<STATE "Process_1">*/
  1108. class Process_1
  1109. {
  1110. name = "Process_1";
  1111. itemno = 63;
  1112. init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
  1113. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1114. class Links
  1115. {
  1116. /*%FSM<LINK "Wait_ArmA_Loading">*/
  1117. class Wait_ArmA_Loading
  1118. {
  1119. itemno = 64;
  1120. priority = 0.000000;
  1121. to="Start_Loading_Sc";
  1122. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1123. condition=/*%FSM<CONDITION""">*/"!(call BIS_fnc_isLoading)"/*%FSM</CONDITION""">*/;
  1124. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1125. };
  1126. /*%FSM</LINK>*/
  1127. };
  1128. };
  1129. /*%FSM</STATE>*/
  1130. /*%FSM<STATE "Start_Loading_Sc">*/
  1131. class Start_Loading_Sc
  1132. {
  1133. name = "Start_Loading_Sc";
  1134. itemno = 65;
  1135. init = /*%FSM<STATEINIT""">*/"startLoadingScreen ["""",""EpochLoadingScreen""];" \n
  1136. "if (_debug) then {" \n
  1137. " diag_log ""EPOCH-LOGIN: Start Loadingscreen"";" \n
  1138. "};" \n
  1139. """Starting Epoch... Please wait!"" call Epoch_updateLoadingScreen;"/*%FSM</STATEINIT""">*/;
  1140. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1141. class Links
  1142. {
  1143. /*%FSM<LINK "true">*/
  1144. class true
  1145. {
  1146. itemno = 2;
  1147. priority = 0.000000;
  1148. to="Version_Check";
  1149. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1150. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1151. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1152. };
  1153. /*%FSM</LINK>*/
  1154. };
  1155. };
  1156. /*%FSM</STATE>*/
  1157. /*%FSM<STATE "ERROR_Player_Setup">*/
  1158. class ERROR_Player_Setup
  1159. {
  1160. name = "ERROR_Player_Setup";
  1161. itemno = 67;
  1162. init = /*%FSM<STATEINIT""">*/"_msg = ""Problem setting up player"";" \n
  1163. "_msg call Epoch_updateLoadingScreen;" \n
  1164. "diag_log _msg;" \n
  1165. "" \n
  1166. "_rejectPlayer = {" \n
  1167. " PLAYER_REJECT_InvaildSetup = true;" \n
  1168. " publicVariableServer ""PLAYER_REJECT_InvaildSetup"";" \n
  1169. "};"/*%FSM</STATEINIT""">*/;
  1170. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1171. class Links
  1172. {
  1173. /*%FSM<LINK "true">*/
  1174. class true
  1175. {
  1176. itemno = 32;
  1177. priority = 0.000000;
  1178. to="Display_Message";
  1179. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1180. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1181. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1182. };
  1183. /*%FSM</LINK>*/
  1184. };
  1185. };
  1186. /*%FSM</STATE>*/
  1187. /*%FSM<STATE "Server_Version_C">*/
  1188. class Server_Version_C
  1189. {
  1190. name = "Server_Version_C";
  1191. itemno = 69;
  1192. init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
  1193. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1194. class Links
  1195. {
  1196. /*%FSM<LINK "Wrong_Server_Ver">*/
  1197. class Wrong_Server_Ver
  1198. {
  1199. itemno = 23;
  1200. priority = 10.000000;
  1201. to="ERROR_Wrong_Server";
  1202. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1203. condition=/*%FSM<CONDITION""">*/"Epoch_ServerVersion != getText(configFile >> ""CfgMods"" >> ""Epoch"" >> ""version"")"/*%FSM</CONDITION""">*/;
  1204. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1205. };
  1206. /*%FSM</LINK>*/
  1207. /*%FSM<LINK "Version_Okay">*/
  1208. class Version_Okay
  1209. {
  1210. itemno = 70;
  1211. priority = 0.000000;
  1212. to="Request_Hive";
  1213. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1214. condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
  1215. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1216. };
  1217. /*%FSM</LINK>*/
  1218. };
  1219. };
  1220. /*%FSM</STATE>*/
  1221. /*%FSM<STATE "ERROR_Server_not_3">*/
  1222. class ERROR_Server_not_3
  1223. {
  1224. name = "ERROR_Server_not_3";
  1225. itemno = 72;
  1226. init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
  1227. "_msg call Epoch_updateLoadingScreen;" \n
  1228. "diag_log _msg;" \n
  1229. "" \n
  1230. "_rejectPlayer = {" \n
  1231. " PLAYER_REJECT_HiveNotResponse = true;" \n
  1232. " publicVariableServer ""PLAYER_REJECT_HiveNotResponse"";" \n
  1233. "};"/*%FSM</STATEINIT""">*/;
  1234. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1235. class Links
  1236. {
  1237. /*%FSM<LINK "true">*/
  1238. class true
  1239. {
  1240. itemno = 32;
  1241. priority = 0.000000;
  1242. to="Display_Message";
  1243. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1244. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1245. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1246. };
  1247. /*%FSM</LINK>*/
  1248. };
  1249. };
  1250. /*%FSM</STATE>*/
  1251. /*%FSM<STATE "Process_2">*/
  1252. class Process_2
  1253. {
  1254. name = "Process_2";
  1255. itemno = 77;
  1256. init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
  1257. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1258. class Links
  1259. {
  1260. /*%FSM<LINK "new_character">*/
  1261. class new_character
  1262. {
  1263. itemno = 74;
  1264. priority = 10.000000;
  1265. to="Open_Gender_Selection";
  1266. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1267. condition=/*%FSM<CONDITION""">*/"_newChar"/*%FSM</CONDITION""">*/;
  1268. action=/*%FSM<ACTION""">*/"endLoadingScreen;" \n
  1269. "_myGenderTime = diag_tickTime;"/*%FSM</ACTION""">*/;
  1270. };
  1271. /*%FSM</LINK>*/
  1272. /*%FSM<LINK "load_old_charact">*/
  1273. class load_old_charact
  1274. {
  1275. itemno = 76;
  1276. priority = 0.000000;
  1277. to="Process_3";
  1278. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1279. condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
  1280. action=/*%FSM<ACTION""">*/"_timeout = diag_tickTime + 120;"/*%FSM</ACTION""">*/;
  1281. };
  1282. /*%FSM</LINK>*/
  1283. };
  1284. };
  1285. /*%FSM</STATE>*/
  1286. /*%FSM<STATE "Open_Gender_Selection">*/
  1287. class Open_Gender_Selection
  1288. {
  1289. name = "Open_Gender_Selection";
  1290. itemno = 78;
  1291. init = /*%FSM<STATEINIT""">*/"createdialog ""SelectGender"";"/*%FSM</STATEINIT""">*/;
  1292. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1293. class Links
  1294. {
  1295. /*%FSM<LINK "Gender_Selected">*/
  1296. class Gender_Selected
  1297. {
  1298. itemno = 80;
  1299. priority = 10.000000;
  1300. to="Send_character_s";
  1301. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1302. condition=/*%FSM<CONDITION""">*/"!isNil ""EPOCH_PlayerIsMale"""/*%FSM</CONDITION""">*/;
  1303. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1304. };
  1305. /*%FSM</LINK>*/
  1306. /*%FSM<LINK "Timeout">*/
  1307. class Timeout
  1308. {
  1309. itemno = 81;
  1310. priority = 0.000000;
  1311. to="Send_character_s";
  1312. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1313. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _myGenderTime) > 30)"/*%FSM</CONDITION""">*/;
  1314. action=/*%FSM<ACTION""">*/"EPOCH_PlayerIsMale = true;" \n
  1315. "closeDialog 0;"/*%FSM</ACTION""">*/;
  1316. };
  1317. /*%FSM</LINK>*/
  1318. /*%FSM<LINK "Reopen_when_client">*/
  1319. class Reopen_when_client
  1320. {
  1321. itemno = 79;
  1322. priority = 0.000000;
  1323. to="Open_Gender_Selection";
  1324. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1325. condition=/*%FSM<CONDITION""">*/"!dialog && isNil ""EPOCH_PlayerIsMale"""/*%FSM</CONDITION""">*/;
  1326. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1327. };
  1328. /*%FSM</LINK>*/
  1329. };
  1330. };
  1331. /*%FSM</STATE>*/
  1332. /*%FSM<STATE "Send_character_s">*/
  1333. class Send_character_s
  1334. {
  1335. name = "Send_character_s";
  1336. itemno = 82;
  1337. init = /*%FSM<STATEINIT""">*/"startLoadingScreen ["""",""EpochLoadingScreen""];" \n
  1338. """Gender Selected... Please wait!"" call Epoch_updateLoadingScreen;" \n
  1339. "" \n
  1340. "[player,EPOCH_PlayerIsMale] remoteExec [""EPOCH_server_loadPlayer"",2];" \n
  1341. "EPOCH_PlayerIsMale = nil;"/*%FSM</STATEINIT""">*/;
  1342. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1343. class Links
  1344. {
  1345. /*%FSM<LINK "load_old_charact">*/
  1346. class load_old_charact
  1347. {
  1348. itemno = 76;
  1349. priority = 0.000000;
  1350. to="Process_3";
  1351. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1352. condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
  1353. action=/*%FSM<ACTION""">*/"_timeout = diag_tickTime + 120;"/*%FSM</ACTION""">*/;
  1354. };
  1355. /*%FSM</LINK>*/
  1356. };
  1357. };
  1358. /*%FSM</STATE>*/
  1359. /*%FSM<STATE "Process_3">*/
  1360. class Process_3
  1361. {
  1362. name = "Process_3";
  1363. itemno = 83;
  1364. init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
  1365. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1366. class Links
  1367. {
  1368. /*%FSM<LINK "Timeout_No_Respo">*/
  1369. class Timeout_No_Respo
  1370. {
  1371. itemno = 22;
  1372. priority = 0.000000;
  1373. to="ERROR_Server_not_4";
  1374. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1375. condition=/*%FSM<CONDITION""">*/"diag_tickTime > _timeout"/*%FSM</CONDITION""">*/;
  1376. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1377. };
  1378. /*%FSM</LINK>*/
  1379. /*%FSM<LINK "Response">*/
  1380. class Response
  1381. {
  1382. itemno = 16;
  1383. priority = 0.000000;
  1384. to="Check_New_Player";
  1385. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1386. condition=/*%FSM<CONDITION""">*/"!isNil ""_C_SET"""/*%FSM</CONDITION""">*/;
  1387. action=/*%FSM<ACTION""">*/"_playerObject = _C_SET deleteAt 0;" \n
  1388. "_playerVariables = _C_SET deleteAt 0;" \n
  1389. "_currentWeapon = _C_SET deleteAt 0;" \n
  1390. "_mass = _C_SET deleteAt 0;" \n
  1391. "" \n
  1392. "Epoch_my_GroupUID = _C_SET deleteAt 0;" \n
  1393. "Epoch_canBeRevived = _C_SET deleteAt 0;" \n
  1394. "Epoch_personalToken = _C_SET deleteAt 0;" \n
  1395. "Epoch_my_Group = _C_SET deleteAt 0;" \n
  1396. "" \n
  1397. "_extraPayload = _C_SET deleteAt 0;" \n
  1398. "" \n
  1399. ""/*%FSM</ACTION""">*/;
  1400. };
  1401. /*%FSM</LINK>*/
  1402. };
  1403. };
  1404. /*%FSM</STATE>*/
  1405. /*%FSM<STATE "ERROR_Server_not_4">*/
  1406. class ERROR_Server_not_4
  1407. {
  1408. name = "ERROR_Server_not_4";
  1409. itemno = 84;
  1410. init = /*%FSM<STATEINIT""">*/"_msg = ""Authentication Failed, Disconnect and try again"";" \n
  1411. "_msg call Epoch_updateLoadingScreen;" \n
  1412. "diag_log _msg;" \n
  1413. "" \n
  1414. "_rejectPlayer = {" \n
  1415. " PLAYER_REJECT_HiveLoadChar = true;" \n
  1416. " publicVariableServer ""PLAYER_REJECT_HiveLoadChar"";" \n
  1417. "};"/*%FSM</STATEINIT""">*/;
  1418. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  1419. class Links
  1420. {
  1421. /*%FSM<LINK "true">*/
  1422. class true
  1423. {
  1424. itemno = 32;
  1425. priority = 0.000000;
  1426. to="Display_Message";
  1427. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  1428. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  1429. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  1430. };
  1431. /*%FSM</LINK>*/
  1432. };
  1433. };
  1434. /*%FSM</STATE>*/
  1435. };
  1436. initState="INIT";
  1437. finalStates[] =
  1438. {
  1439. "FINISH",
  1440. "Reject_without_B",
  1441. };
  1442. };
  1443. /*%FSM</COMPILE>*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement