Скрипт подточен под ванильные модели и оружие 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 - имя переменной бойца











