{"name":"weaponsTurret","title":"weaponsTurret","type":"command","url":"https://community.bistudio.com/wiki/weaponsTurret","revid":377486,"updated":"2026-01-02T06:49:06Z","groups":["Turrets"],"status":"ok","games":{"arma2oa":"1.52","tkoh":"1.00","arma3":"0.50"},"since":"arma2oa 1.52","arma3_since":"0.50","locality":{"argument":"global"},"description":"Returns all weapons of a given turret. Use turret path [-1] for driver's turret.","syntaxes":[{"syntax":"vehicle weaponsTurret turretPath","params":[{"name":"vehicle","type":"Object","type_expr":"Object"},{"name":"turretPath","type":"Turret Path","type_expr":"Turret Path"}],"returns":{"type":"Array of Strings","type_expr":"Array<String>"},"form":"binary","left":{"text":"vehicle"},"right":{"text":"turretPath"}}],"examples":[{"code":["_weapons = vehicle player weaponsTurret [0,0];"]},{"code":["_weapons = _tank weaponsTurret [0];"]},{"code":["_driverWeapon = _ka50pilot weaponsTurret [-1];"]},{"code":["_weaponsForAnyTurrentPosition = (vehicle player) weaponsTurret ((assignedVehicleRole player) select 1);"]}],"see_also":["addMagazineTurret","magazinesTurret","removeMagazinesTurret","removeMagazineTurret","weapons","assignedVehicleRole","addWeaponTurret","removeWeaponTurret","turretLocal"],"notes":[{"user":".kju","date":"2011-03-11T07:49:00Z","text":"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."},{"user":"DenV","date":"2012-05-30T16:26:00Z","text":"Returns information (including the turrets paths) about all weapons on turrets\n\n```sqf\nfuncGetTurretsWeapons = {\n    private [\"_result\", \"_getAnyMagazines\", \"_findRecurse\", \"_class\"];\n    _result = [];\n    _getAnyMagazines = {\n        private [\"_weapon\", \"_mags\"];\n        _weapon = configFile >> \"CfgWeapons\" >> _this;\n        _mags = [];\n        {\n            _mags = _mags + getArray (\n                (if (_x == \"this\") then { _weapon } else { _weapon >> _x }) >> \"magazines\"\n            )\n        } forEach getArray (_weapon >> \"muzzles\");\n        _mags\n    };\n    _findRecurse = {\n        private [\"_root\", \"_class\", \"_path\", \"_currentPath\"];\n        _root = (_this select 0);\n        _path = +(_this select 1);\n        for \"_i\" from 0 to count _root -1 do {\n            _class = _root select _i;\n            if (isClass _class) then {\n                _currentPath = _path + [_i];\n                {\n                    _result set [count _result, [_x, _x call _getAnyMagazines, _currentPath, str _class]];\n                } forEach getArray (_class >> \"weapons\");\n                _class = _class >> \"turrets\";\n                if (isClass _class) then {\n                    [_class, _currentPath] call _findRecurse;\n                };\n            };\n        };\n    };\n    _class = (\n        configFile >> \"CfgVehicles\" >> (\n            switch (typeName _this) do {\n                case \"STRING\" : {_this};\n                case \"OBJECT\" : {typeOf _this};\n                default {nil}\n            }\n        ) >> \"turrets\"\n    );\n    [_class, []] call _findRecurse;\n    _result;\n};\n```\n\nThis call:\n\n```sqf\n\"M1A2_US_TUSK_MG_EP1\" call funcGetTurretsWeapons;\n```\n\nwill return all turrets weapons, their magazines and their paths:\n\n```\n[\n    [\"M256\", [\"20Rnd_120mmSABOT_M1A2\", \"20Rnd_120mmHE_M1A2\"], [0], \"bin\\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret\"],\n    [\"M240_veh\", [\"100Rnd_762x51_M240\", \"1200Rnd_762x51_M240\"], [0], \"bin\\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret\"],\n    [\"M2BC\", [\"100Rnd_127x99_M2\"], [0, 0], \"bin\\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/CommanderOptics\"],\n    [\"SmokeLauncher\", [\"SmokeLauncherMag\"], [0, 0], \"bin\\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/CommanderOptics\"],\n    [\"M240_veh_2\", [\"100Rnd_762x51_M240\", \"1200Rnd_762x51_M240\"], [0, 1], \"bin\\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/LoaderTurret\"]\n]\n```"}]}