mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-12 03:02:56 +03:00
Fix fn_waitForObject handling multiple of same object type
Forgot to handle case where there is already one or more of that object type in the area (safes, cars, etc.).
This commit is contained in:
@@ -5,22 +5,24 @@
|
||||
Parameters:
|
||||
_this select 0: string - object class name to reveal
|
||||
_this select 1: object - sign object or ObjNull if none
|
||||
_this select 2: array - result of (nearestObjects [player,[_class],50]) before call to spawn object
|
||||
|
||||
["objectClassName", objNull] spawn fn_waitForObject;
|
||||
["objectClassName", objNull, []] spawn fn_waitForObject;
|
||||
*/
|
||||
|
||||
private ["_object","_sign"];
|
||||
private ["_class","_sign","_near"];
|
||||
|
||||
_object = _this select 0;
|
||||
_class = _this select 0;
|
||||
_sign = _this select 1;
|
||||
_near = _this select 2;
|
||||
|
||||
waitUntil {
|
||||
uiSleep 1;
|
||||
!isNull (nearestObject [player,_object])
|
||||
(count (nearestObjects [player,[_class],50]) != count _near)
|
||||
};
|
||||
|
||||
if (!isNull _sign) then {
|
||||
deleteVehicle _sign;
|
||||
};
|
||||
|
||||
player reveal (nearestObject [player,_object]);
|
||||
{player reveal _x;} count (nearestObjects [player,[_class],50]);
|
||||
@@ -3,7 +3,7 @@
|
||||
Usage: [_obj] spawn player_unlockVault;
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||
*/
|
||||
private ["_obj","_ownerID","_alreadyPacking","_text","_playerNear","_ComboMatch","_objType"];
|
||||
private ["_obj","_ownerID","_alreadyPacking","_text","_playerNear","_ComboMatch","_objType","_near"];
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_10" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
|
||||
@@ -41,14 +41,16 @@ if (!isNull _obj) then {
|
||||
disableUserInput true; // Make sure player can not modify gear while it is being saved
|
||||
(findDisplay 106) closeDisplay 0; // Close gear
|
||||
dze_waiting = nil;
|
||||
|
||||
_near = nearestObjects [player,[_lockedClass],50];
|
||||
[_lockedClass,objNull,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_handleSafeGear = [player,_obj,1];
|
||||
publicVariableServer "PVDZE_handleSafeGear";
|
||||
//wait for response from server to verify safe was logged and saved before proceeding
|
||||
waitUntil {!isNil "dze_waiting"};
|
||||
disableUserInput false; // Safe is done saving now
|
||||
|
||||
[_lockedClass,objNull] spawn fn_waitForObject;
|
||||
|
||||
format[localize "str_epoch_player_117",_text] call dayz_rollingMessages;
|
||||
};
|
||||
s_player_lockvault = -1;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
[_obj] spawn player_packVault;
|
||||
*/
|
||||
private ["_obj","_ownerID","_objectID","_objectUID","_alreadyPacking","_location1","_location2","_packedClass","_text","_playerNear"];
|
||||
private ["_obj","_ownerID","_objectID","_objectUID","_alreadyPacking","_location1","_location2","_packedClass","_text","_playerNear","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_15" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -55,13 +55,15 @@ if (!isNull _obj && alive _obj) then {
|
||||
disableUserInput true; // Make sure player can not modify gear while it is being added
|
||||
(findDisplay 106) closeDisplay 0; // Close gear
|
||||
dze_waiting = nil;
|
||||
|
||||
_near = nearestObjects [player,[_packedClass],50];
|
||||
[_packedClass,objNull,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_handleSafeGear = [player,_obj,2];
|
||||
publicVariableServer "PVDZE_handleSafeGear";
|
||||
//wait for response from server to verify pack was logged and gear added before proceeding
|
||||
waitUntil {!isNil "dze_waiting"};
|
||||
disableUserInput false; // Gear is done being added now
|
||||
|
||||
[_packedClass,objNull] spawn fn_waitForObject;
|
||||
|
||||
format[localize "str_epoch_player_123",_text] call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Usage: [_obj] spawn player_unlockVault;
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||
*/
|
||||
private ["_obj","_ownerID","_alreadyPacking","_playerNear","_playerID","_claimedBy","_text","_objType","_ComboMatch"];
|
||||
private ["_obj","_ownerID","_alreadyPacking","_playerNear","_playerID","_claimedBy","_text","_objType","_ComboMatch","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_21" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -58,12 +58,15 @@ if (_ComboMatch || (_ownerID == dayz_playerUID)) then {
|
||||
disableUserInput true; // Make sure player can not modify gear while it is filling
|
||||
(findDisplay 106) closeDisplay 0; // Close gear
|
||||
dze_waiting = nil;
|
||||
|
||||
_near = nearestObjects [player,[_unlockedClass],50];
|
||||
[_unlockedClass,objNull,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_handleSafeGear = [player,_obj,0];
|
||||
publicVariableServer "PVDZE_handleSafeGear";
|
||||
//wait for response from server to verify safe was logged before proceeding
|
||||
waitUntil {!isNil "dze_waiting"};
|
||||
disableUserInput false; // Safe is done filling now
|
||||
[_unlockedClass,objNull] spawn fn_waitForObject;
|
||||
|
||||
player playActionNow "Medic";
|
||||
uiSleep 1;
|
||||
|
||||
Reference in New Issue
Block a user