Replace fnc_veh_setFixServer with server_setHitpoints

This commit is contained in:
A Man
2022-03-22 13:04:38 +01:00
parent a7860b5b29
commit 637f1f4450
8 changed files with 29 additions and 54 deletions

View File

@@ -1,14 +0,0 @@
private["_unit","_selection","_damage","_total"];
_unit = _this select 0;
_selection = _this select 1;
_damage = _this select 2;
if (_selection != "" and local _unit) then {
_unit setHit[_selection,_damage];
//player sidechat str _damage;
if (_damage == 0) then {
[_unit,"repair"] call server_updateObject;
} else {
[_unit,"damage"] call server_updateObject;
};
};

View File

@@ -86,14 +86,10 @@ if (_outcome != "PASS") then {
_object setVariable ["CharacterID", _characterID, true];
if (_characterID != "0" && !(_object isKindOf "Bicycle")) then {_object setVehicleLock "LOCKED";};
_isAir = _object isKindOf "Air";
{
_selection = _x select 0;
_dam = _x select 1;
_dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts});
[_object,_selection,_dam] call fnc_veh_setFixServer;
} forEach _hitpoints;
[_object,_hitpoints] call server_setHitpoints;
[_object,"all",true] call server_updateObject;
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object];

View File

@@ -73,15 +73,13 @@ if (_outcome != "PASS") then {
_object setVariable ["CharacterID", _characterID, true];
_object setDamage _damage;
{
_selection = _x select 0;
_dam = _x select 1;
if (_selection in dayZ_explosiveParts && _dam > 0.8) then {_dam = 0.8};
[_object,_selection,_dam] call fnc_veh_setFixServer;
} count _array;
[_object,_array] call server_setHitpoints;
_object setFuel _fuel;
_object setvelocity [0,0,1];
[_object,"all",true] call server_updateObject;
_object call fnc_veh_ResetEH;
PVDZE_veh_Init = _object;

View File

@@ -124,14 +124,9 @@ if (_outcome != "PASS") then {
[_weapons,_magazines,_backpacks,_object] call fn_addCargo;
_isAir = _object isKindOf "Air";
{
_selection = _x select 0;
_dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts});
_object setHit [_selection,_dam];
} count _newHitpoints;
_object setFuel _fuel;
[_object,_newHitpoints] call server_setHitpoints;
[_object,"all",true] call server_updateObject;

View File

@@ -173,15 +173,10 @@ if (_outcome != "PASS") then {
{_obj removeMagazinesTurret[_x,_turret];} count _mags;
} forEach _weaponArray;
};
_isAir = _object isKindOf "Air";
{
_selection = _x select 0;
_dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts});
_object setHit [_selection,_dam];
} count _newHitpoints;
_object setFuel _fuel;
[_object,_newHitpoints] call server_setHitpoints;
[_object,"all",true] call server_updateObject;

View File

@@ -0,0 +1,9 @@
local _obj = _this select 0;
local _hitpoints = _this select 1;
local _isAir = _obj isKindOf "Air";
{
local _selection = _x select 0;
local _dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts});
_obj setHit [_selection,_dam];
} count _hitpoints;

View File

@@ -23,6 +23,7 @@ server_playerSetup = compile preprocessFileLineNumbers "\z\addons\dayz_server\co
server_onPlayerDisconnect = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\updateObject_functions.sqf";
server_updateObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateObject.sqf";
server_setHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_setHitpoints.sqf";
server_playerDied = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf";
server_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf"; //Creates the object in DB
server_deleteObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_deleteObj.sqf"; //Removes the object from the DB
@@ -62,8 +63,6 @@ if (DZE_Virtual_Garage) then {
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\init.sqf";
};
fnc_veh_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)
server_medicalSync = {
local _player = _this select 0;
local _array = _this select 1;

View File

@@ -365,16 +365,13 @@ if ((playersNumber west + playersNumber civilian) == 0) exitWith {
};
_object setVariable ["CharacterID", _ownerID, true];
_isAir = _object isKindOf "Air";
{
_selection = _x select 0;
_dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts});
_object setHit [_selection,_dam];
} count _hitpoints;
[_object,"damage"] call server_updateObject;
[_object,_hitpoints] call server_setHitpoints;
_object setFuel _fuel;
[_object,"all",true] call server_updateObject;
_object call fnc_veh_ResetEH;
if (_ownerID != "0" && {!(_object isKindOf "Bicycle")}) then {_object setVehicleLock "locked";};
_serverVehicleCounter set [count _serverVehicleCounter,_type]; // total each vehicle