Difference between revisions of "magazinesDetail"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " " to " ")
 
(33 intermediate revisions by the same user not shown)
Line 22: Line 22:
 
|s2since= arma3 2.00
 
|s2since= arma3 2.00
  
|p21= [vehicle, includeEmpty, includeLoaded]: [[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)
 
 
|p24= 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>_magazinesDetail = magazinesDetail player;
{{codecomment|/*
+
/*
 
[
 
[
 
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000003/0]",
 
"6.5 mm 30Rnd Sand Mag(30/30)[id/cr:10000003/0]",
Line 45: Line 43:
 
"9 mm 16Rnd Mag(16/16)[id/cr:10000013/0]"
 
"9 mm 16Rnd Mag(16/16)[id/cr:10000013/0]"
 
]
 
]
<nowiki/>*/}}</code>
+
*/</sqf>
  
|x2= <code>_magazinesDetail = [[magazinesDetail]] Mi_48;
+
|x2= <sqf>_magazinesDetail = magazinesDetail Mi_48;
{{codecomment|/*
+
/*
 
[
 
[
 
"30 mm HE Tracer (Green) Shells(250/250)[id/cr:10000043/0]",
 
"30 mm HE Tracer (Green) Shells(250/250)[id/cr:10000043/0]",
Line 58: Line 56:
 
"Scalpel 4x(4/4)[id/cr:10000053/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 67: Line 65:
 
|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>magazinesDetail player apply {
    [[private]] _reverse [[=]] [[reverse]] _x;
+
private _reverse = reverse _x;
[[private]]_i1 [[=]] (_reverse [[find]] "[)") + 1;
+
private_i1 = (_reverse find "[)") + 1;
[[private]]_i2 [[=]] (_reverse [[find]] ["/", _id1]) + 1;
+
private_i2 = (_reverse find ["/", _id1]) + 1;
[[private]]_i3 [[=]] _reverse [[find]] ["(", _id2];
+
private_i3 = _reverse find ["(", _id2];
[[parseNumber]] [[reverse]] (_reverse [[select]] [_i2, _i3 - _i2]); {{cc|return cnt}}
+
parseNumber reverse (_reverse select [_i2, _i3 - _i2]); // return cnt
};</code>
+
};</sqf>
 
}}
 
}}

Latest revision as of 11:11, 27 July 2022

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
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 };