diff --git a/Sources/epoch_code/System/player_login.fsm b/Sources/epoch_code/System/player_login.fsm index 3fa6d148..60feb49d 100644 --- a/Sources/epoch_code/System/player_login.fsm +++ b/Sources/epoch_code/System/player_login.fsm @@ -25,7 +25,7 @@ item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000 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[] = {"Player_In_Game",8,4314,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"Player" \n "In Game"}; +item24[] = {"Player_In_Game",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"Player" \n "In Game"}; 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"}; @@ -62,7 +62,7 @@ item57[] = {"Select_Weapon",2,250,150.000000,1300.000000,250.000000,1350.000000, 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"}; +item61[] = {"check_new__player",4,4314,-150.000000,925.000000,-50.000000,975.000000,0.000000,"check new " \n "player not null"}; item62[] = {"true",4,218,-150.000000,-325.000000,-60.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"}; @@ -183,8 +183,8 @@ link93[] = {82,76}; link94[] = {83,16}; link95[] = {83,22}; link96[] = {84,31}; -globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-320.898621,993.773193,1636.447266,764.085449,1287,854,1}; -window[] = {2,-1,-1,-1,-1,871,104,1088,104,3,1305}; +globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-423.640717,1096.514160,1778.978027,253.646729,881,884,1}; +window[] = {2,-1,-1,-1,-1,793,26,1010,26,3,899}; *//*%FSM*/ class FSM { @@ -206,10 +206,6 @@ class FSM " diag_log ""EPOCH-LOGIN: Init"";" \n "};" \n "" \n - "_finalPlayerObjectCheck = {" \n - " (_mass isEqualTo (loadAbs _playerObject))" \n - "};" \n - "" \n "EPOCH_loginFSM = _thisFSM;" \n "EPOCH_playerLoginInit = {" \n " EPOCH_loginFSM setFSMVariable [_this select 0, _this select 1];" \n @@ -1055,7 +1051,6 @@ class FSM "" \n "_playerPos = getpos _playerObject;" \n "" \n - "" \n """Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n "progressLoadingScreen 0.6;" \n ""/*%FSM*/; @@ -1069,7 +1064,31 @@ class FSM priority = 0.000000; to="Setup_Player_Obj"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!(isNull _playerObject) && {_playerObject getVariable [""SETUP"",false]} && {_playerPos nearObjectsReady 10} && {call _finalPlayerObjectCheck}"/*%FSM*/; + condition=/*%FSM*/"" \n + "_state = false;" \n + "_playerCheck = !(isNull _playerObject);" \n + "_playerCheckSetup = false;" \n + "_playerCheckObjectsReady = false;" \n + "_playerCheckFinal = false;" \n + "if (_playerCheck) then {" \n + " _playerCheckSetup = _playerObject getVariable [""SETUP"",false];" \n + " if (_playerCheckSetup) then {" \n + " _playerCheckObjectsReady = _playerPos nearObjectsReady 10;" \n + " if (_playerCheckObjectsReady) then {" \n + " _playerCheckFinal = (_mass isEqualTo (loadAbs _playerObject));" \n + " if (_playerCheckFinal) then {" \n + " _state = true;" \n + " };" \n + " };" \n + " };" \n + "};" \n + "if (_debug) then {" \n + " diag_log format[""DEBUG: Checking Player Object: %1"", [""FAILED"",""OK""] select _playerCheck];" \n + " diag_log format[""DEBUG: Checking Player is setup: %1"", [""FAILED"",""OK""] select _playerCheckSetup];" \n + " diag_log format[""DEBUG: Checking world preloaded: %1"", [""FAILED"",""OK""] select _playerCheckObjectsReady];" \n + " diag_log format[""DEBUG: Final Player mass check: %1 (%2 != %3)"", [""FAILED"",""OK""] select _playerCheckFinal, _mass, (loadAbs _playerObject)];" \n + "};" \n + "_state"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ @@ -1423,4 +1442,4 @@ class FSM "Reject_without_B", }; }; -/*%FSM*/ +/*%FSM*/ \ No newline at end of file