mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
modular build code optimization + some extras
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//Check if nearby plotpoles exists
|
||||
private ["_passArray","_isPole","_needText","_distance","_findNearestPoles","_findNearestPole","_IsNearPlot","_requireplot","_isLandFireDZ","_canBuildOnPlot","_nearestPole","_ownerID","_friendlies"];
|
||||
|
||||
@@ -11,7 +12,6 @@ _canBuildOnPlot = false;
|
||||
_nearestPole = objNull;
|
||||
_ownerID = 0;
|
||||
_friendlies = [];
|
||||
_passArray = [];
|
||||
|
||||
if(_isPole) then { //check if object is plotpole and adjust distance accordingly
|
||||
_distance = DZE_PlotPole select 1;
|
||||
@@ -31,12 +31,6 @@ _findNearestPole = []; //must define an empty array to avoid problems
|
||||
|
||||
_IsNearPlot = count (_findNearestPole); //count our new array of non-destroyed plotpoles. Empty array will return 0
|
||||
|
||||
// End script early if item is plot pole and another one exists within defined radius
|
||||
if(_isPole && _IsNearPlot > 0) exitWith {
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
if(_IsNearPlot == 0) then { //No live plotpoles were found nearby
|
||||
// Allow building of plot
|
||||
if(_requireplot == 0 || _isLandFireDZ) then {
|
||||
@@ -68,10 +62,18 @@ if(_IsNearPlot == 0) then { //No live plotpoles were found nearby
|
||||
};
|
||||
};
|
||||
|
||||
_passArray = [_IsNearPlot,_nearestPole,_ownerID,_friendlies]; //create new array and pass it to caller
|
||||
|
||||
// End script if item is plot pole and another one exists within defined radius
|
||||
if(_isPole && _IsNearPlot > 0) exitWith {
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"];
|
||||
_passArray
|
||||
};
|
||||
|
||||
if(!_canBuildOnPlot) exitWith { //end script if requirements were not met
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"];
|
||||
_passArray
|
||||
};
|
||||
|
||||
_passArray = [_IsNearPlot,_nearestPole,_ownerID,_friendlies]; //create new array and pass it to caller
|
||||
_passArray //[int,Obj,int,array]
|
||||
|
||||
Reference in New Issue
Block a user