magazinesDetail: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(34 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>
{{codecomment|/*
_magazinesDetail = magazinesDetail player;
/*
[
[
"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 44:
"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>
{{codecomment|/*
_magazinesDetail = magazinesDetail Mi_48;
/*
[
[
"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 59:
"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 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 };