mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 04:02:37 +03:00
Better maintain
Intensive commands are processed on the client only, as opposed to twice. an array of objects, their corresponding UID and ID are sent to the server. Sending the objects as an array, despite the size the array can reach, should be better than the way this was set up before. Needs testing on a full server however.
This commit is contained in:
@@ -16,15 +16,18 @@ _range = DZE_PlotPole select 0;
|
||||
_objects = nearestObjects [_target, _objectClasses, _range];
|
||||
|
||||
_objects_filtered = [];
|
||||
_count = 0;
|
||||
{
|
||||
if (damage _x >= DZE_DamageBeforeMaint) then {
|
||||
_objects_filtered set [count _objects_filtered, _x];
|
||||
_objectUID = _x getVariable ["ObjectUID","0"];
|
||||
_objectID = _x getVariable ["ObjectID","0"];
|
||||
_objects_filtered set [count _objects_filtered, [_x, _objectID, _objectUID]];
|
||||
_count = _count + 1;
|
||||
};
|
||||
} count _objects;
|
||||
_objects = _objects_filtered;
|
||||
|
||||
_count = count _objects;
|
||||
|
||||
// TODO dynamic requirements based on used building parts?
|
||||
if (_count == 0) exitWith {
|
||||
_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7012);
|
||||
_result = format[localize "STR_EPOCH_PLOTMANAGEMENT_MAINTAIN_OBJECTS", _count];
|
||||
@@ -99,7 +102,7 @@ switch _option do {
|
||||
// all required items removed from player gear
|
||||
if (_tobe_removed_total == _removed_total) then {
|
||||
format[localize "STR_EPOCH_ACTIONS_4", _count] call dayz_rollingMessages;
|
||||
PVDZE_maintainArea = [player,1,_target];
|
||||
PVDZE_maintainArea = [player,1,_objects];
|
||||
publicVariableServer "PVDZE_maintainArea";
|
||||
_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7012);
|
||||
_result = format[localize "STR_EPOCH_PLOTMANAGEMENT_OBJECTS_MAINTAINED_SUCCESS", _count];
|
||||
|
||||
Reference in New Issue
Block a user