weaponsTurret: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*)<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 32: | Line 32: | ||
}} | }} | ||
{{Note | |||
|user= kju | |||
|timestamp= 20110311074900 | |||
|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. | |||
}} | |||
{{Note | |||
|user= DenV | |||
|timestamp= 20120530162600 | |||
|text= Returns information (including the turrets paths) about all weapons on turrets | |||
<sqf> | |||
funcGetTurretsWeapons = { | |||
Returns information (including the turrets paths) about all weapons on turrets | |||
< | |||
private ["_result", "_getAnyMagazines", "_findRecurse", "_class"]; | private ["_result", "_getAnyMagazines", "_findRecurse", "_class"]; | ||
_result = []; | _result = []; | ||
_getAnyMagazines = { | _getAnyMagazines = { | ||
private ["_weapon", "_mags"]; | private ["_weapon", "_mags"]; | ||
_weapon = configFile >> "CfgWeapons" >> | _weapon = configFile >> "CfgWeapons" >> _this; | ||
_mags = []; | _mags = []; | ||
{ | { | ||
Line 60: | Line 59: | ||
_findRecurse = { | _findRecurse = { | ||
private ["_root", "_class", "_path", "_currentPath"]; | private ["_root", "_class", "_path", "_currentPath"]; | ||
_root = ( | _root = (_this select 0); | ||
_path = +( | _path = +(_this select 1); | ||
for "_i" from 0 to count _root -1 do { | for "_i" from 0 to count _root -1 do { | ||
_class = _root select _i; | _class = _root select _i; | ||
Line 78: | Line 77: | ||
_class = ( | _class = ( | ||
configFile >> "CfgVehicles" >> ( | configFile >> "CfgVehicles" >> ( | ||
switch (typeName | switch (typeName _this) do { | ||
case "STRING" : { | case "STRING" : {_this}; | ||
case "OBJECT" : {typeOf | case "OBJECT" : {typeOf _this}; | ||
default {nil} | default {nil} | ||
} | } | ||
Line 87: | Line 86: | ||
[_class, []] call _findRecurse; | [_class, []] call _findRecurse; | ||
_result; | _result; | ||
};</ | }; | ||
</sqf> | |||
This call: | This call: | ||
< | <sqf>"M1A2_US_TUSK_MG_EP1" call funcGetTurretsWeapons</sqf> | ||
will return all turrets weapons, its magazines and its paths: | will return all turrets weapons, its magazines and its paths: | ||
< | <pre>[ | ||
["M256", ["20Rnd_120mmSABOT_M1A2", "20Rnd_120mmHE_M1A2"], [0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret"], | ["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"], | ["M240_veh", ["100Rnd_762x51_M240", "1200Rnd_762x51_M240"], [0], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret"], | ||
Line 97: | Line 99: | ||
["SmokeLauncher", ["SmokeLauncherMag"], [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"] | ["M240_veh_2", ["100Rnd_762x51_M240", "1200Rnd_762x51_M240"], [0, 1], "bin\config.bin/CfgVehicles/M1A2_US_TUSK_MG_EP1/Turrets/MainTurret/Turrets/LoaderTurret"] | ||
]</ | ]</pre> | ||
}} | |||
Revision as of 10:52, 13 May 2022
Description
- Description:
- Returns all weapons of given turret. Use turret path [-1] for driver's turret.
- Groups:
- Turrets
Syntax
- Syntax:
- vehicle weaponsTurret turretPath
- Parameters:
- vehicle: Object
- turretPath: Array
- Return Value:
- Array of Strings
Examples
- Example 1:
- Example 2:
- Example 3:
- Example 4:
Additional Information
- See also:
- addMagazineTurret magazinesTurret removeMagazinesTurret removeMagazineTurret weapons assignedVehicleRole addWeaponTurret removeWeaponTurret turretLocal
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- Posted on Mar 11, 2011 - 07:49 (UTC)
- 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 May 30, 2012 - 16:26 (UTC)
-
Returns information (including the turrets paths) about all weapons on turrets
This call: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; };will 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"] ]