mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
/*
|
|
* Author: commy2
|
|
* Find the next Grenade Muzzle.
|
|
*
|
|
* Arguments:
|
|
* 0: Grenade Type ("All", "Frag", "NonFrag") <STRING>
|
|
*
|
|
* Return Value:
|
|
* Class name of next throw muzzle <STRING>
|
|
*
|
|
* Example:
|
|
* ["All"] call ace_weaponselect_fnc_findNextGrenadeMuzzle
|
|
*
|
|
* Public: No
|
|
*/
|
|
#include "script_component.hpp"
|
|
|
|
private ["_allMags", "_allMuzzles", "_magazines", "_start", "_index", "_nextMuzzle"];
|
|
|
|
params ["_type"];
|
|
|
|
_allMags = missionNamespace getVariable [format [QGVAR(%1Magazines), _type], []];
|
|
_allMuzzles = missionNamespace getVariable [format [QGVAR(%1Muzzles), _type], []];
|
|
|
|
_magazines = magazines ACE_player;
|
|
|
|
_start = [GVAR(CurrentGrenadeMuzzleOther), GVAR(CurrentGrenadeMuzzleFrag)] select GVAR(CurrentGrenadeMuzzleIsFrag);
|
|
_index = _allMuzzles find _start;
|
|
|
|
scopeName "SearchMain";
|
|
|
|
_nextMuzzle = "";
|
|
for "_index" from (_index + 1) to (count _allMuzzles - 1) do {
|
|
{
|
|
if (_x in (_allMags select _index)) exitWith {_nextMuzzle = _allMuzzles select _index; breakTo "SearchMain"};
|
|
} count _magazines;
|
|
};
|
|
|
|
if (_nextMuzzle != "") exitWith {_nextMuzzle};
|
|
|
|
for "_index" from 0 to _index do {
|
|
{
|
|
if (_x in (_allMags select _index)) exitWith {_nextMuzzle = _allMuzzles select _index; breakTo "SearchMain"};
|
|
} count _magazines;
|
|
};
|
|
|
|
_nextMuzzle
|