Доброго времени суток товарищи.
Имеется данный код скрипта радиации.
private ["_rad_obj","_lasts","_Dr_h","_Dr_hx","_zr"]; _rad_obj = [b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46]; /// объекты излучающие радиацию b4 setvariable ["rad",400]; /// мощность излучения 400 ед. - если не присваивать мощность, то она будет 100 ед. _lasts = 0; dr_r = 0; /// полученная доза заражение игрока, /** мощность излучения объекта, расстояние излучения 100 ед = 100 м **/ #define dr (if (isnil {_x getvariable "rad"}) then {100} else {(_x getvariable "rad")}) for "" from 0 to 1 step 0 do { _Dr_h = 0; { _Dr_hx = 0; _zr = player distance _x; if (_zr < dr) then { _DR_hx = (floor (dr - _zr) / 10); /// уровень радиации объекта _DR_h = _DR_h + _DR_hx - (if (vehicle player != player) then {_DR_hx / 10} else {0}); /// общий уровень радиации, -10% если игрок в транспорте if (_DR_hx > dr_r) then { dr_r = dr_r + (_DR_hx / 1000) } }; } foreach _rad_obj; if (_Dr_h > 0) then { hintSilent parseText format ["<t color='#FFD500' shadow='1'>Радиация - %1 мкР<br/><t color='#61B35E'>Здоровье - %2%3<br/><t color='#FB3600'>Заражение - %4 мкР</t>", _DR_h, (1 - getDammage player) * 100, "%", dr_r];}; if (_Dr_h > 0) then { playsound "geiger" }; player setDammage ((getDammage player) + (dr_r / 1000)); sleep 1; };
Как сделать так, что если на игроке одета униформа ученого например, то доза полученой радиации будем меньше.
В данном куске кода прописано что если игрок в транспорте то получение дозы уменьшается на 10% иначе 0.
_DR_h = _DR_h + _DR_hx - (if (vehicle player != player) then {_DR_hx / 10} else {0}); /// общий уровень радиации, -10% если игрок в транспорте