diff options
| author | hybrid <hybrid@hybridlabs.pro> | 2026-06-11 19:58:31 +0300 |
|---|---|---|
| committer | hybrid <hybrid@hybridlabs.pro> | 2026-06-11 19:58:31 +0300 |
| commit | e670b4ed55c459a21090bd0178ceaaaf12d87989 (patch) | |
| tree | b6833d5e842475f0ee27f5f617096445fdd4e4a1 /Common/Functions/Common_GetTurretsMags.sqf | |
| download | a2wf_fallujah-e670b4ed55c459a21090bd0178ceaaaf12d87989.tar.gz a2wf_fallujah-e670b4ed55c459a21090bd0178ceaaaf12d87989.tar.bz2 a2wf_fallujah-e670b4ed55c459a21090bd0178ceaaaf12d87989.zip | |
init
Diffstat (limited to '')
| -rw-r--r-- | Common/Functions/Common_GetTurretsMags.sqf | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Common/Functions/Common_GetTurretsMags.sqf b/Common/Functions/Common_GetTurretsMags.sqf new file mode 100644 index 0000000..f226567 --- /dev/null +++ b/Common/Functions/Common_GetTurretsMags.sqf @@ -0,0 +1,42 @@ +/* Adapted from BIS turret's function. */
+private ['_entry','_turrets','_turretIndex'];
+_entry = _this select 0;
+
+_turrets = [];
+_turretIndex = 0;
+
+//Explore all turrets and sub-turrets recursively.
+for '_i' from 0 to ((count _entry) - 1) do
+{
+ private ['_subEntry'];
+ _subEntry = _entry select _i;
+
+ if (isClass _subEntry) then
+ {
+ private ['_hasGunner'];
+ _hasGunner = [_subEntry, 'hasGunner'] call BIS_fnc_returnConfigEntry;
+
+ //Make sure the entry was found.
+ if !(isNil '_hasGunner') then
+ {
+ if (_hasGunner == 1) then
+ {
+ _turrets = _turrets + [[_turretIndex],getArray(_subEntry >> 'magazines')];
+
+ //Include sub-turrets, if present.
+ if (isClass (_subEntry >> 'Turrets')) then
+ {
+ _turrets = _turrets + [[_subEntry >> 'Turrets'] call GetTurretsMags];
+ }
+ else
+ {
+ _turrets = _turrets + [[]];
+ };
+ };
+ };
+
+ _turretIndex = _turretIndex + 1;
+ };
+};
+
+_turrets
\ No newline at end of file |
