mirror of
https://github.com/Defent/DMS_Exile.git
synced 2024-08-30 16:52:12 +00:00
44955afb0c
* NEW CONFIG VALUE: "DMS_ai_offload_Only_DMS_AI" * You can use "DMS_ai_offload_Only_DMS_AI" to offload only AI spawned by DMS. This should resolve any issues with other mission systems from DMS. * Increased "DMS_playerNearRadius" from 75 meters to 100 meters. * You can now define "absolute" mission conditions. If this mission condition is met, it immediately counts the mission as completed. Add "true" after the completion argument to turn it into an "absolute" win condition. * Added compatibility with RS_VLS by [Rod Serling](https://github.com/Rod-Serling).
76 lines
1.6 KiB
Plaintext
76 lines
1.6 KiB
Plaintext
/*
|
|
DMS_fnc_SpawnNonPersistentVehicle
|
|
|
|
Spawn a non-saved vehicle in Exile
|
|
|
|
Created by Zupa
|
|
Edited by eraser1
|
|
|
|
Usage:
|
|
[
|
|
_vehicleClass, // STRING: Classname of the vehicle
|
|
_pos // ARRAY: Position to spawn it at (roughly)
|
|
] call DMS_fnc_SpawnNonPersistentVehicle;
|
|
|
|
Returns the vehicle object of the created vehicle.
|
|
|
|
EXAMPLE:
|
|
_exampleVeh = ['Exile_Chopper_Hummingbird_Green',_pos] call DMS_fnc_SpawnNonPersistentVehicle;
|
|
|
|
*/
|
|
|
|
private ["_vehicleClass","_position","_vehpos","_maxDistance","_vehObj"];
|
|
|
|
_OK = params
|
|
[
|
|
["_vehicleClass","",[""]],
|
|
["_position","",[[]],[2,3]]
|
|
];
|
|
|
|
if (!_OK) exitWith
|
|
{
|
|
diag_log format ["DMS ERROR :: Calling DMS_SpawnNonPersistentVehicle with invalid parameters: %1",_this];
|
|
};
|
|
|
|
_vehpos = [];
|
|
_maxDistance = 10;
|
|
|
|
while{count _vehpos < 1} do
|
|
{
|
|
_vehpos = _position findEmptyPosition [20,_maxDistance,_vehicleClass];
|
|
_maxDistance = (_maxDistance + 5);
|
|
};
|
|
|
|
_vehpos set [2, 0.1];
|
|
|
|
_vehObj = createVehicle [_vehicleClass, _vehpos, [], 0, "CAN_COLLIDE"];
|
|
|
|
clearBackpackCargoGlobal _vehObj;
|
|
clearItemCargoGlobal _vehObj;
|
|
clearMagazineCargoGlobal _vehObj;
|
|
clearWeaponCargoGlobal _vehObj;
|
|
|
|
_vehObj setVariable ["ExileIsPersistent", false];
|
|
|
|
_vehObj setFuel (0.75+(random 0.25));
|
|
_vehObj setDir (random 360);
|
|
_vehObj setPosATL _vehpos;
|
|
_vehObj setVectorUp (surfaceNormal _vehpos);
|
|
|
|
if (!isNil "RS_VLS") then
|
|
{
|
|
[_vehicle] call RS_VLS_sanitizeVehicle;
|
|
};
|
|
|
|
_vehObj lock 2;
|
|
_vehObj allowDamage false;
|
|
_vehObj enableRopeAttach false;
|
|
_vehObj enableSimulationGlobal false;
|
|
|
|
if (DMS_DEBUG) then
|
|
{
|
|
diag_log format ["DMS_DEBUG SpawnNonPersistentVehicle :: Created %1 at %2 with calling parameters: %3",_vehObj,_vehpos,_this];
|
|
};
|
|
|
|
|
|
_vehObj |