From c3112bc12dc9c59b259318360051556e72f73f68 Mon Sep 17 00:00:00 2001 From: Skaronator Date: Thu, 6 Feb 2014 11:52:18 +0100 Subject: [PATCH] Include Base Building Godmode --- CHANGE LOG 1.0.4.1.txt | 1 + SQF/dayz_server/compile/server_publishObject.sqf | 6 +++++- SQF/dayz_server/compile/server_swapObject.sqf | 12 ++++++++---- SQF/dayz_server/system/server_monitor.sqf | 16 +++++++++++----- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CHANGE LOG 1.0.4.1.txt b/CHANGE LOG 1.0.4.1.txt index 8d7996a3e..b2addddb3 100644 --- a/CHANGE LOG 1.0.4.1.txt +++ b/CHANGE LOG 1.0.4.1.txt @@ -1,3 +1,4 @@ +[NEW] Base Building Godmode is now included. Use DZE_GodModeBase = true; to enable it. (Disabled by Default) @Skaronator [NEW] Config based trader setup option that is more performant, however does not track inventory. DZE_ConfigTrader = true; and #include "\dayz_epoch_b\CfgServerTrader\cfgServerTrader.hpp" in description.ext @Fank @Skaronator @vbawol [ADDED] Stacking of 10oz silver bars into briefcases, also traders now give this as change if return is 2-9 10oz silver bars. @vbawol diff --git a/SQF/dayz_server/compile/server_publishObject.sqf b/SQF/dayz_server/compile/server_publishObject.sqf index a31e383d0..ecc2edc03 100644 --- a/SQF/dayz_server/compile/server_publishObject.sqf +++ b/SQF/dayz_server/compile/server_publishObject.sqf @@ -22,7 +22,11 @@ _object setVariable ["lastUpdate",time]; _object setVariable ["ObjectUID", _uid,true]; // _object setVariable ["CharacterID",_charID,true]; -_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; +if (DZE_GodModeBase) then { + _object addEventHandler ["HandleDamage", {false}]; +}else{ + _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; +}; // Test disabling simulation server side on buildables only. _object enableSimulation false; diff --git a/SQF/dayz_server/compile/server_swapObject.sqf b/SQF/dayz_server/compile/server_swapObject.sqf index 26b2cb28c..d9dc88f3f 100644 --- a/SQF/dayz_server/compile/server_swapObject.sqf +++ b/SQF/dayz_server/compile/server_swapObject.sqf @@ -18,8 +18,9 @@ if(!isNull(_obj)) then { _objectID = _obj getVariable ["ObjectID","0"]; // Find objectUID _objectUID = _obj getVariable ["ObjectUID","0"]; - - _obj removeAllMPEventHandlers "MPKilled"; + if !(DZE_GodModeBase) then { + _obj removeAllMPEventHandlers "MPKilled"; + }; // Remove old object deleteVehicle _obj; @@ -63,8 +64,11 @@ _key call server_hiveWrite; _object setVariable ["lastUpdate",time]; _object setVariable ["ObjectUID", _uid,true]; // _object setVariable ["CharacterID",_charID,true]; - -_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; +if (DZE_GodModeBase) then { + _object addEventHandler ["HandleDamage", {false}]; +}else{ + _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; +}; // Test disabling simulation server side on buildables only. _object enableSimulation false; diff --git a/SQF/dayz_server/system/server_monitor.sqf b/SQF/dayz_server/system/server_monitor.sqf index 1af4b85c0..29179cea3 100644 --- a/SQF/dayz_server/system/server_monitor.sqf +++ b/SQF/dayz_server/system/server_monitor.sqf @@ -143,17 +143,23 @@ if (isServer and isNil "sm_done") then { clearMagazineCargoGlobal _object; // _object setVehicleAmmo DZE_vehicleAmmo; + _object setdir _dir; + _object setposATL _pos; + _object setDamage _damage; + if ((typeOf _object) in dayz_allowedObjects) then { - _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; + if (DZE_GodModeBase) then { + _object addEventHandler ["HandleDamage", {false}]; + _object setDamage 0; + } else { + _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; + }; // Test disabling simulation server side on buildables only. _object enableSimulation false; // used for inplace upgrades and lock/unlock of safe _object setVariable ["OEMPos", _pos, true]; + }; - - _object setdir _dir; - _object setposATL _pos; - _object setDamage _damage; if (count _intentory > 0) then { if (_type in DZE_LockedStorage) then {