Jump to content
DAYZ-CODE.RU - Создай свой игровой сервер

Спавн новых животных на сервер


Voody
 Share

Recommended Posts

Инструкция по базовой установке животных на сервер. (базовые понятия)
Задача дать начальные понятия в установке животных  на сервер. Вопросы лута, поведения, расстановки-не рассматриваем.
(визги и смешочки "олдфагов" вынесем за скобки, мы в курсе что когда вы начинали даже Богемии ещё не было)
Будем всё делать на основе примера мода, карты Чернорусь и согласно простому правилу "не думай что ты умнее бегемотов".
Берём общедоступный мод Radioactive Animals

Для начала просто подключаем мод к серверу (тестовому , то же правило-имейте сервер для тестов), после чего пытаемся заспавнить животных админкой. Получилось, животные ведут себя после спавна адекватно, нормально выглядят - идём дальше, если нет-жалуемся автору мода.
Открываем папку dayzOffline.chernarusplus и создаём папку mod (или как захотите, но без кириллицы). Открываем созданную папку.
Первая задача-создать файл "types" с новыми объектами. Иногда с модом идёт уже готовый файл. Если он есть-копируем его в папку. Можете переименовать его как хотите. (остальные действия настройки как при создании его с нуля).
Если его нет-не беда, нам нужно только узнать ID обьектов, а вот они то всегда есть в описании или в стиме или в папке с модом. (если нет, то только вскрыв мод или переписав значения при спавне админкой).
Мод из примера НЕ имеет готового тайпса. Но есть ID (класснеймы) в отдельном файле.
Создаём в папке mod файл Atypes.xml. Отрываем его, вставляем

Please Log in or Register to see this: Code

Верхней строчкой файл тайпс начинается, нижней заканчивается.
Список класснеймов мода
Radioactive_Bear_juggernaut
Radioactive_Bear_Beast
Radioactive_Bear_Tough
Radioactive_bear_pelt
Radioactive_Wolves_juggernaut
Radioactive_Wolf_Beast
Radioactive_Wolf_Tough
Radioactive_wolf_pelt
Radioactive_bear_Meat
Radioactive_wolf_Meat

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

Please Log in or Register to see this: Code

и подставляя класснеймы модовых животных заполняем созданный тайпс. В конце концов он примет вид

Please Log in or Register to see this: Spoiler

Можно изменить <lifetime>1800</lifetime> на любое значение какое захотите (максимум 3888000). Это время жизни вашего животного когда рядом нет игрока на дистанции из <saferadius> файла events.
После таким же способом добавляем шкуру и мясо. (опять таки копируем ванильное значение и меняем класснейм на модовый). В результате файл придёт к виду:

Please Log in or Register to see this: Spoiler

Проверяем кодировку, проверяем валидатором, (добавление-лично я проверяю окончания строчек чтобы они совпадали с ванильным файлом).
Основной файл для спавна создан. Теперь создаём файл событий.
Создаём в папке mod файл Aevents.xml . Открываем его, вставляем

Please Log in or Register to see this: Code

Верхней строчкой файл ивент начинается, нижней заканчивается.
У нас два вида животных-медведь и волк, в каждом из которых три класса. Тут важно сразу решить, какие у нас будут "ивенты". Один для одного вида или несколько для одного вида и каждого класса. Для примера делаем по событию для каждого вида. Открываем ванильный events.xml и копируем в созданный файл два ивента - медведя и волка.

Please Log in or Register to see this: Spoiler

Теперь меняем event name. Для животных он всегда должно начинаться с "Animal" . Называем соответственно (пример) AnimalBearA и AnimalWolfA .
Далее количество событий <nominal> котрое вам требуется.
Количество особей в "отряде". <min>  <max>.
Дистанции - расстояние до игрока, расстояние до другого "события", расстояние "уборки" события от игрока (начало отсчёта времени жизни).
Позиция. Оставляем , если хотим что бы событие спавнилось вне зависимости есть ли игрок рядом. Или делаем <position>player как у зомби, тогда спавн будет при приблежениии игрока.
Лимит....Приведу просто выдержку из одного описания

custom-limit refer to an external file like for animals territories.

child-limit refer to the min and max attributes of the each child.

parent-limit refer to the min and max attributes of the event itself.

mixed-limit is a mix of both child et parent.

То есть если берём что нужно (проще-для медведя что в ванили,для стайных-как у волков)
Актив-1 конечно...
Переделываем под модовые и получаем,

Please Log in or Register to see this: Code

Опять таки проверяем кодировку,валидатором и на соответствие с ванильным файлом. Даже если есть предоставленный автором мода готовый- просмотрите, поправите, исправите.
Теперь подключаем созданные файлы.
Открываем ванильный файл cfgeconomycore.xml
И вписываем между </defaults> и </economycore>

Please Log in or Register to see this: Code

Мы создали два подключаемых файла с тайпс и событиями и подключили их.
Открываем папку env и создаём два файла bearA_territories.xml и wolfA_territories.xml 
Это файлы территорий спавна. Один из способов их заполнить-работа через СУ Editor. Другой-вручную спавнится к каждой точке спавна и снимать координаты, в не зависимости как вы поступаете нужно сделать следующее.
ОТкрываем файл , к примеру , bearA_territories.xml
Заполняем его следующим образом.

Please Log in or Register to see this: Code

Так начинается и заканчивается этот файл, между ними вбиваем точки спавна. Для примера приведу ДВЕ точки спавна для ДВУХ событий.

Please Log in or Register to see this: Code

territory color="4291611852" - цветовой код для СЕ. Совет делать его не разным для всего события и уникальным.
zone name="Water" - название зоны спавна (не подтверждено-разные названия влияют на поведение животных после спавна)
далее идёт количество статических и динамических объектов при спавне (если в ивенте "лимит" ссылается на эти значения -сделать отличными от нуля)
Далее координаты точки и радиус в котором произойдёт спавн.
Ещё для примера wolfA_territories.xml

Please Log in or Register to see this: Code

Опять всё проверяем,кодировка, проверка, схожесть, проверяем, сохраняем
не делайте ошибки по типу 

Please Log in or Register to see this: Code

в таком виде это блок точек для ОДНОГО события. Но если у вас в планах именно так, то....почему и нет?)))

Теперь подключаем наши события из файла инит
Открываем ванильный файл cfgeventspawns.xml
И между <eventname="AnimalRoeDeer" /> и <event name="Animal Wolf" /> вписываем
    <event name="AnimalBearA" />
    <event name="AnimalWolfA" />

Название для ивента взяты из созданного нами файла Aevents.xml

(кодировка, проверка, схожесть, проверяем, сохраняем)
Открываем ванильный файл cfgenvironment.xml
В блок file path

Please Log in or Register to see this: Code

Мы указали на путь к файлам с точками спавна.
В блок с territory type вписываем

Please Log in or Register to see this: Code

Где
name= - общее имя для территорий животного (использую всегда окончание названия ивента -подобие ванили ибо там так)
behavior="DZWolfGroupBeh" - подключение поведения. должен совпадать с установками в самом моде. Да, можно попробовать волкам прописать модель поведения коровы.Не проверял.
file usable="bearA_territories подключение файла территории.
Проверяем, сохраняем, вайпаем сервер.
 Далее.....Всё. Быстрее сделать чем рассказать.

Почему файлы тайп с и ивент создаём сами и подключаем отдельно.
Одна цитата от "богемии"
because of a limit on xml file-size
Да и проще работать когда всё разложено по полкам.
Кому не удобно и просто лень-мешайте в одну кучу.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

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
 Share

×
×
  • Create New...