DMS_Exile/@ExileServer/addons/a3_dms/scripts/fn_SpawnAIStaticMG.sqf
2016-06-06 22:47:15 -05:00

88 lines
1.8 KiB
Plaintext

/*
DMS_fnc_SpawnAIStaticMG
Created by eraser1
Influenced by WAI
Usage:
[
[ // Array of static gun positions
_pos1,
_pos2,
...
_pos3
],
_group, // GROUP: Group to which the AI unit(s) belongs to
_class, // STRING: "random","assault","MG","sniper" or "unarmed"
_difficulty, // STRING: "random","static","hardcore","difficult","moderate", or "easy"
_side, // STRING: "bandit","hero", etc.
_MGClass // (OPTIONAL) STRING: classname of the MG. Use "random" to select a random one from DMS_static_weapons
] call DMS_fnc_SpawnAIStaticMG;
Returns an array of static gun objects.
*/
if !(params
[
"_positions",
"_group",
"_class",
"_difficulty",
"_side"
])
exitWith
{
diag_log format ["DMS ERROR :: Calling DMS_fnc_SpawnAIStaticMG with invalid parameters: %1",_this];
};
private _MGClassInput =
if ((count _this)>5) then
{
_this select 5
}
else
{
"random"
};
private _guns = _positions apply
{
private _MGClass = _MGClassInput;
if (_MGClass == "random") then
{
_MGClass = selectRandom DMS_static_weapons;
};
private _gun = createVehicle [_MGClass, [0,0,0], [], 0, "CAN_COLLIDE"];
_gun setDir (random 360);
_gun setPosATL _x;
_gun lock 2;
_group addVehicle _gun;
private _unit = [_group,_x,_class,_difficulty,_side,"Static"] call DMS_fnc_SpawnAISoldier;
_unit moveInGunner _gun;
reload _unit;
_unit setVariable ["DMS_AssignedVeh",_gun];
if (_group getVariable ["DMS_isGroupFrozen",false]) then
{
_unit enableSimulationGlobal false;
};
if (DMS_DEBUG) then
{
(format ["SpawnAIStaticMG :: Created unit %1 at %2 as static gunner in %3",_unit,_x,_gun]) call DMS_fnc_DebugLog;
};
_gun
};
if (DMS_DEBUG) then
{
(format ["SpawnAIStaticMG :: Created %1 static AI with parameters: %2",count _positions,_this]) call DMS_fnc_DebugLog;
};
_guns