54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
/*
|
|
File: fn_crawlAllItems.sqf
|
|
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
|
|
Date: 2020-04-19
|
|
Last Update: 2020-04-19
|
|
License: MIT License - http://www.opensource.org/licenses/MIT
|
|
|
|
Description:
|
|
Crawls through CfgWeapons, CfgMagazines, CfgVehicles and CfgGlasses to fetach all
|
|
weapon, magazine, item and backpack classnames available in the arsenal.
|
|
|
|
Parameter(s):
|
|
NONE
|
|
|
|
Returns:
|
|
Array of classnames for weapons, magazines, items and backpacks [ARRAY]
|
|
*/
|
|
|
|
private _weapons = [];
|
|
private _magazines = [];
|
|
private _items = [];
|
|
private _backpacks = [];
|
|
private _configClasses = [];
|
|
private _type = [];
|
|
|
|
{
|
|
_configClasses append (
|
|
"
|
|
_type = (configName _x) call BIS_fnc_itemType;
|
|
(getNumber(_x >> 'scope') isEqualTo 2) && !(((_type select 0) isEqualTo '') || ((_type select 0) isEqualTo 'VehicleWeapon'))
|
|
" configClasses _x
|
|
);
|
|
} forEach [
|
|
(configFile >> "CfgWeapons"),
|
|
(configFile >> "CfgMagazines"),
|
|
(configFile >> "CfgVehicles"),
|
|
(configFile >> "CfgGlasses")
|
|
];
|
|
|
|
private _classnames = _configClasses apply {configName _x};
|
|
|
|
{
|
|
_type = _x call BIS_fnc_itemType;
|
|
switch (_type select 0) do {
|
|
case "Weapon": {if ((_x call BIS_fnc_baseWeapon) isEqualTo _x) then {_weapons pushBackUnique _x;};};
|
|
case "Mine";
|
|
case "Magazine": {_magazines pushBackUnique _x;};
|
|
case "Item";
|
|
case "Equipment": {if ((_type select 1) isEqualTo "Backpack") then {_backpacks pushBackUnique _x;} else {_items pushBackUnique _x;};};
|
|
};
|
|
} forEach _classnames;
|
|
|
|
[_weapons, _magazines, _items, _backpacks]
|