Скрипт подточен под ванильные модели и оружие RHS.
Автор: Sparker
PC_fn_check_if_unit_weapon_is_silent = { params ["_unit"]; if (primaryWeapon _unit isEqualTo "") exitWith { /// Выход, если основное оружие отсутствует: }; private ["_silencer","_audible_fire","_magazine","_ammo","_ammo_audible","_is_silent"]; _is_silent = false; _silencer = _unit weaponAccessories (currentWeapon _unit) select 0; /// Если есть прибор на стволе, проверка, не является ли он глушителем: if (_silencer != "") then { _audible_fire = getNumber (configfile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); if (_audible_fire < 0.5) then { _is_silent = true; }; } else /// Если прибора нет, проверка, не встроен ли глушитель в сам ствол (патроны для бесшумного оружия): { _magazine = currentMagazine (vehicle _unit); _ammo = getText (configFile >> "cfgMagazines" >> _magazine >> "ammo"); _ammo_audible = getNumber (configFile >> "cfgAmmo" >> _ammo >> "audibleFire"); if (_ammo_audible < 5.5) then { _is_silent = true; }; }; _is_silent; }; [_unit] call PC_fn_check_if_unit_weapon_is_silent; // _unit - имя переменной бойца