Update maintain functions

Thx iben
This commit is contained in:
A Man
2022-05-18 18:09:29 +02:00
parent b276f1f8c5
commit f4d770c617
2 changed files with 208 additions and 161 deletions

View File

@@ -1,49 +1,51 @@
/* Maintain Area - written by Skaronator */
/*
/* Maintain Area - written by Skaronator
Updated by iben
1: PVDZE_maintainArea = [netID player,1,[netID Object,netID Object,netID Object,...etc]];
2: PVDZE_maintainArea = [netID player,2,[netID Object]];
*/
private ["_player","_option","_obj","_name","_objectsInfo","_UID","_ID","_key"];
if ((_this select 1) == 1) exitWith {
{
local _obj = objectFromNetId _x;
local _ID = _obj getVariable ["ObjectID", "0"];
_player = objectfromNetID(_this select 0);
_option = _this select 1;
_objectsInfo = _this select 2;
if (_ID == "0") then {
local _UID = _obj getVariable ["ObjectUID", "0"];
if (_option == 1) then {
{
_obj = objectfromNetID _x;
_ID = _obj getVariable ["ObjectID","0"];
_UID = _obj getVariable ["ObjectUID","0"];
if (_ID == "0") then {
if (_UID != "0") then {
_obj setDamage 0;
_key = format["CHILD:397:%1:", _UID];
_key call server_hiveWrite;
};
} else {
_obj setDamage 0;
_key = format["CHILD:396:%1:", _ID];
_key call server_hiveWrite;
};
} count _objectsInfo;
_name = if (alive _player) then { name _player; } else { "Dead Player"; };
diag_log format ["MAINTAIN AREA BY %1 - %2 Objects at %3, Grid: %4", _name, (count _objectsInfo), (getPosATL _player), mapGridPosition(getPosATL _player)];
} else {
_obj = objectfromNetID(_objectsInfo select 0);
_ID = _obj getVariable ["ObjectID","0"];
_UID = _obj getVariable ["ObjectUID","0"];
if (_ID == "0") then {
if (_UID != "0") then {
_obj setDamage 0;
_key = format["CHILD:397:%1:", _UID];
_key call server_hiveWrite;
};
} else {
_obj setDamage 0;
_key = format["CHILD:396:%1:", _ID];
_key call server_hiveWrite;
};
};
if (_UID != "0") then {
_obj setDamage 0;
(format ["CHILD:397:%1:", _UID]) call server_hiveWrite
}
} else {
_obj setDamage 0;
(format ["CHILD:396:%1:", _ID]) call server_hiveWrite
}
} count (_this select 2);
local _player = objectFromNetId (_this select 0);
local _position = getPosATL _player;
diag_log format [
"MAINTAIN AREA BY %1 - %2 Objects at %3, Grid: %4."
,if (alive _player) then {name _player} else {"Dead Player"}
,count (_this select 2), _position, mapGridPosition _position
]
};
local _obj = objectFromNetId ((_this select 2) select 0);
local _ID = _obj getVariable ["ObjectID", "0"];
if (_ID == "0") exitWith {
local _UID = _obj getVariable ["ObjectUID", "0"];
if (_UID != "0") then {
_obj setDamage 0;
(format ["CHILD:397:%1:", _UID]) call server_hiveWrite
}
};
_obj setDamage 0;
(format ["CHILD:396:%1:", _ID]) call server_hiveWrite