From Bohemia Interactive Community
					 
					
					
					
					
- 
- Posted on 11 March 2011
- kju
- 
Use assignedVehicleRole in combination to easily determine the weapons for any vehicle position. You need to check for -1 if the unit is in the driver/pilot position. See example 3 and 4.
- 
- Posted on 11 March 2011
- DenV
- 
Returns information (including the turrets paths) about all weapons on turrets
funcGetTurretsWeapons = {
	private ["_result", "_getAnyMagazines", "_findRecurse", "_class"];
	_result = [];
	_getAnyMagazines = {
		private ["_weapon", "_mags"];
		_weapon = configFile >> "CfgWeapons" >> _this;
		_mags = [];
		{
			_mags = _mags + getArray (
				(if (_x == "this") then { _weapon } else { _weapon >> _x }) >> "magazines"
			)
		} forEach getArray (_weapon >> "muzzles");
		_mags
	};
	_findRecurse = {
		private ["_root", "_class", "_path", "_currentPath"];
		_root = (_this select 0);
		_path = +(_this select 1);
		for "_i" from 0 to count _root -1 do {
			_class = _root select _i;
			if (isClass _class) then {
				_currentPath = _path + [_i];
				{
					_result set [count _result, [_x, _x call _getAnyMagazines, _currentPath, str _class]];
				} forEach getArray (_class >> "weapons");
				_class = _class >> "turrets";
				if (isClass _class) then {
					[_class, _currentPath] call _findRecurse;
				};
			};
		};
	};
	_class = (
		configFile >> "CfgVehicles" >> (
			switch (typeName _this) do {
				case "STRING" : {_this};
				case "OBJECT" : {typeOf _this};
				default {nil}
			}
		) >> "turrets"
	);
	[_class, []] call _findRecurse;
	_result;
};This call:"M1A2_US_TUSK_MG_EP1" call funcGetTurretsWeaponswill return all turrets weapons, its magazines and its paths:[
	["M256", ["20Rnd_120mmSABOT_M1A2", "20Rnd_120mmHE_M1A2"], [0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret"],
	["M240_veh", ["100Rnd_762x51_M240", "1200Rnd_762x51_M240"], [0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret"],
	["M2BC", ["100Rnd_127x99_M2"], [0, 0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/CommanderOptics"],
	["SmokeLauncher", ["SmokeLauncherMag"], [0, 0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/CommanderOptics"],
	["M240_veh_2", ["100Rnd_762x51_M240", "1200Rnd_762x51_M240"], [0, 1], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/LoaderTurret"]
]