Use nearEntities for plot pole searches

Also made 73899d5 compatible with DZE_permanentPlot = false; at the
request of @oiad
This commit is contained in:
ebayShopper
2017-03-29 16:04:48 -04:00
parent 30d961931f
commit 746b921321
9 changed files with 14 additions and 21 deletions

View File

@@ -30,7 +30,7 @@ s_player_maintain_area_force = 1;
player removeAction s_player_maintain_area_preview; player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = 1; s_player_maintain_area_preview = 1;
_target = nearestObject [[player] call FNC_getPos,"Plastic_Pole_EP1_DZ"]; _target = (([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15]) select 0;
_objects = nearestObjects [_target, DZE_maintainClasses, DZE_maintainRange]; _objects = nearestObjects [_target, DZE_maintainClasses, DZE_maintainRange];
_objects_filtered = []; _objects_filtered = [];

View File

@@ -8,7 +8,7 @@ _friendName = _userList lbText (lbCurSel _userList);
if (_friendUID == "") exitWith {}; if (_friendUID == "") exitWith {};
_plots = nearestObjects [[player] call FNC_getPos, ["Plastic_Pole_EP1_DZ"],15]; _plots = ([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15];
_thePlot = _plots select 0; _thePlot = _plots select 0;
_friends = _thePlot getVariable ["plotfriends",[]]; _friends = _thePlot getVariable ["plotfriends",[]];

View File

@@ -1,7 +1,7 @@
private ["_name","_plots","_friendlies","_thePlot"]; private ["_name","_plots","_friendlies","_thePlot"];
lbClear 7002; lbClear 7002;
_plots = nearestObjects [[player] call FNC_getPos, ["Plastic_Pole_EP1_DZ"],15]; _plots = ([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15];
_thePlot = _plots select 0; _thePlot = _plots select 0;
_friendlies = _thePlot getVariable ["plotfriends", []]; _friendlies = _thePlot getVariable ["plotfriends", []];
{ {

View File

@@ -2,7 +2,7 @@ private ["_range","_buildables","_count","_colour","_ctrl","_target"];
disableSerialization; disableSerialization;
_range = DZE_PlotPole select 0; _range = DZE_PlotPole select 0;
_target = nearestObject [[player] call FNC_getPos,"Plastic_Pole_EP1_DZ"]; _target = (([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15]) select 0;
// Also count safes, lockboxes, vanilla buildables, tents and stashes against DZE_BuildingLimit // Also count safes, lockboxes, vanilla buildables, tents and stashes against DZE_BuildingLimit
_buildables = DZE_maintainClasses + DZE_LockableStorage + ["DZ_buildables","DZ_storage_base"]; _buildables = DZE_maintainClasses + DZE_LockableStorage + ["DZ_buildables","DZ_storage_base"];
_count = count (nearestObjects [_target,_buildables,_range]); _count = count (nearestObjects [_target,_buildables,_range]);

View File

@@ -2,7 +2,7 @@ private ["_pos","_plots","_thePlot","_friends","_toRemove","_newList"];
_pos = _this select 0; _pos = _this select 0;
if (_pos < 0) exitWith {}; if (_pos < 0) exitWith {};
_plots = nearestObjects [[player] call FNC_getPos, ["Plastic_Pole_EP1_DZ"],15]; _plots = ([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15];
_thePlot = _plots select 0; _thePlot = _plots select 0;
_friends = _thePlot getVariable ["plotfriends", []]; _friends = _thePlot getVariable ["plotfriends", []];
_toRemove = (_friends select _pos); _toRemove = (_friends select _pos);

View File

@@ -6,7 +6,7 @@ _density = 3; // density of markers per ring
_model = "Sign_sphere100cm_EP1"; // marker model to use on rings _model = "Sign_sphere100cm_EP1"; // marker model to use on rings
// Possible ones to use :: Sign_sphere10cm_EP1 Sign_sphere25cm_EP1 Sign_sphere100cm_EP1 // Possible ones to use :: Sign_sphere10cm_EP1 Sign_sphere25cm_EP1 Sign_sphere100cm_EP1
_thePlot = (nearestObjects [player, ["Plastic_Pole_EP1_DZ"],15]) select 0; _thePlot = (([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15]) select 0;
_center = getPosASL _thePlot; _center = getPosASL _thePlot;
_radius = DZE_PlotPole select 0; _radius = DZE_PlotPole select 0;
_obj = false; _obj = false;

View File

@@ -24,7 +24,13 @@ _friendlies = [];
if (_isPole) then { if (_isPole) then {
_plotcheck = [player, true] call FNC_find_plots; _plotcheck = [player, true] call FNC_find_plots;
_distance = DZE_PlotPole select 1; _distance = DZE_PlotPole select 1;
if (DZE_limitPlots && {!((getPlayerUID player) in DZE_PlotManagementAdmins)}) then {_hasPole = call FNC_plotCheck;}; if (DZE_limitPlots && {!(dayz_playerUID in DZE_PlotManagementAdmins)}) then {
{
if (_x getVariable["ownerPUID","0"] == dayz_playerUID or (_x getVariable["CharacterID","0"] == dayz_characterID)) exitWith {
_hasPole = true;
};
} count (entities "Plastic_Pole_EP1_DZ");
};
} else { } else {
_plotcheck = [player, false] call FNC_find_plots; _plotcheck = [player, false] call FNC_find_plots;
_distance = DZE_PlotPole select 0; _distance = DZE_PlotPole select 0;

View File

@@ -613,7 +613,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
player removeAction s_player_breakinhouse; player removeAction s_player_breakinhouse;
s_player_breakinhouse = -1; s_player_breakinhouse = -1;
};*/ };*/
if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {speed player <= 1}) then { if (_typeOfCursorTarget == "Plastic_Pole_EP1_DZ" && {speed player <= 1}) then {
_hasAccess = [player, _cursorTarget] call FNC_check_access; _hasAccess = [player, _cursorTarget] call FNC_check_access;
_allowed = ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4)); _allowed = ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4));
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {

View File

@@ -606,19 +606,6 @@ if (!isDedicated) then {
[(format ["%1<br />%2<br />%3<br />%4",death_1,death_2,death_3,death_4]),(safeZoneX + _offset),safeZoneY,10,0,0,8000] spawn BIS_fnc_dynamicText; [(format ["%1<br />%2<br />%3<br />%4",death_1,death_2,death_3,death_4]),(safeZoneX + _offset),safeZoneY,10,0,0,8000] spawn BIS_fnc_dynamicText;
}; };
fnc_plotCheck = {
private ["_hasPole","_plotFriends"];
_hasPole = false;
{
_plotFriends = _x getVariable ["plotfriends",[]];
if (((_plotFriends select 0) select 0) == dayz_playerUID) exitWith {_hasPole = true;};
} count (entities "Plastic_Pole_EP1_DZ");
_hasPole
};
dayz_originalPlayer = player; dayz_originalPlayer = player;
// database trader menu // database trader menu