mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-13 19:52:57 +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:
@@ -1,6 +1,7 @@
|
||||
private ["_weaponsToBuy","_backpacksToBuy","_toolsToBuy","_sidearmToBuy","_primaryToBuy","_priceToBuy"
|
||||
,"_enoughMoney","_myMoney","_canBuy","_moneyInfo","_count","_success","_toolClasses","_itemsToLog"
|
||||
,"_tCost","_bTotal","_backpack","_pistolMagsToBuy","_regularMagsToBuy","_hasPrimary","_p","_toolAmounts"];
|
||||
,"_tCost","_bTotal","_backpack","_pistolMagsToBuy","_regularMagsToBuy","_hasPrimary","_p","_toolAmounts"
|
||||
,"_near"];
|
||||
|
||||
if (count Z_BuyingArray < 1) exitWith { systemChat localize "STR_EPOCH_TRADE_BUY_NO_ITEMS"; };
|
||||
|
||||
@@ -148,6 +149,8 @@ if (_enoughMoney) then {
|
||||
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
if (_buyingType in ["trade_any_vehicle_free", "trade_any_bicycle", "trade_any_bicycle_old"]) then {
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,true,"0",_activatingPlayer];
|
||||
@@ -155,7 +158,6 @@ if (_enoughMoney) then {
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,false,_keySelected,_activatingPlayer];
|
||||
};
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
_keySelected;
|
||||
};
|
||||
//systemChat localize "STR_EPOCH_PLAYER_105"; // "Stand still to complete trade". Medic animation loop no longer used.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_isOk","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done"];
|
||||
private ["_sign","_location","_isOk","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -129,10 +129,11 @@ if (_finished) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,true,dayz_characterID,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format[localize "STR_EPOCH_PLAYER_180",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
|
||||
private ["_sign","_location","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -106,10 +106,11 @@ if (_qty >= _qty_in) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,true,dayz_characterID,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format[localize "str_epoch_player_180",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done"];
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -134,10 +134,11 @@ if (_finished) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,false,_result select 1,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format[localize "STR_EPOCH_ACTIONS_11",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_okToSell","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_okToSell","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -112,10 +112,11 @@ if (_qty >= _qty_in) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,false,_result select 1,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format["Bought %3 for %1 %2, key added to toolbelt.",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
} else {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_keyColor","_damage","_tireDmg","_tires","_okToSell","_temp_keys","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done"];
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_keyColor","_damage","_tireDmg","_tires","_okToSell","_temp_keys","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -133,10 +133,11 @@ if (_finished) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,false,_result select 1,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format[localize "STR_EPOCH_ACTIONS_11",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done"];
|
||||
private ["_sign","_location","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_canAfford","_trade_total","_total_currency","_return_change","_done","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -132,10 +132,11 @@ if (_finished) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,true,0,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
};
|
||||
|
||||
} else {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
|
||||
private ["_sign","_location","_result","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear","_near"];
|
||||
|
||||
if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_103" call dayz_rollingMessages;};
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -119,10 +119,11 @@ if (_qty >= _qty_in) then {
|
||||
//place vehicle spawn marker (local)
|
||||
_sign = "Sign_arrow_down_large_EP1" createVehicleLocal _location;
|
||||
_location = [_sign] call FNC_GetPos;
|
||||
_near = nearestObjects [player,[_part_out],50];
|
||||
[_part_out,_sign,_near] spawn fn_waitForObject;
|
||||
|
||||
PVDZE_veh_Publish2 = [[_dir,_location],_part_out,false,_result select 1,_activatingPlayer];
|
||||
publicVariableServer "PVDZE_veh_Publish2";
|
||||
[_part_out,_sign] spawn fn_waitForObject;
|
||||
|
||||
format["Bought %3 for %1 %2, key added to toolbelt.",_qty_in,_textPartIn,_textPartOut] call dayz_rollingMessages;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user