magazinesDetail: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(37 intermediate revisions by 3 users not shown)
Line 8: Line 8:
|gr2= Vehicle Inventory
|gr2= Vehicle Inventory


|descr= Returns an array of strings with description of all vehicle's magazines, their ammo count (current/default) and their ids.  
|descr= Returns an array of strings with description of all vehicle's magazines, their ammo count (current/default) and their ids for the primary gunner.  


When applied to a unit (soldier), the command behaves differently and will omit magazines already loaded into unit's weapons. Use [[currentMagazineDetail]] to get this information for a currently loaded magazine.
When applied to a unit (soldier), the command behaves differently and will omit magazines already loaded into unit's weapons. Use [[currentMagazineDetail]] to get this information for a currently loaded magazine.
Line 18: Line 18:
|r1= [[Array]]
|r1= [[Array]]


|s2= [[magazinesDetail]] [vehicle, includeEmpty]
|s2= [[magazinesDetail]] [vehicle, includeEmpty, includeLoaded]


|s2since= arma3 2.00
|s2since= arma3 2.00


|p21= [vehicle, includeEmpty]: [[Array]]
|p21= vehicle: [[Object]] - unit or vehicle


|p22= vehicle: [[Object]] - unit or vehicle
|p22= includeEmpty: [[Boolean]] - (Optional, default [[false]]) [[true]] to include empty magazines


|p23= includeEmpty: [[Boolean]] - (Optional, default [[false]]) [[true]] to include empty magazines
|p23= includeLoaded: [[Boolean]] - (Optional, default [[false]]) [[true]] to include magazines loaded in weapons (Since Arma 3 v2.07.148195)


|r2= [[Array]]
|r2= [[Array]]


|x1= <code>_magazinesDetail = [[magazinesDetail]] [[player]];
|x1= <sqf>
{{codecomment|/*
_magazinesDetail = magazinesDetail player;
/*
[
[
"6.5mm 30Rnd STANAG Mag(30/30)[id:3]",
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000003/0]",
"6.5mm 30Rnd STANAG Mag(30/30)[id:9]",
"Chemlight (Green)(1/1)[id/cr:10000020/0]",
"9mm 16Rnd Mag(16/16)[id:12]",
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000012/0]",
"Smoke Grenade (Green)(1/1)[id:14]",
"RGO Grenade(1/1)[id/cr:10000016/0]",
"Chemlight (Green)(1/1)[id:16]",
"RGO Grenade(1/1)[id/cr:10000017/0]",
"RGO Frag Grenade(1/1)[id:18]"
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000070/0]",
"PCML Missile(1/1)[id/cr:10000072/0]",
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000001/0]",
"9 mm 16Rnd Mag(16/16)[id/cr:10000013/0]"
]
]
<nowiki/>*/}}</code>
*/
</sqf>


|x2= <code>_magazinesDetail = [[magazinesDetail]] Mi_48;
|x2= <sqf>
{{codecomment/*
_magazinesDetail = magazinesDetail Mi_48;
/*
[
[
"30mm APDS shells(250/250)[id:20]",
"30 mm HE Tracer (Green) Shells(250/250)[id/cr:10000043/0]",
"30mm HE Shells(250/250)[id:21]",
"30 mm APDS Tracer (Green) Shells(250/250)[id/cr:10000044/0]",
"Scalpel E2(8/8)[id:22]",
"Designator Batteries(1/1)[id/cr:10000045/0]",
"Skyfire(38/38)[id:23]"
"Scalpel 4x(4/4)[id/cr:10000049/0]",
"Skyfire 19x(19/19)[id/cr:10000051/0]",
"Skyfire 19x(19/19)[id/cr:10000052/0]",
"Scalpel 4x(4/4)[id/cr:10000053/0]"
]
]
<nowiki/>*/}}</code>
*/
</sqf>


|seealso= [[currentMagazineDetail]], [[magazines]], [[magazinesTurret]], [[magazinesAmmo]], [[magazinesAmmoFull]], [[magazinesDetailUniform]], [[magazinesDetailVest]], [[magazinesDetailBackpack]]
|seealso= [[currentMagazineDetail]] [[magazines]] [[magazinesTurret]] [[magazinesAmmo]] [[magazinesAmmoFull]] [[magazinesDetailUniform]] [[magazinesDetailVest]] [[magazinesDetailBackpack]]
}}
}}


Line 59: Line 69:
|timestamp= 20210912220640
|timestamp= 20210912220640
|text= To return the ammo count in each magazine, you can use this code:
|text= To return the ammo count in each magazine, you can use this code:
<code>[[magazinesDetail]] [[player]] [[apply]] {
<sqf>
    [[private]] _reverse [[=]] [[reverse]] _x;
magazinesDetail player apply {
[[private]]_i1 [[=]] (_reverse [[find]] "[)") + 1;
private _reverse = reverse _x;
[[private]]_i2 [[=]] (_reverse [[find]] ["/", _id1]) + 1;
private_i1 = (_reverse find "[)") + 1;
[[private]]_i3 [[=]] _reverse [[find]] ["(", _id2];
private_i2 = (_reverse find ["/", _id1]) + 1;
[[parseNumber]] [[reverse]] (_reverse [[select]] [_i2, _i3 - _i2]); {{cc|return cnt}}
private_i3 = _reverse find ["(", _id2];
};</code>
parseNumber reverse (_reverse select [_i2, _i3 - _i2]); // return cnt
};
</sqf>
}}
}}

Latest revision as of 19:42, 3 September 2024

Hover & click on the images for description

Description

Description:
Returns an array of strings with description of all vehicle's magazines, their ammo count (current/default) and their ids for the primary gunner. When applied to a unit (soldier), the command behaves differently and will omit magazines already loaded into unit's weapons. Use currentMagazineDetail to get this information for a currently loaded magazine.
Groups:
Unit InventoryVehicle Inventory

Syntax

Syntax:
magazinesDetail vehicle
Parameters:
vehicle: Object - unit or vehicle
Return Value:
Array

Alternative Syntax

Syntax:
magazinesDetail [vehicle, includeEmpty, includeLoaded]
Parameters:
vehicle: Object - unit or vehicle
includeEmpty: Boolean - (Optional, default false) true to include empty magazines
includeLoaded: Boolean - (Optional, default false) true to include magazines loaded in weapons (Since Arma 3 v2.07.148195)
Return Value:
Array

Examples

Example 1:
_magazinesDetail = magazinesDetail player; /* [ "6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000003/0]", "Chemlight (Green)(1/1)[id/cr:10000020/0]", "6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000012/0]", "RGO Grenade(1/1)[id/cr:10000016/0]", "RGO Grenade(1/1)[id/cr:10000017/0]", "6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000070/0]", "PCML Missile(1/1)[id/cr:10000072/0]", "6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000001/0]", "9 mm 16Rnd Mag(16/16)[id/cr:10000013/0]" ] */
Example 2:
_magazinesDetail = magazinesDetail Mi_48; /* [ "30 mm HE Tracer (Green) Shells(250/250)[id/cr:10000043/0]", "30 mm APDS Tracer (Green) Shells(250/250)[id/cr:10000044/0]", "Designator Batteries(1/1)[id/cr:10000045/0]", "Scalpel 4x(4/4)[id/cr:10000049/0]", "Skyfire 19x(19/19)[id/cr:10000051/0]", "Skyfire 19x(19/19)[id/cr:10000052/0]", "Scalpel 4x(4/4)[id/cr:10000053/0]" ] */

Additional Information

See also:
currentMagazineDetail magazines magazinesTurret magazinesAmmo magazinesAmmoFull magazinesDetailUniform magazinesDetailVest magazinesDetailBackpack

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
Leopard20 - c
Posted on Sep 12, 2021 - 22:06 (UTC)
To return the ammo count in each magazine, you can use this code:
magazinesDetail player apply { private _reverse = reverse _x; private_i1 = (_reverse find "[)") + 1; private_i2 = (_reverse find ["/", _id1]) + 1; private_i3 = _reverse find ["(", _id2]; parseNumber reverse (_reverse select [_i2, _i3 - _i2]); // return cnt };