Remove redundant function fn_check_owner_friends

Fn_check_access provides the same functionality and more.

Removed folders that only contained a single file to clean things up.

Also added epoch tag friendly code to vanilla player_updateGui for now.
This commit is contained in:
ebaydayz
2016-06-15 20:09:04 -04:00
parent fcca975708
commit 01d8197d12
15 changed files with 121 additions and 118 deletions

View File

@@ -15,17 +15,17 @@ _changecount = 0;
// Check is owner of the plot pole. // Check is owner of the plot pole.
_isowner = [player, _plotpole] call FNC_check_owner_friends; _isowner = [player, _plotpole] call FNC_check_access;
_itemsExist = false; _itemsExist = false;
if ((_isowner select 0 )) then { if (_isowner select 0) then {
_findNearestObjects = (position _plotpole) nearEntities _distance; _findNearestObjects = (position _plotpole) nearEntities _distance;
{ {
_object = _x; _object = _x;
_classname = typeOf _object; _classname = typeOf _object;
if (_classname in DZE_plotTakeOwnershipItems)then { if (_classname in DZE_plotTakeOwnershipItems)then {
_isowner = [player, _object] call FNC_check_owner_friends; _isowner = [player, _object] call FNC_check_access;
diag_log text "Plot Take Ownership: Object in DZE_plotTakeOwnershipItems"; diag_log text "Plot Take Ownership: Object in DZE_plotTakeOwnershipItems";
if !( _isowner select 0 ) then{ if !( _isowner select 0 ) then{

View File

@@ -27,9 +27,9 @@ if(_IsNearPlot == 0) then {
_canBuildOnPlot = true; _canBuildOnPlot = true;
} else { } else {
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
_buildcheck = [player, _nearestPole] call FNC_check_owner_friends; _buildcheck = [player, _nearestPole] call FNC_check_access;
_isowner = _buildcheck select 0; _isowner = _buildcheck select 0;
_isfriendly = _buildcheck select 1; _isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
if (_isowner || _isfriendly) then { if (_isowner || _isfriendly) then {
_canBuildOnPlot = true; _canBuildOnPlot = true;
}; };

View File

@@ -26,9 +26,9 @@ if(_IsNearPlot == 0) then {
_canBuildOnPlot = true; _canBuildOnPlot = true;
} else { } else {
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
_buildcheck = [player, _nearestPole] call FNC_check_owner_friends; _buildcheck = [player, _nearestPole] call FNC_check_access;
_isowner = _buildcheck select 0; _isowner = _buildcheck select 0;
_isfriendly = _buildcheck select 1; _isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
if (_isowner || _isfriendly) then { if (_isowner || _isfriendly) then {
_canBuildOnPlot = true; _canBuildOnPlot = true;
}; };

View File

@@ -4,7 +4,7 @@ DZE_ActionInProgress = true;
delete object from db with extra waiting by [VB]AWOL delete object from db with extra waiting by [VB]AWOL
parameters: _obj parameters: _obj
*/ */
private ["_activatingPlayer","_obj","_playerUID","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_friendlies","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_radius","_isWreckBuilding","_nameVehicle","_isModular"]; private ["_activatingPlayer","_obj","_playerUID","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_radius","_isWreckBuilding","_nameVehicle","_isModular"];
player removeAction s_player_deleteBuild; player removeAction s_player_deleteBuild;
s_player_deleteBuild = 1; s_player_deleteBuild = 1;
@@ -60,9 +60,9 @@ _nearestPole = _plotcheck select 2;
if(_IsNearPlot >= 1) then { if(_IsNearPlot >= 1) then {
// Since there are plot poles nearby we need to check ownership && friend status // Since there are plot poles nearby we need to check ownership && friend status
_buildcheck = [player, _nearestPole] call FNC_check_owner_friends; _buildcheck = [player, _nearestPole] call FNC_check_access;
_isowner = _buildcheck select 0; _isowner = _buildcheck select 0;
_isfriendly = _buildcheck select 1; _isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
if (!_isowner && !_isfriendly) then { if (!_isowner && !_isfriendly) then {
_limit = round(_limit*2); _limit = round(_limit*2);
}; };

View File

@@ -1,64 +0,0 @@
/*
Check object's ownership and friends
Original concept by RimBlock (github.com/RimBlock)
Parameters:
_this select 0: object - player calling this function
_this select 1: object - target to check ownership and friendlies of
Returns:
_return select 0: bool - player is owner of target object
_return select 1: bool - player is friends with owner of target object
*/
private ["_player","_target","_playerUID","_targetOwner","_owner","_friendlies","_friendly","_findNearestPoles","_IsNearPlot","_pole","_friendUID","_ownerID","_friends"];
_player = _this select 0;
_target = _this select 1;
_owner = false;
_friendly = false;
_friendlies = [];
_targetOwner = "0";
if (DZE_permanentPlot) then {
_pole = _target;
_IsNearPlot = 0;
_findNearestPoles = nearestObjects [[player] call FNC_getPos, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];
_IsNearPlot = count _findNearestPoles;
_pole = _findNearestPoles select 0;
if (_IsNearPlot > 0) then {
_ownerID = _pole getVariable ["ownerPUID","0"];
_friendlies = [_ownerID];
_friends = _pole getVariable ["plotfriends", []];
{
_friendUID = _x select 0;
_friendlies set [count _friendlies, _friendUID];
} count _friends;
if (count DZE_PlotManagementAdmins > 0) then {
_friendlies = _friendlies + DZE_PlotManagementAdmins;
};
};
_playerUID = [_player] call FNC_GetPlayerUID;
_targetOwner = _target getVariable ["ownerPUID","0"];
// Check if player is a plot friend
if (_playerUID in _friendlies) then {
_friendly = true;
};
} else {
_playerUID = dayz_characterID;
_friendlies = _player getVariable ["friendlyTo",[]];
_targetOwner = _target getVariable ["CharacterID","0"];
// Check if target object owner is a friend of player
if (_targetOwner in _friendlies) then {
_friendly = true;
};
};
// Check if player is owner of target object
_owner = (_playerUID == _targetOwner);
[_owner, _friendly]

View File

@@ -42,9 +42,9 @@ if(_IsNearPlot == 0) then {
_canBuild = true; _canBuild = true;
} else { } else {
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
_buildcheck = [player, _nearestPole] call FNC_check_owner_friends; _buildcheck = [player, _nearestPole] call FNC_check_access;
_isowner = _buildcheck select 0; _isowner = _buildcheck select 0;
_isfriendly = _buildcheck select 1; _isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
if (_isowner || _isfriendly) then { if (_isowner || _isfriendly) then {
_canBuild = true; _canBuild = true;
}; };

View File

@@ -136,7 +136,7 @@ if(_targetType == "DOOR") then {
// RESULT // RESULT
[ _isOwner [ _isOwner
, _isFriendly , _isFriendly
, _isPlotOwner , _isPlotOwner // Same as _isOwner if _target is a PlotPole
, _isPlotFriend , _isPlotFriend
, _isPlotAdmin , _isPlotAdmin
, _isTargetFriend , _isTargetFriend

View File

@@ -8,7 +8,7 @@ if (DZE_ActionInProgress) exitWith {};
- [] call fnc_usec_damageActions; - [] call fnc_usec_damageActions;
************************************************************/ ************************************************************/
private ["_menClose","_hasPatient","_vehicle","_inVehicle","_isClose","_assignedRole","_driver","_action","_turret","_weapons","_weaponName","_crew","_unconscious_crew","_patients","_vehType","_unit","_antibiotics","_bloodBags","_unconscious","_lowBlood","_injured","_hasSepsis","_inPain","_legsBroke","_armsBroke","_infected","_hasBandage","_hasSepsisBandage","_hasEpi","_hasMorphine","_hasSplint","_hasPainkillers","_hasEmptyBag","_hasTester","_hasAntibiotics","_hasBloodBag","_vehClose","_hasVehicle","_action1","_action2","_action3","_y","_playerMagazines"]; private ["_menClose","_hasPatient","_vehicle","_inVehicle","_isClose","_assignedRole","_driver","_action","_turret","_weapons","_weaponName","_crew","_unconscious_crew","_patients","_vehType","_unit","_antibiotics","_bloodBags","_unconscious","_lowBlood","_injured","_hasSepsis","_inPain","_legsBroke","_armsBroke","_infected","_hasBandage","_hasSepsisBandage","_hasEpi","_hasMorphine","_hasSplint","_hasPainkillers","_hasEmptyBag","_hasTester","_hasAntibiotics","_hasBloodBag","_vehClose","_hasVehicle","_action1","_action2","_action3","_y","_playerMagazines","_isFriendly"];
_menClose = cursorTarget; _menClose = cursorTarget;
_hasPatient = alive _menClose; _hasPatient = alive _menClose;
@@ -211,12 +211,8 @@ if (isPlayer cursorTarget) then {
}; };
if (_unit isKindOf "Man") then { if (_unit isKindOf "Man") then {
// should only fire if cursor target is man and not vehicle // should only fire if cursor target is man and not vehicle
_charID = _unit getVariable ["CharacterID", "0"]; _isFriendly = [player, _unit] call FNC_check_access;
if (DZE_permanentPlot) then { if !(_isFriendly select 1) then {
_charID = [_unit] call FNC_GetPlayerUID;
};
_friendlies = [player, _unit] call FNC_check_owner_friends;
if !(_charID in _friendlies) then {
r_action = true; r_action = true;
_action = _unit addAction ["Tag as friendly", "\z\addons\dayz_code\actions\player_tagFriendly.sqf", [], 0, false, true]; _action = _unit addAction ["Tag as friendly", "\z\addons\dayz_code\actions\player_tagFriendly.sqf", [], 0, false, true];
r_player_actions set [count r_player_actions,_action]; r_player_actions set [count r_player_actions,_action];

View File

@@ -1,9 +1,9 @@
// Find Plots by RimBlock (http://epochmod.com/forum/index.php?/user/12612-rimblock/) // Find Plots by RimBlock (http://epochmod.com/forum/index.php?/user/12612-rimblock/)
private ["_player","_ispole","_IsNearPlot","_nearestPole","_distance","_findNearestPoles","_findNearestPole","_friendly","_return"]; private ["_player","_isPole","_IsNearPlot","_nearestPole","_distance","_findNearestPoles","_findNearestPole","_friendly","_return","_pos"];
_player = _this select 0; _player = _this select 0;
_ispole = _this select 1; _isPole = _this select 1;
_IsNearPlot = 0; _IsNearPlot = 0;
_nearestPole = ""; _nearestPole = "";
_findNearestPole = []; _findNearestPole = [];
@@ -14,8 +14,10 @@ if(_isPole) then {
_distance = DZE_PlotPole select 0; _distance = DZE_PlotPole select 0;
}; };
_pos = [vehicle _player] call FNC_getPos;
// check for near plot // check for near plot
_findNearestPole = (position (vehicle _player)) nearEntities ["Plastic_Pole_EP1_DZ", _distance]; _findNearestPole = _pos nearEntities ["Plastic_Pole_EP1_DZ", _distance];
_IsNearPlot = count (_findNearestPole); _IsNearPlot = count (_findNearestPole);
if (_IsNearPlot > 0) then{_nearestPole = _findNearestPole select 0;}else{_nearestPole = objNull;}; if (_IsNearPlot > 0) then{_nearestPole = _findNearestPole select 0;}else{_nearestPole = objNull;};

View File

@@ -1,4 +1,4 @@
private ["_cTarget","_dis","_display","_friendlies","_rcharID"]; private ["_cTarget","_dis","_display","_friendlies","_rID"];
// players inside vehicle can always access its gear // players inside vehicle can always access its gear
if ((vehicle player) == player) then { if ((vehicle player) == player) then {
@@ -14,8 +14,8 @@ if ((vehicle player) == player) then {
if (DZE_BackpackAntiTheft) then { if (DZE_BackpackAntiTheft) then {
_friendlies = player getVariable ["friendlies",[]]; _friendlies = player getVariable ["friendlies",[]];
_rcharID = _cTarget getVariable ["CharacterID","0"]; _rID = if (DZE_permanentPlot) then { [_cTarget] call FNC_GetPlayerUID } else { _cTarget getVariable ["CharacterID","0"] };
if ((!canbuild or isInTraderCity) && {_cTarget isKindOf "Man"} && {alive _cTarget} && {isPlayer _cTarget} && {!(_rcharID in _friendlies)} && {(player distance _cTarget) < 12}) then { if ((!canbuild or isInTraderCity) && {_cTarget isKindOf "Man"} && {alive _cTarget} && {isPlayer _cTarget} && {!(_rID in _friendlies)} && {(player distance _cTarget) < 12}) then {
localize "STR_EPOCH_PLAYER_316" call dayz_rollingMessages; localize "STR_EPOCH_PLAYER_316" call dayz_rollingMessages;
_display closeDisplay 1; _display closeDisplay 1;
}; };

View File

@@ -420,8 +420,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if(_isModular || _isModularDoor || {_typeOfCursorTarget in DZE_isDestroyableStorage}) then { if(_isModular || _isModularDoor || {_typeOfCursorTarget in DZE_isDestroyableStorage}) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then { if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_isowner = [player, _cursorTarget] call FNC_check_owner_friends; _isowner = [player, _cursorTarget] call FNC_check_access;
If ((_isowner select 0) || (_isowner select 1)) then { if ((_isowner select 0) or (_isowner select 1) or (_isowner select 2)) then {
_player_deleteBuild = true; _player_deleteBuild = true;
}; };
}; };
@@ -633,20 +633,18 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {_canDo && speed player <= 1}) then { if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {_canDo && speed player <= 1}) then {
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
if (s_player_plotManagement < 0) then { if (s_player_plotManagement < 0) then {
_isowner = [player, _cursorTarget] call FNC_check_owner_friends; _isowner = [player, _cursorTarget] call FNC_check_access;
If ((_isowner select 0) || (_isowner select 1)) then { if ((_isowner select 0) or (_isowner select 3) or (_isowner select 4)) then {
s_player_plot_take_ownership = player addAction ["Take plot items ownership", "\z\addons\dayz_code\actions\A_Plot_for_Life\plot_take_ownership.sqf", "", 1, false];
};
s_player_plotManagement = player addAction [format["<t color='#0059FF'>%1</t>",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false]; s_player_plotManagement = player addAction [format["<t color='#0059FF'>%1</t>",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false];
}; };
};
} else { } else {
if (s_player_maintain_area < 0) then { if (s_player_maintain_area < 0) then {
s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", ["maintain",_cursorTarget], 5, false]; s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", ["maintain",_cursorTarget], 5, false];
s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", ["preview",_cursorTarget], 5, false]; s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", ["preview",_cursorTarget], 5, false];
}; };
}; };
_plotDistance = (DZE_PlotPole select 0); _PlotsmarkersNear = count (_cursorTarget nearEntities ["Land_coneLight", DZE_PlotPole select 0]);
_PlotsmarkersNear = count (_cursorTarget nearEntities ["Land_coneLight", _PlotDistance]);
if (s_player_plot_boundary_on < 0) then { if (s_player_plot_boundary_on < 0) then {
If (_PlotsmarkersNear == 0 ) then{ If (_PlotsmarkersNear == 0 ) then{
s_player_plot_boundary_on = player addAction ["Show plot boundary", "\z\addons\dayz_code\actions\A_Plot_for_Life\object_showPlotRadius.sqf", "", 1, false]; s_player_plot_boundary_on = player addAction ["Show plot boundary", "\z\addons\dayz_code\actions\A_Plot_for_Life\object_showPlotRadius.sqf", "", 1, false];
@@ -660,8 +658,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
if (s_player_plot_take_ownership < 0) then { if (s_player_plot_take_ownership < 0) then {
if (DZE_PlotOwnership) then { if (DZE_PlotOwnership) then {
_isowner = [player, _cursorTarget] call FNC_check_owner_friends; _isowner = [player, _cursorTarget] call FNC_check_access;
If (_isowner select 0) then { if (_isowner select 0) then {
s_player_plot_take_ownership = player addAction ["Take plot items ownership", "\z\addons\dayz_code\actions\A_Plot_for_Life\plot_take_ownership.sqf", "", 1, false]; s_player_plot_take_ownership = player addAction ["Take plot items ownership", "\z\addons\dayz_code\actions\A_Plot_for_Life\plot_take_ownership.sqf", "", 1, false];
}; };
}; };

View File

@@ -1,6 +1,7 @@
//private ["_display","_ctrlBloodOuter","_ctrlBlood","_ctrlBleed","_bloodVal","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder","_tempVal","_array","_ctrlEar","_ctrlEye","_ctrlFracture","_visual","_audible","_uiNumber","_bloodText","_blood","_thirstLvl","_foodLvl","_tempImg","_bloodLvl","_tempLvl","_thirst","_food","_temp"]; //private ["_display","_ctrlBloodOuter","_ctrlBlood","_ctrlBleed","_bloodVal","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder","_tempVal","_array","_ctrlEar","_ctrlEye","_ctrlFracture","_visual","_audible","_uiNumber","_bloodText","_blood","_thirstLvl","_foodLvl","_tempImg","_bloodLvl","_tempLvl","_thirst","_food","_temp"];
private ["_flash","_array","_bloodText","_tempImg","_uiNumber","_blood","_foodLvl","_thirstLvl","_audible","_visual","_bloodType","_rhFactor","_ctrlBloodType", "_bloodTestdone"]; private ["_flash","_array","_bloodText","_tempImg","_uiNumber","_blood","_foodLvl","_thirstLvl","_audible","_visual","_bloodType","_rhFactor","_ctrlBloodType", "_bloodTestdone",
"_string","_humanityTarget","_distance","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_color","_targetControl"];
_flash = { _flash = {
if (ctrlShown _this) then { if (ctrlShown _this) then {
@@ -208,5 +209,70 @@ else {
_ctrlBleed ctrlShow false; _ctrlBleed ctrlShow false;
}; };
/*
Opt-in tag system with friend tagging
*/
_string = "";
_humanityTarget = cursorTarget;
if (!isNull _humanityTarget && {isPlayer _humanityTarget} && {alive _humanityTarget}) then {
_distance = player distance _humanityTarget;
if (_distance < DZE_HumanityTargetDistance) then {
_size = (1-(floor(_distance/5)*0.1)) max 0.1;
// Display name if player opt-in or if friend
_friendlies = player getVariable ["friendlies", []];
if (DZE_permanentPlot) then {
_id = [player] call FNC_GetPlayerUID;
_rID = [_humanityTarget] call FNC_GetPlayerUID;
} else {
_id = player getVariable ["CharacterID","0"];
_rID = _humanityTarget getVariable ["CharacterID","0"];
};
_rfriendlies = _humanityTarget getVariable ["friendlies", []];
_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
if ((_rID in _friendlies) && (_id in _rfriendlies)) then {
if !(_id in _rfriendlyTo) then {
// diag_log format["IS FRIENDLY: %1", _player];
_rfriendlyTo set [count _rfriendlyTo, _id];
_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
};
// <br /><t %2 align='center' size='0.7'>Humanity: %3</t>
_color = "color='#339933'";
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
} else {
// Humanity checks
_humanity = _humanityTarget getVariable ["humanity",0];
_color = "color='#ffffff'";
if(_humanity < -5000) then {
_color = "color='#ff0000'";
} else {
if(_humanity > 5000) then {
_color = "color='#3333ff'";
};
};
if((_humanityTarget getVariable ["DZE_display_name", false]) || (DZE_ForceNameTagsInTrader && isInTraderCity)) then {
_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
};
};
};
};
// update gui if changed
if (dayz_humanitytarget != _string) then {
_targetControl = _display displayCtrl 1199;
_targetControl ctrlSetStructuredText (parseText _string);
dayz_humanitytarget = _string;
};
_array = [_foodVal,_thirstVal]; _array = [_foodVal,_thirstVal];
_array _array

View File

@@ -1,6 +1,6 @@
private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"]; private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"];
_flash = { _flash = {
if (ctrlShown _this) then { if (ctrlShown _this) then {
@@ -158,17 +158,22 @@ if (!isNull _humanityTarget && {isPlayer _humanityTarget} && {alive _humanityTar
// Display name if player opt-in or if friend // Display name if player opt-in or if friend
_friendlies = player getVariable ["friendlies", []]; _friendlies = player getVariable ["friendlies", []];
_charID = player getVariable ["CharacterID", "0"]; if (DZE_permanentPlot) then {
_id = [player] call FNC_GetPlayerUID;
_rID = [_humanityTarget] call FNC_GetPlayerUID;
} else {
_id = player getVariable ["CharacterID","0"];
_rID = _humanityTarget getVariable ["CharacterID","0"];
};
_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
_rfriendlies = _humanityTarget getVariable ["friendlies", []]; _rfriendlies = _humanityTarget getVariable ["friendlies", []];
_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []]; _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then { if ((_rID in _friendlies) && (_id in _rfriendlies)) then {
if !(_charID in _rfriendlyTo) then { if !(_id in _rfriendlyTo) then {
// diag_log format["IS FRIENDLY: %1", _player]; // diag_log format["IS FRIENDLY: %1", _player];
_rfriendlyTo set [count _rfriendlyTo, _charID]; _rfriendlyTo set [count _rfriendlyTo, _id];
_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true]; _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
}; };

View File

@@ -1,6 +1,6 @@
private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"]; private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"];
_flash = { _flash = {
if (ctrlShown _this) then { if (ctrlShown _this) then {
@@ -183,20 +183,21 @@ if (!isNull _humanityTarget && {isPlayer _humanityTarget} && {alive _humanityTar
// Display name if player opt-in or if friend // Display name if player opt-in or if friend
_friendlies = player getVariable ["friendlies", []]; _friendlies = player getVariable ["friendlies", []];
_charID = player getVariable ["CharacterID", "0"];
_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
if (DZE_permanentPlot) then { if (DZE_permanentPlot) then {
_charID = [player] call FNC_GetPlayerUID; _id = [player] call FNC_GetPlayerUID;
_rcharID = [_humanityTarget] call FNC_GetPlayerUID; _rID = [_humanityTarget] call FNC_GetPlayerUID;
} else {
_id = player getVariable ["CharacterID","0"];
_rID = _humanityTarget getVariable ["CharacterID","0"];
}; };
_rfriendlies = _humanityTarget getVariable ["friendlies", []]; _rfriendlies = _humanityTarget getVariable ["friendlies", []];
_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []]; _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then { if ((_rID in _friendlies) && (_id in _rfriendlies)) then {
if !(_charID in _rfriendlyTo) then { if !(_id in _rfriendlyTo) then {
// diag_log format["IS FRIENDLY: %1", _player]; // diag_log format["IS FRIENDLY: %1", _player];
_rfriendlyTo set [count _rfriendlyTo, _charID]; _rfriendlyTo set [count _rfriendlyTo, _id];
_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true]; _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
}; };

View File

@@ -94,8 +94,7 @@ if (!isDedicated) then {
DZE_build_vector_file = "\z\addons\dayz_code\compile\BuildVectors\build_vectors.sqf"; DZE_build_vector_file = "\z\addons\dayz_code\compile\BuildVectors\build_vectors.sqf";
build_vectors = compile preprocessFileLineNumbers DZE_build_vector_file; build_vectors = compile preprocessFileLineNumbers DZE_build_vector_file;
fnc_SetPitchBankYaw = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BuildVectors\fnc_SetPitchBankYaw.sqf"; fnc_SetPitchBankYaw = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BuildVectors\fnc_SetPitchBankYaw.sqf";
FNC_check_owner_friends = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\A_Plot_for_Life\fn_check_owner_friends.sqf"; FNC_find_plots = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_find_plots.sqf";
FNC_find_plots = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\A_Plot_for_Life\fn_find_plots.sqf";
player_buildVanilla = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_buildVanilla.sqf"; player_buildVanilla = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_buildVanilla.sqf";
fn_buildCamera = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildCamera.sqf"; fn_buildCamera = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildCamera.sqf";
@@ -196,7 +195,7 @@ if (!isDedicated) then {
DoorRemoveFriend = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\doorRemoveFriend.sqf"; DoorRemoveFriend = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\doorRemoveFriend.sqf";
player_manageDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\initDoorManagement.sqf"; player_manageDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\initDoorManagement.sqf";
player_enterCode = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\player_enterCode.sqf"; player_enterCode = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\player_enterCode.sqf";
FNC_check_access = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\doorManagement\fn_check_access.sqf"; FNC_check_access = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_check_access.sqf";
dayz_losChance = { dayz_losChance = {
private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"]; private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];