From 4b14397c7b512dacac5d68c548e7f8de533e11c0 Mon Sep 17 00:00:00 2001 From: ebayShopper Date: Wed, 5 Apr 2017 15:49:16 -0400 Subject: [PATCH] Fix purchased boat not spawning on helipad https://epochmod.com/forum/topic/43644-problem-with-napf-boat-spawn-in-1061/ --- CHANGE LOG 1.0.6.2.txt | 1 + .../AdvancedTrading/functions/z_at_buyItems.sqf | 10 ++++++++-- SQF/dayz_code/stringtable.xml | 3 +++ SQF/dayz_server/compile/server_publishVehicle2.sqf | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGE LOG 1.0.6.2.txt b/CHANGE LOG 1.0.6.2.txt index a68376b03..6772a3689 100644 --- a/CHANGE LOG 1.0.6.2.txt +++ b/CHANGE LOG 1.0.6.2.txt @@ -31,6 +31,7 @@ [FIXED] Group saving issue which could potentially join a player to a random group or not save group properly after death. [FIXED] Harvested pumpkin, sunflower, and hemp plants no longer respawn after relog (allowed infinite harvesting). [FIXED] Multiple players can no longer harvest the same plant at once. #1928 @F507DMT +[FIXED] Purchased boats sometimes not spawning on helipad even when it is free of obstructions. [NOTE] Fixes below are included in the mission file and server pbo as part of server package 1.0.6.1A (March 10th 2017) [FIXED] Fixed food and drink going down 10x faster from melee and other "working" actions. diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf index 5a1d8088c..7ccb1f480 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf @@ -135,7 +135,7 @@ if (_enoughMoney) then { // Note server now uses createVehicle "NONE" so next closest safePos is found automatically if location is blocked if (count _helipad > 0) then { - _location = getPosATL (_helipad select 0); + _location = [(_helipad select 0)] call FNC_GetPos; } else { _location = [player] call FNC_GetPos; }; @@ -143,7 +143,13 @@ if (_enoughMoney) then { _sign = "Sign_arrow_down_large_EP1" createVehicleLocal [0,0,0]; _sign setPos _location; _location = [_sign] call FNC_GetPos; - [_part_out,_sign] call fn_waitForObject; + + if (surfaceIsWater _location && {count (_location nearEntities ["Ship",8]) > 0}) then { + deleteVehicle _sign; + localize "STR_EPOCH_TRADE_OBSTRUCTED" call dayz_rollingMessages; + } else { + [_part_out,_sign] call fn_waitForObject; + }; if (_buyingType in DZE_tradeVehicleKeyless) then { PVDZE_veh_Publish2 = [[_dir,_location],_part_out,true,"0",_activatingPlayer]; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 31caa4e5f..2da71c64c 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -15290,6 +15290,9 @@ Du kannst nur ein Fahrzeug zur gleichen Zeit kaufen. Вы можете купить только один транспорт за сделку. + + The trade area is obstructed. The vehicle will spawn at a safe place nearby. + You can not buy more than one of the same tool into your gear. Du kannst nicht mehr als ein Werkzeug von einer Sorte gleichzeitig in deine Ausrüstung kaufen. diff --git a/SQF/dayz_server/compile/server_publishVehicle2.sqf b/SQF/dayz_server/compile/server_publishVehicle2.sqf index 63d64c0ea..92285d529 100644 --- a/SQF/dayz_server/compile/server_publishVehicle2.sqf +++ b/SQF/dayz_server/compile/server_publishVehicle2.sqf @@ -88,6 +88,10 @@ _key call server_hiveWrite; //_object = createVehicle [_class, _location, [], 0, "CAN_COLLIDE"]; // Don't use setPos or CAN_COLLIDE here. It will spawn inside other vehicles _object = _class createVehicle _location; + if (surfaceIsWater _location && {count (_location nearEntities ["Ship",8]) == 0}) then { + //createVehicle "NONE" is especially inaccurate in water + _object setPos _location; + }; }; if(!_donotusekey) then {