weaponsTurret: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *((\[\[[a-zA-Z0-9_ |()]+\]\],? ?)+) * \}\}" to "|seealso= $1 }}")
m (Text replacement - "_this" to "_this")
Line 44: Line 44:
_getAnyMagazines = {
_getAnyMagazines = {
[[private]] ["_weapon", "_mags"];
[[private]] ["_weapon", "_mags"];
_weapon = [[configFile]] >> "CfgWeapons" >> [[_this]];
_weapon = [[configFile]] >> "CfgWeapons" >> [[Magic Variables#this|_this]];
_mags = [];
_mags = [];
{
{
Line 55: Line 55:
_findRecurse = {
_findRecurse = {
[[private]] ["_root", "_class", "_path", "_currentPath"];
[[private]] ["_root", "_class", "_path", "_currentPath"];
_root = ([[_this]] [[select]] 0);
_root = ([[Magic Variables#this|_this]] [[select]] 0);
_path = +([[_this]] [[select]] 1);
_path = +([[Magic Variables#this|_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 73: Line 73:
_class = (
_class = (
[[configFile]] >> "CfgVehicles" >> (
[[configFile]] >> "CfgVehicles" >> (
[[switch]] ([[typeName]] [[_this]]) [[do]] {
[[switch]] ([[typeName]] [[Magic Variables#this|_this]]) [[do]] {
[[case]] "STRING" : {[[_this]]};
[[case]] "STRING" : {[[Magic Variables#this|_this]]};
[[case]] "OBJECT" : {[[typeOf]] [[_this]]};
[[case]] "OBJECT" : {[[typeOf]] [[Magic Variables#this|_this]]};
[[default]] {[[nil]]}
[[default]] {[[nil]]}
}
}

Revision as of 14:20, 25 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Turrets

Syntax

Syntax:
Syntax needed
Parameters:
vehicle: Object
turretPath: Array
Return Value:
Return value needed

Examples

Example 1:
_weapons = vehicle player weaponsTurret [0,0]
Example 2:
_weapons = _tank weaponsTurret [0]
Example 3:
_driverWeapon = _ka50pilot weaponsTurret [-1]
Example 4:
_weaponsForAnyTurrentPosition = (vehicle player) weaponsTurret ((assignedVehicleRole player) select 1)

Additional Information

See also:
addMagazineTurretmagazinesTurretremoveMagazinesTurretremoveMagazineTurretweaponsassignedVehicleRoleaddWeaponTurretremoveWeaponTurretturretLocal

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 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 funcGetTurretsWeapons 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"] ]