mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Update vanilla fence damage
Vanilla commits:b56d85eb992eb963dc3f8b4a985cf6
This commit is contained in:
@@ -80,29 +80,26 @@ _damage = switch (1==1) do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Just incase damage from melee is 0 (higher tier fences have no melee damage) we return false
|
//Just incase damage from melee is 0 (higher tier fences have no melee damage) we return false
|
||||||
if (_damage == 0) then { _damage = false; };
|
//if (_damage == 0) then { _damage = false; };
|
||||||
|
|
||||||
/*
|
//Server running or client
|
||||||
//Server running or client
|
if (_damage > 0) then {
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
if !(_obj in needUpdate_FenceObjects) then {
|
[_obj,(damage _obj) + _damage,"SERVER",dayz_serverKey] call server_addtoFenceUpdateArray;
|
||||||
needUpdate_FenceObjects set [count needUpdate_FenceObjects, _obj];
|
|
||||||
};
|
|
||||||
|
|
||||||
//TotalDamage Set by the server
|
|
||||||
_obj setDamage (damage _obj) + _damage;
|
|
||||||
|
|
||||||
//diag_log format["Server Reporting - %1",needUpdate_FenceObjects];
|
//diag_log format["Server Reporting - %1",needUpdate_FenceObjects];
|
||||||
} else {
|
} else {
|
||||||
//If its a client send to server for saving and damage setting.
|
//If its a client send to server for saving and damage setting.
|
||||||
PVDZ_fence_Update = [_obj,(damage _obj) + _damage];
|
PVDZ_fence_Update = [_obj,(damage _obj) + _damage,dayz_playerUID,dayz_authKey];
|
||||||
publicVariableServer "PVDZ_fence_Update";
|
publicVariableServer "PVDZ_fence_Update";
|
||||||
|
|
||||||
//diag_log ("Client Reporting");
|
//diag_log ("Client Reporting");
|
||||||
};
|
};
|
||||||
*/
|
};
|
||||||
|
|
||||||
|
|
||||||
diag_log format["Object: %1, Damage:%4 + %5(%2), Projectile:%3",(typeof _obj),((damage _obj) + _damage),((_this select 0) select 4),(damage _obj),_damage];
|
diag_log format["Object: %1, Damage:%4 + %5(%2), Projectile:%3",(typeof _obj),((damage _obj) + _damage),((_this select 0) select 4),(damage _obj),_damage];
|
||||||
|
|
||||||
// all "HandleDamage event" functions should return the effective damage that the engine will record for that part
|
// all "HandleDamage event" functions should return the effective damage that the engine will record for that part
|
||||||
(damage _obj) + _damage
|
//(damage _obj) + _damage
|
||||||
|
false
|
||||||
@@ -231,6 +231,8 @@ _object_maintenance = {
|
|||||||
_accessArray = _object getVariable ["dayz_padlockCombination",[]];
|
_accessArray = _object getVariable ["dayz_padlockCombination",[]];
|
||||||
_variables set [count _variables, ["ownerArray", _ownerArray]];
|
_variables set [count _variables, ["ownerArray", _ownerArray]];
|
||||||
_variables set [count _variables, ["padlockCombination", _accessArray]];
|
_variables set [count _variables, ["padlockCombination", _accessArray]];
|
||||||
|
|
||||||
|
_object setDamage 0;
|
||||||
|
|
||||||
if (_objectID == "0") then {
|
if (_objectID == "0") then {
|
||||||
//_key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray];
|
//_key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray];
|
||||||
|
|||||||
@@ -86,23 +86,47 @@ dayz_Achievements = {
|
|||||||
|
|
||||||
//Send fences to this array to be synced to db, should prove to be better performaince wise rather then updaing each time they take damage.
|
//Send fences to this array to be synced to db, should prove to be better performaince wise rather then updaing each time they take damage.
|
||||||
server_addtoFenceUpdateArray = {
|
server_addtoFenceUpdateArray = {
|
||||||
//Potential problem no current way to say what is setting the damage.
|
private ["_class","_clientKey","_damage","_exitReason","_index","_object","_playerUID"];
|
||||||
if ((_this select 0) isKindOf "DZ_buildables") then {
|
_object = _this select 0;
|
||||||
(_this select 0) setDamage (_this select 1);
|
_damage = _this select 1;
|
||||||
|
_playerUID = _this select 2;
|
||||||
|
_clientKey = _this select 3;
|
||||||
|
_index = dayz_serverPUIDArray find _playerUID;
|
||||||
|
_class = typeOf _object;
|
||||||
|
|
||||||
if !((_this select 0) in needUpdate_FenceObjects) then {
|
_exitReason = switch true do {
|
||||||
needUpdate_FenceObjects set [count needUpdate_FenceObjects, (_this select 0)];
|
//Can't use owner because player may already be dead, can't use distance because player may be far from fence
|
||||||
|
case (_clientKey == dayz_serverKey): {""};
|
||||||
|
case (_index < 0): {
|
||||||
|
format["Server_AddToFenceUpdateArray error: PUID NOT FOUND ON SERVER. PV ARRAY: %1",_this]
|
||||||
|
};
|
||||||
|
case ((dayz_serverClientKeys select _index) select 1 != _clientKey): {
|
||||||
|
format["Server_AddToFenceUpdateArray error: CLIENT AUTH KEY INCORRECT OR UNRECOGNIZED. PV ARRAY: %1",_this]
|
||||||
|
};
|
||||||
|
case !(_class isKindOf "DZ_buildables"): {
|
||||||
|
format["Server_AddToFenceUpdateArray error: setDamage request on non DZ_buildable. PV ARRAY: %1",_this]
|
||||||
|
};
|
||||||
|
default {""};
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_exitReason != "") exitWith {diag_log _exitReason};
|
||||||
|
|
||||||
|
_object setDamage _damage;
|
||||||
|
|
||||||
|
if !(_object in needUpdate_FenceObjects) then {
|
||||||
|
needUpdate_FenceObjects set [count needUpdate_FenceObjects, _object];
|
||||||
|
if (_playerUID != "SERVER") then {
|
||||||
|
diag_log format["DAMAGE: PUID(%1) requested setDamage %2 on fence %3 ID:%4 UID:%5",_playerUID,_damage,_class,(_object getVariable["ObjectID","0"]),(_object getVariable["ObjectUID","0"])];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
vehicle_handleServerKilled = {
|
vehicle_handleServerKilled = {
|
||||||
private ["_unit","_killer"];
|
private ["_unit","_killer"];
|
||||||
_unit = _this select 0;
|
_unit = _this select 0;
|
||||||
_killer = _this select 1;
|
_killer = _this select 1;
|
||||||
|
|
||||||
[_unit,"killed",false,false,"SERVER",dayz_serverKey] call server_updateObject;
|
[_unit,"killed",false,false,"SERVER",dayz_serverKey] call server_updateObject;
|
||||||
_unit removeAllMPEventHandlers "MPKilled";
|
_unit removeAllMPEventHandlers "MPKilled";
|
||||||
_unit removeAllEventHandlers "Killed";
|
_unit removeAllEventHandlers "Killed";
|
||||||
_unit removeAllEventHandlers "HandleDamage";
|
_unit removeAllEventHandlers "HandleDamage";
|
||||||
|
|||||||
Reference in New Issue
Block a user