Получение списка классов всей техники/униформы/жилетов/шлемов. (включая модовскую)
Getting classes list of all vehicles/equipment/vests/helmets.
При работе с конфигами серверов, прописывании в них вещей и объектов, часто требуется собрать список всех классов вещей по категориям...
Кликать вручную в виртуальном арсенале или ставить технику в редакторе и копировать классы - это крайне долго и нудно.
Есть гораздо более быстрые и эффективные способы получить к себе в буфер обмена полные списки классов техники, экипировки и тд. Вот они:
Вывод в буфер всей наземной техники:
_configs = "getNumber (_x » 'scope') >= 2 AND configName _x isKindof 'Car'" configClasses (configFile » "CfgVehicles"); _classNames = _configs apply {configName _x}; copyToClipBoard str _classNames; hint str _classNames;
Вывод в буфер всей авиа техники:
_configs = "getNumber (_x » 'scope') >= 2 AND configName _x isKindof 'Air'" configClasses (configFile » "CfgVehicles"); _classNames = _configs apply {configName _x}; copyToClipBoard str _classNames; hint str _classNames;
Выводить можно и отдельно самолеты - Planes, вертолёты - Helicopters, и тд. Список всех базовых классов тут - https://forums.bohem...e-base-classes/
Вывод всех рюкзаков:
// maximumLoad != 0 removes backpacks for weapons (e.g. static weapons). _backpacksConfigs = "( getNumber ( _x » ""scope"" ) == 2 && { getNumber ( _x » ""isbackpack"" ) isEqualTo 1 && { getNumber ( _x » ""maximumLoad"" ) != 0 }})" configClasses ( configFile » "cfgVehicles"); _backpacks = []; { _bp = (configName _x) call BIS_fnc_basicBackpack; _backpacks pushback _bp; } forEach _backpacksConfigs; _names = []; { _name = _x; _names pushBack _name; _weight = (getNumber (configFile » "CfgVehicles" » _name » "mass")); _load = (getNumber (configFile » "CfgVehicles" » _name » "maximumLoad")); } forEach _backpacks; copyToClipBoard str _names; hint str _names;
Вывод всех жилетов:
_itemFilter = " ( getNumber ( _x » ""scope"" ) isEqualTo 2 && { getText ( _x » ""simulation"" ) isEqualTo ""Weapon"" && { getNumber ( _x » ""type"" ) isEqualTo 131072 && { getNumber ( _x » ""ItemInfo"" » ""type"" ) isEqualTo %1 } } })"; _allVests = (format [_itemFilter, 701]) configClasses ( configFile » "cfgWeapons" ); _names = []; { _name = configName (_x); _names pushBack _name; _weight = (getNumber (configFile » "CfgWeapons" » _name » "ItemInfo" » "mass")); _armor = (getNumber (configFile » "CfgWeapons" » _name » "ItemInfo" » "HitpointsProtectionInfo" » "Head" » "armor")); } forEach _allVests; hint str _names; copyToClipboard str _names;
Вывод всех шлемов:
_itemFilter = " ( getNumber ( _x » ""scope"" ) isEqualTo 2 && { getText ( _x » ""simulation"" ) isEqualTo ""Weapon"" && { getNumber ( _x » ""type"" ) isEqualTo 131072 && { getNumber ( _x » ""ItemInfo"" » ""type"" ) isEqualTo %1 } } })"; _allHelmets = (format [_itemFilter, 605]) configClasses ( configFile » "cfgWeapons" ); _names = []; { _name = configName (_x); _names pushBack _name; _weight = (getNumber (configFile » "CfgWeapons" » _name » "ItemInfo" » "mass")); _armor = (getNumber (configFile » "CfgWeapons" » _name » "ItemInfo" » "HitpointsProtectionInfo" » "Head" » "armor")); } forEach _allHelmets; hint str _names; copyToClipboard str _names;
Вывод всей униформы:
_configs = "getNumber (_x >> 'scope') >= 2 AND getText ( _x >> 'simulation' ) isEqualTo 'Weapon'" configClasses (configFile >> "CfgWeapons"); _classNames = _configs apply {configName _x}; _names = []; { _isUni = (_x call BIS_fnc_itemType) select 1; if (_isUni == "Uniform") then { _names pushBack _x; }; } forEach _classNames; copyToClipBoard str _names; hint str _names;