Перейти к публикации
Внимание! В связи с переходом на новую версию движка, сайт будет находиться в разработке! Все косяки в скором времени уберутся!

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

  • Создатель

Статья была написана под версию 1.0.5.1, но в 1.0.6.2 она тоже работает, только возможно немного отличаются классы!

 

1. Усиление атаки зомби:

Нам понадобятся из dayz_code\compile файлы player_zombieAttack.sqf и fn_damageHandler.sqf
Первый - отвечает за дамаг который наносят зомби, второй - за получаемый дамаг игроком

 

player_zombieAttack.sqf:

Находим строку _damage = 0.1 + random (1.2); обратите внимание что их в скрипте 2
Эта строка означает что зомби нанесет от 0.1 до 1.3 дамага * 200 (об этой цифре ниже) то есть от 20 до 260. Меняем значения на то как вам хочется, можно и вовсе убрать рандом а сделать постоянный урон.


fn_damageHandler.sqf:
тут есть строка _scale = 200, это и есть те 200 на которые умножается дамаг зомби. Можно просто поменять значение 200 на другое, но после определенных тестов стало понятно что это изначальный урон получаемый игроком и используется не только зомби, так что при изменении этой цифры вы увеличите общий урон по игроку от всего.
Так же ниже вы найдете такой кусок кода:

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

Тут говорится о том что при попадании в конечности если источник урона зомби, то по ногам дамаг делится на 6 по остальным конечностям делится на 4, все остальные источники урона наносят дамаг по конечностям делимый на 2. Так же меняете как вам хочется.

При значительном усилении зомби, вам может не понравится что с каждого удара который пришелся не по конечности а в туловище или в голову игрок будет терять сознание, тогда в самом низу вам нужно подредактировать код (в стадии тестирования):

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

В этом коде говорится что если не без сознания и удар пришелся не по конечности и составил более 2 единиц (как вы помните у нас изначально зомби наносят 0.1 - 1.3 ед урона) а так же если урон более 0.5 ед но пришелся в голову то игрок теряет сознание.
В таком случае мы меняем его таким образом:

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

ваше значение - минимальный урон в ед. в туловище полученный от зомби что бы игрок потерял сознание
ваше значение 2 - минимальный урон в ед. в голову полученный от зомби что бы игрок потерял сознание

Если так не работает можно еще поменять таким образом:

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

 

2. Убийство зомби (почти) только в голову:

Нам понадобится из  dayz_code\compile "кастомный" файл fn_damageHandlerZ.sqf

Он отвечает за получаемый урон зомбаками.

В 11 строку вставляем код ниже:

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

 

3. Изменение скорости зомби:

Скрытый текст

Для изменения скорости зомби нам понадобятся из dayz_code\compile "кастомные" файлы wild_spawnZombies.sqf и zombie_generate.sqf 
А так же "кастомный" zombie_agent.fsm из dayz_code\system
В wild_spawnZombies.sqf и zombie_generate.sqf нужно в самой нижней строке всего лишь поменять путь к "кастомному" zombie_agent.fsm
В zombie_agent.fsm изменяем через поиск все значения forcespeed = 2, таким образом все зомби будут передвигаться со скоростью и анимацией ходьбы. Другие значения еще не проверял, но по форумам пишут что если поставить больше 2 то будут бегать, так что ищу способы более полного контроля над их скоростью т.к. ходячие зомби слишком медлительные.

Скрытый текст

Находим файл configVariables.sqf который находится по пути @DayZ_Epoch\addons\dayz_code и находим строку:

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

1 число - минимальная скорость

2 число - максимальная скорость

4. Изменение лута зомби:

Для этого нам понадобятся кастомные таблицы лута, что бы их создать вам понадобится либо программа UnRap которая входит в состав Arma Tools или PBO executer который при распаковке сразу разбинаривает файл конфига.
Далее в корне dayz_code заходим в config.cpp (изначально он config.bin и его нужно разбинарить) и копируем классы: CfgLootSmall, CfgLoot, CfgBuildingLoot
и вставляем в новый файл, называем его LootTables.hpp и запихиваем в папку custom
Далее открываем description.ext и прописываем там в самом верху:

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

Далее идем либо в кастомный variables.sqf и меняем значение строчки DZE_MissionLootTable на true или в ините над "EpochEvents =" вставляем DZE_MissionLootTable = true;
Далее идем в наш config.cfg находим CfgVehicles и смотрим там строчки zombieLoot, значение этих строчек говорят как называется таблица лута которая используется для такого то зомби. Дальше идем в нашу кастомную таблицу лута, и смотрим такое значение в CfgLoot и редактируем, в конце прописываются в таком же порядке шансы спавна этого лута в зомби, так что не забываем добавлять\удалять шанс спауна.
Есть так же несколько классов которые помимо всего используются и для лута в зданиях, это: military, hunter, medical.
Для того что бы сделать эти таблицы раздельными, дублируем строки military, hunter, medical и называем их militaryB, hunterB, medicalB
После чего ниже в CfgBuildingLoot меняем во всех строках itemType где будут встречатся значения military, hunter, medical на militaryB, hunterB, medicalB
Вот пример:

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

меняем itemType таким образом:

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

 

5. Изменение кол-ва зомби:

Если вы выполнили пункт 4, то идем в "кастомные" таблицы и редактируем CfgBuildingLoot, если нет - создайте "кастомные" таблицы
Находим в CfgBuildingLoot строки maxRoaming = и minRoaming = (maxRoaming = есть не везде) maxRoaming - макс. кол-во зомби которые спавнятся у объекта, minRoaming - соответсвено минимальное.
Там же можно подкоректировать шанс спауна зомби в строке zombieChance от 0 до 1
а так же классы спавнящихся зомби в zombieClass

Теоретически что бы не замарачиватся вы можете создать кастомный building_spawnZombies.sqf и изменить строку _num = (round(random _max)) max _min; в ней говорится что кол-во зомби будет рандомное между значением min и макс.
Думаю можно к примеру подкоректировать таким образом: 

 _num = (round((random _max) * 2)) max (_min * 2);

 _num = (round(random (_max * 2))) max (_min * 2); 

 _num = ((round(random _max)) max _min) * 2; 
В первом варианте рандомное значение от 0 до того что записано в maxRoaming будет умножатся на 2, но будет не меньше чем значение записанное в minRoaming умноженое на 2
Во втором варианте рандомное значение  того что записано в maxRoaming умноженого на 2 но не менее  значения записанного в minRoaming умноженого на 2
В третьем варианте рандомное значение  того что записано в maxRoaming но не менее значения записанного в minRoaming и результат умножается на 2

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

Так же обращаю ваше внимание на то что если скажем где то отсутсвует значение minRoaming то оно использует то значение что записано в default, поясню:
в самом начале у нас есть класс Default, в нем есть стандартные значения minRoaming и maxRoaming, и все следующие классы пишутся таким образом class Office : Default, это значит что если нет новых значений в этом классе то используется Default.
В таком случае даже если вы поставите maxRoaming = 100 при шансе 100% есть 1% вероятности что заспавнится 0 зомби так как по формуле будет примерно следующее:
рандомное значение от 0 до 100 но не менее 0.
И тогда умножай не умножай а будет 0.

Что бы все это правильно работало нам нужно увеличить ограничения на спаун зомби либо в "кастомном" variavles.sqf либо скопировать соответсвующие строки в инит по примеру описанному в пункте 4.
dayz_maxLocalZombies - максимальное кол-во локальных зомби (как я понимаю на 1 объект)
dayz_maxGlobalZombiesInit - максимально кол-во глобальных сомби (как я понимаю либо на локацию либо если больше 1 игрока в локации)

dayz_maxGlobalZombiesIncrease - максимальное превышение предыдущего значения

dayz_maxZeds - максимальное кол-во одновременно существующих зомби на карте

 

Статья взята с сайта: s-platoon.ru

Понравилась статья? Поставь +

  • Лайк 1
Ссылка на сообщение
Поделиться на других сайтах
S-Platoon.ru
Свободное место
  • Модератор раздела

ну ты хорош)) лайк и уважуха) 

Ссылка на сообщение
Поделиться на других сайтах
  • Создатель
Только что, Dayz Epoch FG сказал:

ну ты хорош)) лайк и уважуха) 

Спасибо)

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

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

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

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

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

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

Войти

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

Войти сейчас
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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

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

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