Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe

Recommended Posts

На этот раз еще более расширенная версия радиации, использующая переменную Infected (по просьбе трудящихся). Запоминается после рестарта, сохраняет полученную радиацию после выхода из зоны, лечится специальными "колесами". Итак, приступим к установке.

 

Установка:

  1. Качаем этот аддон (противорадиационные таблетоны): https://www.dropbox.com/s/q8gvl2tzmg7rw3q/DAPMISC.rar?dl=0
  2. Находим player_spawn_2.sqf, что лежит по пути dayz_code\system
  3. Открываем его, в самом верху пишем:
    DR_RadiationZone = false;
    DZ_Rad = false;
    
    
    
    
  4. Далее находим строчку

    DZE_InRadiationZone = false;
    
    
  5. Ниже прописываем:

    DR_RadiationZone = false;
    
    
  6. Далее там же ищем строчку:

    			if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then {
    				DZE_InRadiationZone = true;
    			};
    
    
  7. Ниже прописываем (Зона радиации):

    			if ((player distance rad1) < 1000) then {
    			    DR_RadiationZone = true;
    			};
    
    
  8. Находим это условие:

    	if (DZE_InRadiationZone) then {
    
    
  9. После завершения этого условия вставляем:

    if (DR_RadiationZone) then {
    
    		_radsound = "radzone1";
    		_bloodloss = 50;
    		if(_radTimer > 5 && _radTimer < 10) then {
    			_radsound = "radzone2";
    			_bloodloss = 100;
    			DZ_Rad = true;
    		};
    		if(_radTimer > 10) then {
    			_radsound = "radzone3";
    			_bloodloss = 150;
    			DZ_Rad = true;
    		};
    		if(_radTimer > 15) then {
    			_radsound = "radzone4";
    			_bloodloss = 200;
    			DZ_Rad = true;
    		};
    		_result = r_player_blood - _bloodloss;
    		if (_result < 0) then {
    			_id = [player,"rad"] spawn player_death;
    		} else {
    			r_player_blood = _result;
    		};
    		addCamShake [2, 1, 25];
    		[player,_radsound,0,true] call dayz_zombieSpeak;
    		r_player_infected = true;
    		player setVariable["USEC_infected",true,true];
    		_radTimer = _radTimer + 1;
    	} else {
    		_radTimer = 0;
    		if (DZ_Rad) then {
    		_bloodloss = 50;
    		_result = r_player_blood - _bloodloss;
    		r_player_blood = _result;
    		addCamShake [2, 1, 25];
    		};
    		
    	};
    
    
  10. Далее находим файл player_useMeds.sqf по пути dayz-code\actions

  11. Находим в нем строчки:

    	case "ItemBloodbag": {
    		_id = [0,0,0,[player]] execVM "\z\addons\dayz_code\medical\self_transfusion.sqf";
    	};
    
    
  12. После них вставляем:

    	case "ItemAntirad": {
    		_id = [0,0,0,[player]] execVM "\z\addons\dayz_code\medical\antirad.sqf";
    	};
    
    
  13. Качаете этот файл и закидываете по пути dayz\medical

  14. Профит.

 

Share this post


Link to post
Share on other sites



Сова, есть еще вопрос к тебе, ты наверное видел аномалии, сравнить с сталкерскими ( оригинальными) это небо и земля, вопрос такого рода, возможно ли как то приблизить анимацию аномалий как в оригинале Сталкера, а то какие то стремные, чесно говоря я даже отключаю их, так как портят всю картину

Edited by Alex39 (see edit history)

Share this post


Link to post
Share on other sites

 

Сова, есть еще вопрос к тебе, ты наверное видел аномалии, сравнить с сталкерскими ( оригинальными) это небо и земля, вопрос такого рода, возможно ли как то приблизить анимацию аномалий как в оригинале Сталкера, а то какие то стремные, чесно говоря я даже отключаю их, так как портят всю картину

Хм, хз. Сделать то можно, но нужны модели партиклов, из чего будет состоять аномалия

Share this post


Link to post
Share on other sites

Заранее извиняюсь, может мой вопрос слишком нубасский, но дело в том что у меня не работает радиация. То есть её вообще нет на сервере, и за пределами карты, и на маркере, который был создан по этому гайду.. Всё остальное работает, точнее антирад добавился, и функция к нему. Я даже на его основе запилил сталкерскую аптечку вместо самозаливки, но сейчас не об этом... Может кто то сталкивался с подобным? Может быть сама радиация отключена где то в конфигах по умолчанию, или еще что то?

Share this post


Link to post
Share on other sites

Заранее извиняюсь, может мой вопрос слишком нубасский, но дело в том что у меня не работает радиация. То есть её вообще нет на сервере, и за пределами карты, и на маркере, который был создан по этому гайду.. Всё остальное работает, точнее антирад добавился, и функция к нему. Я даже на его основе запилил сталкерскую аптечку вместо самозаливки, но сейчас не об этом... Может кто то сталкивался с подобным? Может быть сама радиация отключена где то в конфигах по умолчанию, или еще что то?

Это дополнение к основным файлам, лечение, тебе надо еще поставить версию 2 или 1

Share this post


Link to post
Share on other sites

Это дополнение к основным файлам, лечение, тебе надо еще поставить версию 2 или 1

Так и сделал, по гайду радиация [ver.2] и плюс этот. Лечение то как раз работает, а вот самой радиации нет, нигде

Share this post


Link to post
Share on other sites

Так и сделал, по гайду радиация [ver.2] и плюс этот. Лечение то как раз работает, а вот самой радиации нет, нигде

Значит что то пропустил с установкой, я ставил , 100% работает и кусает

Share this post


Link to post
Share on other sites

Значит что то пропустил с установкой, я ставил , 100% работает и кусает

то-то и оно, что дело не в том что пропустил, и не в гайдах этих, а в том что радиации нет и без них... Если я правильно понял, то она вшита в epoch, и кусать должна если попадаешь за границу карты, прописанную в ините миссии:

 

dayz_MapArea = 8000; // Default = 10000

 

а она   :nuke:  не кусает, хоть на 70000 от центра уплывай :wallbash:  :confused:

Share this post


Link to post
Share on other sites

то-то и оно, что дело не в том что пропустил, и не в гайдах этих, а в том что радиации нет и без них... Если я правильно понял, то она вшита в epoch, и кусать должна если попадаешь за границу карты, прописанную в ините миссии:

 

dayz_MapArea = 8000; // Default = 10000

 

а она   :nuke:  не кусает, хоть на 70000 от центра уплывай :wallbash:  :confused:

у тебя присутствует 8й пункт?

Share this post


Link to post
Share on other sites

у тебя присутствует 8й пункт?

Да, 8ой присутствует.

Единственная разница в 6ом пункте у меня написано не

 

 

if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then {

                DZE_InRadiationZone = true;

            };

 

а

 

 

if(_outsideMap OR DZE_Quarantine) then {

                DZE_InRadiationZone = true;

            };

 

Вот сейчас проверил на другой карте, взял черно, там есть радиация за картой, а на намальске почему то нету. Это может быть как-то связанно с картой?

Edited by Arnoldo (see edit history)

Share this post


Link to post
Share on other sites

Да, 8ой присутствует.

Единственная разница в 6ом пункте у меня написано не

 

 

if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then {

DZE_InRadiationZone = true;

};

 

а

 

 

if(_outsideMap OR DZE_Quarantine) then {

DZE_InRadiationZone = true;

};

Что странно. У тебя нет условия на радиацию за картой. Мб старая версия эпоча?

Share this post


Link to post
Share on other sites

Что странно. У тебя нет условия на радиацию за картой. Мб старая версия эпоча?

Я тоже так подумал, вчера пробовал 1.0.5.1, но на ней почему то намальск не работал вообще, хотя его тоже заново ставил. А сейчас вернулся к старой 1.0.4.2а

Share this post


Link to post
Share on other sites

 

Я тоже так подумал, вчера пробовал 1.0.5.1, но на ней почему то намальск не работал вообще, хотя его тоже заново ставил. А сейчас вернулся к старой 1.0.4.2а

Ну как там на 1.0.4.2 я не знаю.

Share this post


Link to post
Share on other sites

Ну как там на 1.0.4.2 я не знаю.

То есть, если я праильно понимаю, этот гайд под 1.0.5 расчитан? 

Share this post


Link to post
Share on other sites

То есть, если я праильно понимаю, этот гайд под 1.0.5 расчитан? 

Естественно

Share this post


Link to post
Share on other sites

На намальск бы поставить)

Share this post


Link to post
Share on other sites

народ хелп! у кого остались прикрепленные файлы? поделитесь пожалуйста

Share this post


Link to post
Share on other sites

Спасибо очень годная вещь,установил к себе на сервер,а как то можно сделать что бы она наносила урон?

Share this post


Link to post
Share on other sites
28.01.2015 в 20:36, DrSova сказал:

DR_RadiationZone = false


файл нельзя скачать у когото еше остался?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By nikolya200
      Подскажите как убрать радиацию с северной части карты. Карта напф. Северная часть острова вся фонит! Никаких скриптов связанных с радиацией я не ставил!
    • By DrSova
      На этот раз все проще. Радиация не накапливается, используются стандартные функции Эпоча радиации, которая включается за картой.
       
      Установка:
       
      Ставим кастомный compiles В нем находим: player_spawn_2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_2.sqf"; Изменяем на:
      player_spawn_2 = compile preprocessFileLineNumbers "ПУТЬДОФАЙЛА\player_spawn_2.sqf"; Идем по пути \z\addons\dayz_code\system и копируем файл player_spawn_2.sqf
      В вашей миссии ставим маркер, где вы хотите разместить радиоактивное поле.
      Открываем player_spawn_2.sqf  и находим там:
              if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then {                 DZE_InRadiationZone = true;             }; Ниже вставляем:
      if ((player distance rad1) < 1000) then { DZE_InRadiationZone = true; }; где rad1 - имя маркера, 1000 - расстояние от маркера, на котором начнет действовать радиация.
      Впринципе это все. Радиация слабая, если интересно, как можно модифицировать радиацию, то могу расписать.
    • By DrSova
      Делаю собственный дейз, решил сделать там радиоактивные зоны. Поделюсь с вами.
       
      Собственно, "фиачерс" этой штуки:
      Поражает радиацией в радиусе 100м от объекта излучения. Накапливает радиацию. Чем больше радиация, тем быстрее отнимается кровь. Можно ставить несколько рад. объектов. В машине действие радиации слабее. Минусы:
      Пока я не научился записывать количество принятой дозы в БД Сложности с "очищением" - лично у меня на сервере это специальный доктор, в моде - таблетки от радиации и водка. Вот видео, в котором, впринципе, показано, как работает:
       

       
      Установка:
       
      Создаем в корневой папке миссии файл radiation.sqf. Прописываем в него:  
      private ["_rad_obj","_lasts","_Dr_hx","_zr","_dam"]; _rad_obj = [b1,b2]; /// объекты излучающие радиацию b4 setvariable ["rad",2000]; /// мощность излучения 2000 ед. - если не присваивать мощность, то она будет 100 ед. _lasts = 0; dr_r = 0; /// полученная доза заражение игрока, -10% если игрок в транспорте /** мощность излучения объекта, расстояние излучения 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}); /// общий уровень радиации if (_DR_hx > dr_r) then { dr_r = dr_r + (_DR_hx / 100) } }; } foreach _rad_obj; if (time - _lasts > 4 and Dr_h > 0) then { _lasts = time; playsound "geiger"; }; r_player_blood = r_player_blood - (dr_r*105); sleep 1 }; Идем в init.sqf и пишем в самом низу: [] execVM "radiation.sqf"; открываем mission.sqm и создаем там объекты, излучающие радиацию. Ну у меня это, например, выглядит так:
      class Item0 { position[]={9527.5195,139.98311,10154.777}; \\ координаты id=9; side="EMPTY"; vehicle="Barrel1"; \\ класс объекта skill=0.60000002; text="b2"; \\ обязательно название объекта, которое вы указали в скрипте }; class Item2 { position[]={9390.6074,139.98311,10121.055}; id=11; side="EMPTY"; vehicle="Barrel1"; skill=0.60000002; text="b1"; }; Открываем Description.ext и добавляем звук радиации: class CfgSounds { sounds[] = {geiger}; class geiger { name = "geiger"; sound[] = {"sfx\geiger.ogg", db-10, 1.0}; titles[] = {}; }; }; Качаем это и забрасываем в корень миссии.
            (Опционально) Можно добавить отображение уровня радиации и количество "принятой на грудь" в дебаг монитор, как у меня на видео. Для этого надо в вашем дебаг мониторе объявить 2 строчки:
      <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Уровень рад.: </t><t size='0.95' font='Bitstream' align='right'>%1 мкР</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Получено рад.: </t><t size='0.95' font='Bitstream' align='right'>%2 мкР</t><br/> и объявить переменные  DR_h, а затем dr_r. т.е например, как выглядит мой дебаг монитор:
      //Let Zeds know [player,4,true,(getPosATL player)] spawn player_alertZombies; while {debugMonitor} do { _time = (round(180-(serverTime)/60)); _hours = (floor(_time/60)); _minutes = (_time - (_hours * 60)); switch(_minutes) do { case 9: {_minutes = "09"}; case 8: {_minutes = "08"}; case 7: {_minutes = "07"}; case 6: {_minutes = "06"}; case 5: {_minutes = "05"}; case 4: {_minutes = "04"}; case 3: {_minutes = "03"}; case 2: {_minutes = "02"}; case 1: {_minutes = "01"}; case 0: {_minutes = "00"}; }; hintSilent parseText format [" <t size='1.25' font='Bitstream' align='center' color='#5882FA'>Server Name Here</t><br/> <t size='1.05' font='Bitstream' align='center' color='#5882FA'>Server Website Here</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'></t><t size='0.95 'font='Bitstream' align='right'></t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Players Online: </t><t size='0.95 'font='Bitstream' align='right'>%1</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Murders: </t><t size='0.95' font='Bitstream' align='right'>%3</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Bandits Killed: </t><t size='0.95' font='Bitstream' align='right'>%4</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Zombies Killed: </t><t size='0.95' font='Bitstream' align='right'>%2</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Humanity: </t><t size='0.95' font='Bitstream' align='right'>%6</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Blood: </t><t size='0.95' font='Bitstream' align='right'>%5</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>FPS: </t><t size='0.95' font='Bitstream' align='right'>%7</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Уровень рад.: </t><t size='0.95' font='Bitstream' align='right'>%10 мкР</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'>Получено рад.: </t><t size='0.95' font='Bitstream' align='right'>%11 мкР</t><br/> <t size='0.95' font='Bitstream' align='left' color='#FFBF00'></t><t size='0.95 'font='Bitstream' align='right'></t><br/> <t size='1.15' font='Bitstream'align='center' color='#5882FA'>TeamSpeak IP Here</t><br/> <t size='1.15' font='Bitstream'align='center' color='#5882FA'>Рестарт через %8:%9</t><br/>", (count playableUnits), (player getVariable['zombieKills', 0]), (player getVariable['humanKills', 0]), (player getVariable['banditKills', 0]), (player getVariable['USEC_BloodQty', r_player_blood]), (player getVariable['humanity', 0]), (round diag_fps), _hours, _minutes, DR_h, dr_r ]; //Don't modify below this line sleep 1; }; Profit!
       
      P.S.
      Радиоактивные объекты так же можно добавить через подкючение sqf файла, главное их обозвать так же, как вы указали в скрипте.
      Чтобы изменить радиус поражения, надо пересчитывать показатели, иначе будет либо сильная, либо слабая радиация.
      Чтобы обнулить заражение, надо использовать команду dr_r = 0; каким способом обнулять - это уже ваша фантазия.
      С данными настройками, радиация изжарит вас за минуты 2.
       
       
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.