diff --git a/CHANGE LOG 1.0.6.txt b/CHANGE LOG 1.0.6.txt index cdcb82490..398cdd296 100644 --- a/CHANGE LOG 1.0.6.txt +++ b/CHANGE LOG 1.0.6.txt @@ -38,6 +38,7 @@ [CHANGED] All instances of sleep replaced with the more reliable uiSleep @icomrade [CHANGED] Several getPosATL changed to call FNC_GetPos for water compatibility @icomrade [CHANGED] Trader city objects are now spawned locally on each machine with simulation disabled for better performance. Admins can still override with custom cities in init.sqf. @ebaydayz +[CHANGED] Player zombies are no longer attacked by other zombies. The respawn button is now enabled for them if they wish to suicide. @ebaydayz [FIXED] Zombies now target and attack players correctly with 1.8.7 code [FIXED] Server position sync bug after falling unconscious #1522 @ebaydayz diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index d79fa5123..be0309e6d 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -381,7 +381,7 @@ class RscDisplayMPInterrupt : RscStandardDisplay { class CA_B_Respawn : CA_B_SAVE { idc = 1010; //onButtonClick = "hint str (_this select 0);"; - onButtonClick = "if ((alive player) && (r_fracture_legs)) then { player SetDamage 1;};"; + onButtonClick = "if ((alive player) && (r_fracture_legs or {player isKindOf 'PZombie_VB'})) then { player SetDamage 1;};"; y = 0.2537 + 0.101903 * 2; text = $STR_DISP_INT_RESPAWN; default = 0; diff --git a/SQF/dayz_code/actions/pzombie/pz_feed.sqf b/SQF/dayz_code/actions/pzombie/pz_feed.sqf index c8c33b01a..e83397222 100644 --- a/SQF/dayz_code/actions/pzombie/pz_feed.sqf +++ b/SQF/dayz_code/actions/pzombie/pz_feed.sqf @@ -63,7 +63,7 @@ if !(alive _item) then { dayz_lastMeal = time; dayz_hunger = 0; - PVDZ_plr_Save = [player,[],true]; + PVDZ_plr_Save = [player,nil,true]; publicVariableServer "PVDZ_plr_Save"; [player,"eat",0,false] call dayz_zombieSpeak; diff --git a/SQF/dayz_code/compile/player_death.sqf b/SQF/dayz_code/compile/player_death.sqf index 06aaaaf81..77f2c4a75 100644 --- a/SQF/dayz_code/compile/player_death.sqf +++ b/SQF/dayz_code/compile/player_death.sqf @@ -133,7 +133,7 @@ _body setVariable["combattimeout", 0, true]; //dayzFlies = player; //publicVariable "dayzFlies"; uiSleep 2; -1 cutRsc ["DeathScreen_DZE","BLACK OUT",3]; +1 cutRsc [if (DZE_DeathScreen) then {"DeathScreen_DZE"} else {"DeathScreen_DZ"},"BLACK OUT",3]; playMusic "dayz_track_death_1"; uiSleep 2; diff --git a/SQF/dayz_code/compile/player_forceSave.sqf b/SQF/dayz_code/compile/player_forceSave.sqf index 364e5e593..9684d4ea7 100644 --- a/SQF/dayz_code/compile/player_forceSave.sqf +++ b/SQF/dayz_code/compile/player_forceSave.sqf @@ -7,7 +7,7 @@ Opens player inventory to save _magazineArray = [] call player_countMagazines; if ((count _magazineArray) > 0) then { - PVDZ_plr_Save = [player,[_magazineArray,dayz_onBack]]; + PVDZ_plr_Save = [player, if (player isKindOf "PZombie_VB") then {nil} else {[_magazineArray,dayz_onBack]}]; publicVariableServer "PVDZ_plr_Save"; }; diff --git a/SQF/dayz_code/compile/player_onPause.sqf b/SQF/dayz_code/compile/player_onPause.sqf index 5735a5c4a..4e7e21794 100644 --- a/SQF/dayz_code/compile/player_onPause.sqf +++ b/SQF/dayz_code/compile/player_onPause.sqf @@ -11,7 +11,7 @@ _btnAbort ctrlEnable false; _btnAbortText = ctrlText _btnAbort; _isPZombie = player isKindOf "PZombie_VB"; -if (r_fracture_legs) then {_btnRespawn ctrlEnable true;}; +if (r_fracture_legs or _isPZombie) then {_btnRespawn ctrlEnable true;}; dayz_lastCheckSave = time; //force gear save diff --git a/SQF/dayz_code/configVariables.sqf b/SQF/dayz_code/configVariables.sqf index 72bb44922..5a16067f1 100644 --- a/SQF/dayz_code/configVariables.sqf +++ b/SQF/dayz_code/configVariables.sqf @@ -26,6 +26,7 @@ DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the DZE_DeathMsgGlobal = false; // Display death messages in global chat DZE_DeathMsgSide = false; // Display death messages in side chat DZE_DeathMsgTitleText = false; // Display death messages as title text +DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m DZE_modularBuild = true; // Enable Snap building by @raymix DZE_snapExtraRange = 0; // Increase the default range from which objects can snap by this many meters. diff --git a/SQF/dayz_code/system/player_spawn_2.sqf b/SQF/dayz_code/system/player_spawn_2.sqf index 768671528..cd612bc26 100644 --- a/SQF/dayz_code/system/player_spawn_2.sqf +++ b/SQF/dayz_code/system/player_spawn_2.sqf @@ -363,7 +363,7 @@ while {1 == 1} do { player setVariable["combattimeout", diag_tickTime + 30, true]; // Global used to punish combat log in server_onPlayerDisconnect player setVariable["startcombattimer", 0, false]; } else { - if (_ZedsNearby) then { + if (_ZedsNearby && !_isPZombie) then { player setVariable["combattimeout", diag_tickTime + 10, true]; // Global used to punish combat log in server_onPlayerDisconnect player setVariable["startcombattimer", 0, false]; }; diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index 6af979045..e609383fe 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -75,7 +75,7 @@ if (_characterID != "0") then { }; if (_isNewGear) then { - if ((typeName _magazines == "ARRAY") && !(_character isKindOf "PZombie_VB")) then { + if (typeName _magazines == "ARRAY") then { _playerGear = [weapons _character,_magazines select 0,_magazines select 1]; }; };