Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Рекомендованные сообщения

На этот раз все проще. Радиация не накапливается, используются стандартные функции Эпоча радиации, которая включается за картой.

 

Установка:

 

  1. Ставим кастомный compiles
  2. В нем находим:
    player_spawn_2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_2.sqf";
    
    
  3. Изменяем на:

    player_spawn_2 = compile preprocessFileLineNumbers "ПУТЬДОФАЙЛА\player_spawn_2.sqf";
    
    
  4. Идем по пути \z\addons\dayz_code\system и копируем файл player_spawn_2.sqf

  5. В вашей миссии ставим маркер, где вы хотите разместить радиоактивное поле.

  6. Открываем player_spawn_2.sqf  и находим там:

    	        if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then {
                    DZE_InRadiationZone = true;
                };
    
    
  7. Ниже вставляем:

    			if ((player distance rad1) < 1000) then {
    			    DZE_InRadiationZone = true;
    			};
    
    
  8. где rad1 - имя маркера, 1000 - расстояние от маркера, на котором начнет действовать радиация.

Впринципе это все. Радиация слабая, если интересно, как можно модифицировать радиацию, то могу расписать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Так это надо отдельным аддоном. Я, конечно, могу сделать такое, но стоит ли?

 

П.С. В этом примере радиация не накапливается. Так же если надо, могу сделать накапливание

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так это надо отдельным аддоном. Я, конечно, могу сделать такое, но стоит ли?

 

П.С. В этом примере радиация не накапливается. Так же если надо, могу сделать накапливание

Я думаю стоит, даже если аддоном, очень надо, я пробовал, но у меня не получилось, а честно говоря мод сталкерский у меня и так стоит, так что все есть, я ставил твой гайд, все супер, но не смог прикрутить лечение, и рад  накапливается, я отбежал от радиактивного объекта, но рад есть и здоровье убавляется, нужно лечение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Я думаю стоит, даже если аддоном, очень надо, я пробовал, но у меня не получилось, а честно говоря мод сталкерский у меня и так стоит, так что все есть, я ставил твой гайд, все супер, но не смог прикрутить лечение, и рад накапливается, я отбежал от радиактивного объекта, но рад есть и здоровье убавляется, нужно лечение

Хорошо, завтра сделаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошо, завтра сделаю

Спасибо, буду ждать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так это надо отдельным аддоном. Я, конечно, могу сделать такое, но стоит ли?

 

П.С. В этом примере радиация не накапливается. Так же если надо, могу сделать накапливание

К стате, по поводу накапливания, я думаю надо сделать, так как если ты облучился то она должна быть, а то как то не правильно будет, подошел к объекту , тебя кусает, отошел ее нет, невообразимо, а так поймал рад, будь добр найти антирад и полечится

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К стате, по поводу накапливания, я думаю надо сделать, так как если ты облучился то она должна быть, а то как то не правильно будет, подошел к объекту , тебя кусает, отошел ее нет, невообразимо, а так поймал рад, будь добр найти антирад и полечится

Вся проблема в том, что никак не запишешь накопленную радиацию в бд, поэтому вся эта штука лечится перезаходом..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вся проблема в том, что никак не запишешь накопленную радиацию в бд, поэтому вся эта штука лечится перезаходом..

 

может попробовать замутить с переменной Medical,  она и связывается с базой данных, можно не показывать накопление а просто убывание здоровья, таким образом и будет запись

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

может попробовать замутить с переменной Medical,  она и связывается с базой данных, можно не показывать накопление а просто убывание здоровья, таким образом и будет запись

Не знаю. Надо смотреть. Завтра посмотрю, я уже пк выключил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже скажу по другому, у меня не используется значение Infected, и она свободна, может эту функцию задействовать, вот и будет связь с базой

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже скажу по другому, у меня не используется значение Infected, и она свободна, может эту функцию задействовать, вот и будет связь с базой

Сделал, гайд пилю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Пиши через ДЛЛ в ини.

Да я нашел dll с 999М ключом, но я так и не понял, как пользоваться им

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Пиши через мою ДЛЛ)

Да мне хочется, чтобы все в одном месте было.. Так то я твою длл уже в своем моде использую)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пиши через мою ДЛЛ)

что будет если ини начнет весить 5+ метров? а если 10? а если захочется удалить ненужные записи.

я так тонко намекаю что луче все таки sql для таких задач.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: nikolya200
      Подскажите как убрать радиацию с северной части карты. Карта напф. Северная часть острова вся фонит! Никаких скриптов связанных с радиацией я не ставил!
    • Автор: DrSova
      На этот раз еще более расширенная версия радиации, использующая переменную Infected (по просьбе трудящихся). Запоминается после рестарта, сохраняет полученную радиацию после выхода из зоны, лечится специальными "колесами". Итак, приступим к установке.
       
      Установка:
      Качаем этот аддон (противорадиационные таблетоны): https://www.dropbox.com/s/q8gvl2tzmg7rw3q/DAPMISC.rar?dl=0 Находим player_spawn_2.sqf, что лежит по пути dayz_code\system Открываем его, в самом верху пишем: DR_RadiationZone = false; DZ_Rad = false; Далее находим строчку
      DZE_InRadiationZone = false; Ниже прописываем:
      DR_RadiationZone = false; Далее там же ищем строчку:
      if((_outsideMap || DZE_Quarantine) && !r_player_dead && !isNull (findDisplay 46)) then { DZE_InRadiationZone = true; }; Ниже прописываем (Зона радиации):
      if ((player distance rad1) < 1000) then { DR_RadiationZone = true; }; Находим это условие:
      if (DZE_InRadiationZone) then { После завершения этого условия вставляем:
      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]; }; }; Далее находим файл player_useMeds.sqf по пути dayz-code\actions
      Находим в нем строчки:
      case "ItemBloodbag": { _id = [0,0,0,[player]] execVM "\z\addons\dayz_code\medical\self_transfusion.sqf"; }; После них вставляем:
      case "ItemAntirad": { _id = [0,0,0,[player]] execVM "\z\addons\dayz_code\medical\antirad.sqf"; }; Качаете этот файл и закидываете по пути dayz\medical
      Профит.
       
    • Автор: 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.
       
       
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.