Skip to content

Commit eb75d44

Browse files
committed
Reduced minimum spawning range for vehicles and added safe spawn check
Reduced minimum spawning distance for vehicles from 50 to 15 metres Added code guard in case it didn't find a valid spot for the vehicle, instead it will abort and give the player a helpful message tell them why the vehicle hasn't spawned
1 parent fa28e8f commit eb75d44

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

source/dialog/spawnVehicle.sqf

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,31 @@ _vehicleType = _this select 1;
44
if (commandpointsblu1 >= _requiredPoints) then {
55
commandpointsblu1 = commandpointsblu1 - _requiredPoints;
66
ctrlSetText [1000, format["%1",commandpointsblu1]];
7-
_spawnPos = (getpos hq_blu1) findEmptyPosition [40, 120, _vehicleType];
8-
_spawnPos = [(_spawnPos select 0), _spawnPos select 1];
9-
vehic = _vehicleType createVehicle _spawnPos;
7+
_spawnPos = (getpos hq_blu1) findEmptyPosition [15, 120, _vehicleType];
8+
if(count _spawnPos != 0) then {
9+
_spawnPos = [_spawnPos select 0, _spawnPos select 1];
10+
vehic = _vehicleType createVehicle _spawnPos;
1011

11-
if(unitIsUAV vehic) then {
12-
createVehicleCrew vehic;
13-
};
12+
if(unitIsUAV vehic) then {
13+
createVehicleCrew vehic;
14+
};
1415

15-
if(vehic isKindOf "Tank" || vehic isKindOf "Wheeled_APC_F") then {
16-
vehic addEventHandler ["IncomingMissile", {
17-
_target = _this select 0;
18-
_attacker = _this select 3;
19-
diag_log format ["DUWS-R: MWS Event Fired for %1", _target];
20-
if(player in crew (_target)) then {
21-
_target say2D ["alarmCar", 100, 1];
22-
_azi = (_target) getDir (_attacker);
23-
titleText [format["Incoming Missile: Bearing %1", str floor _azi], "PLAIN", 0.4];
24-
};
25-
}];
26-
};
27-
hint "Vehicle ready !";
16+
if(vehic isKindOf "Tank" || vehic isKindOf "Wheeled_APC_F") then {
17+
vehic addEventHandler ["IncomingMissile", {
18+
_target = _this select 0;
19+
_attacker = _this select 3;
20+
diag_log format ["DUWS-R: MWS Event Fired for %1", _target];
21+
if(player in crew (_target)) then {
22+
_target say2D ["alarmCar", 100, 1];
23+
_azi = (_target) getDir (_attacker);
24+
titleText [format["Incoming Missile: Bearing %1", str floor _azi], "PLAIN", 0.4];
25+
};
26+
}];
27+
};
28+
hint "Vehicle ready !";
29+
} else {
30+
hint "Not enough room to spawn vehicle!";
31+
};
2832
} else {
2933
hint "Not enough command points";
3034
};

0 commit comments

Comments
 (0)