diff --git a/SQF/dayz_code/init/publicEH.sqf b/SQF/dayz_code/init/publicEH.sqf index 3044b87d1..c2efae41f 100644 --- a/SQF/dayz_code/init/publicEH.sqf +++ b/SQF/dayz_code/init/publicEH.sqf @@ -59,7 +59,7 @@ if (isServer) then { //Client only if (!isDedicated) then { "PVDZE_plr_SetDate" addPublicVariableEventHandler {(_this select 1) call player_setDate}; - "PVDZE_plr_SetWeather" addPublicVariableEventHandler {zeroCurrentWeather = (_this select 1)}; + "PVDZE_plr_SetWeather" addPublicVariableEventHandler {zeroPreviousWeather = zeroCurrentWeather; zeroCurrentWeather = (_this select 1)}; "PVDZE_obj_RoadFlare" addPublicVariableEventHandler {(_this select 1) spawn object_roadFlare}; "PVDZE_plr_Morph2" addPublicVariableEventHandler {(_this select 1) call player_serverModelChange}; "PVDZE_plr_Morph" addPublicVariableEventHandler {(_this select 1) call server_switchPlayer}; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index ae5eefae7..11dcd3e4f 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -559,6 +559,7 @@ if(!isDedicated) then { dayz_bodyMonitor = []; // weather control var + zeroPreviousWeather = [0,0,[0,0],0]; zeroCurrentWeather = [0,0,[0,0],0]; dayz_baseTypes = getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index c275132d6..cbd06d922 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -1,4 +1,4 @@ -/*%FSM*/ +/*%FSM*/ /*%FSM*/ /* item0[] = {"init",0,250,-75.000000,-350.000000,25.000000,-300.000000,0.000000,"init"}; @@ -34,7 +34,7 @@ item29[] = {"Load_In",2,250,-75.000000,1000.000000,25.000000,1050.000000,0.00000 item30[] = {"Bad_Version",4,218,50.000000,800.000000,150.000000,850.000000,0.000000,"Bad" \n "Version"}; item31[] = {"ERROR__Bad_Versi",2,250,175.000000,800.000000,275.000000,850.000000,0.000000,"ERROR:" \n "Bad Version"}; item32[] = {"Display_Ready",4,218,-175.000000,1050.000000,-75.000000,1100.000000,0.000000,"Display" \n "Ready"}; -item33[] = {"Preload_Display",2,250,-75.000000,1100.000000,25.000000,1150.000000,0.000000,"Preload" \n "Display"}; +item33[] = {"Preload_Display",2,4346,-75.000000,1100.000000,25.000000,1150.000000,0.000000,"Preload" \n "Display"}; item34[] = {"Preload_Done",4,218,-175.000000,1150.000000,-75.000000,1200.000000,0.000000,"Preload" \n "Done"}; item35[] = {"Initialize",2,250,-75.000000,1200.000000,25.000000,1250.000000,0.000000,"Initialize"}; item36[] = {"Finish",1,250,-75.000000,1300.000000,25.000000,1350.000000,0.000000,"Finish"}; @@ -46,7 +46,7 @@ item41[] = {"Too_Long",4,218,300.000000,800.000000,400.000000,850.000000,0.00000 item42[] = {"Enable_Sim",2,250,-75.000000,-100.000000,25.000000,-50.000000,0.000000,"Enable Sim"}; item43[] = {"Initialized",4,218,-175.000000,-150.000000,-75.000000,-100.000000,0.000000,"Initialized"}; item44[] = {"New_Character",4,218,-500.000000,375.000000,-400.000000,425.000000,5.000000,"New" \n "Character"}; -item45[] = {"Gender_Selection",2,4346,-500.000000,500.000000,-400.000000,550.000000,0.000000,"Gender Selection" \n "Dialog"}; +item45[] = {"Gender_Selection",2,250,-500.000000,500.000000,-400.000000,550.000000,0.000000,"Gender Selection" \n "Dialog"}; item46[] = {"Selected",4,218,-400.000000,600.000000,-300.000000,650.000000,0.000000,"Selected"}; item47[] = {"Process",2,250,-275.000000,600.000000,-175.000000,650.000000,0.000000,"Process"}; item48[] = {"no_PlayerID",4,218,50.000000,-100.000000,150.000000,-50.000000,2.000000,"no PlayerID"}; @@ -152,8 +152,8 @@ link77[] = {66,59}; link78[] = {67,15}; link79[] = {68,69}; link80[] = {69,20}; -globals[] = {25.000000,1,0,0,0,640,480,1,131,6316128,1,-570.582947,400.252716,1016.060913,24.546000,892,911,1}; -window[] = {2,-1,-1,-1,-1,830,50,1422,50,3,910}; +globals[] = {25.000000,1,0,0,0,640,480,1,131,6316128,1,-592.955444,422.624878,1048.709473,43.410633,889,880,1}; +window[] = {2,-1,-1,-1,-1,832,1732,3104,52,3,907}; *//*%FSM*/ class FSM { @@ -762,6 +762,8 @@ class FSM "" \n "_worldspace = dayzPlayerLogin2 select 0;" \n "_state = dayzPlayerLogin2 select 1;" \n + "PVDZE_plr_SetWeather = dayzPlayerLogin2 select 2;" \n + "PVDZE_plr_SetDate = dayzPlayerLogin2 select 3;" \n "" \n "_setDir = _worldspace select 0;" \n "_setPos = _worldspace select 1;" \n @@ -1145,6 +1147,19 @@ class FSM "dayz_monitor1 = [] spawn {" \n " while {true} do {" \n " call player_zombieCheck;" \n + "" \n + " _overcast = zeroCurrentWeather select 0;" \n + " _fog = zeroCurrentWeather select 1;" \n + " _windx = (zeroCurrentWeather select 2) select 0;" \n + " _windz = (zeroCurrentWeather select 2) select 1;" \n + " _rain = zeroCurrentWeather select 3;" \n + "" \n + " // Set weather" \n + " 0 setOvercast _overcast;" \n + " 0 setFog _fog;" \n + " setWind [_windx,_windz,true];" \n + " 0 setRain _rain;" \n + "" \n " sleep 1;" \n " };" \n "};" \n @@ -1176,11 +1191,14 @@ class FSM " setDate PVDZE_plr_SetDate;" \n "};" \n "" \n - "if (!isNil ""dayzInfectedCamps"") then {" \n - " //diag_log (""Infected Camps: "" +str(dayzInfectedCamps));" \n - " dayzInfectedCamps spawn infectedcamps;" \n + "if (!isNil ""PVDZE_plr_SetDate"") then {" \n + " 0 setOvercast (zeroCurrentWeather select 0);" \n + " 0 setFog (zeroCurrentWeather select 1);" \n + " setWind [((zeroCurrentWeather select 2) select 0),((zeroCurrentWeather select 2) select 1),true];" \n + " 0 setRain (zeroCurrentWeather select 3);" \n "};" \n "" \n + "" \n "diag_log (""Local Time: "" +str(PVDZE_plr_SetDate));" \n "" \n "//Medical" \n @@ -1299,10 +1317,7 @@ class FSM " sleep 1;" \n " _counter = _counter + 1;" \n " };" \n - "};" \n - "" \n - "// light sandstorm effect" \n - "//[player,1,1,false] call bis_fnc_sandstorm;"/*%FSM*/; + "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/SQF/dayz_code/system/player_spawn_1.sqf b/SQF/dayz_code/system/player_spawn_1.sqf index 9721d36ce..8604a6b2b 100644 --- a/SQF/dayz_code/system/player_spawn_1.sqf +++ b/SQF/dayz_code/system/player_spawn_1.sqf @@ -42,12 +42,6 @@ while {true} do { dayz_PreviousTown = _town; }; - // Set weather - 0 setOvercast (zeroCurrentWeather select 0); - 0 setFog (zeroCurrentWeather select 1); - setWind [((zeroCurrentWeather select 2) select 0),((zeroCurrentWeather select 2) select 1),true]; - 0 setRain (zeroCurrentWeather select 3); - //wait sleep 5; }; \ No newline at end of file diff --git a/SQF/dayz_server/compile/server_playerSetup.sqf b/SQF/dayz_server/compile/server_playerSetup.sqf index 1e1022757..a5b7ab301 100644 --- a/SQF/dayz_server/compile/server_playerSetup.sqf +++ b/SQF/dayz_server/compile/server_playerSetup.sqf @@ -233,7 +233,7 @@ _playerObj setVariable["humanity_CHK",_humanity]; //_playerObj setVariable["state",_state,true]; _playerObj setVariable["lastPos",getPosATL _playerObj]; -dayzPlayerLogin2 = [_worldspace,_state]; +dayzPlayerLogin2 = [_worldspace,_state,PVDZE_plr_SetWeather,PVDZE_plr_SetDate]; _clientID = owner _playerObj; _clientID publicVariableClient "dayzPlayerLogin2";