mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
742626ff1a
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
52 lines
1.3 KiB
Plaintext
52 lines
1.3 KiB
Plaintext
#include "..\script_component.hpp"
|
|
/*
|
|
* Author: mharis001
|
|
* Handles the player loadout changed event.
|
|
*
|
|
* Arguments:
|
|
* 0: Player <OBJECT>
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [player] call ace_intelitems_fnc_handleLoadout
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
params ["_player"];
|
|
|
|
private _allIndices = [];
|
|
|
|
// Handle magazine ids with missing index assignments
|
|
private _cfgMagazines = configFile >> "CfgMagazines";
|
|
private _magazines = magazines _player;
|
|
|
|
{
|
|
if (getNumber (_cfgMagazines >> _x >> QGVAR(intel)) == 1) then {
|
|
private _magazineIds = [_player, _x] call CBA_fnc_getMagazineIndex;
|
|
|
|
{
|
|
private _index = GVAR(intelMap) getVariable _x;
|
|
|
|
if (isNil "_index") then {
|
|
// Need new intel index from server
|
|
[QGVAR(handleMagIndex), _x] call CBA_fnc_serverEvent;
|
|
} else {
|
|
// Add valid index to array of all indices
|
|
_allIndices pushBack _index;
|
|
};
|
|
} forEach _magazineIds;
|
|
};
|
|
} forEach (_magazines arrayIntersect _magazines);
|
|
|
|
// Close any open controls if player no longer has needed magazine
|
|
{
|
|
private _index = _x getVariable QGVAR(index);
|
|
|
|
if !(_index in _allIndices) then {
|
|
[_x] call FUNC(deleteControl);
|
|
};
|
|
} forEach +GVAR(controlsGroups);
|