Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
-
Объявления
-
⚙️ Новые онлайн-инструменты для DayZ 07/26/26
-
-
Похожие публикации
-
Автор:
Makliion
Всем добрый вечер..
У меня такой вопрос где найти или заказать скрипт для обыска зомбей & игроков
что-бы каждую вещь снимать через действие а не тупо через таб
Шлем отдельно
Рюкзак отдельно
ну и на все остальные слоты
искал долго не нашёл ничего
есть мод на обыск но он просто открывает инвентарь и все
-
Автор: paranoyk
Осветим вопрос по спавну плодо-овощной продукции и яблонево-грушевым деревьям.
Делаю мелкую инструкцию как сам выполняю нечто подобное если потребуется. Сразу оговорюсь-данное буквопечатание не является истиной в последний инстанции, вариантов исполнения может быть несколько, но старался привести всё как можно ближе к ванильному состоянию. Ибо Бегемоты должны быть повешены, но ваниль свята.
Для понимания как, что и зачем влияет на спавн яблоко-груш, мухоморов-рыжиков-начнём издалёка.
Все начинается и подчиняется своему ивенту из файла events.xml . Как и некоторые текстуры для спавна камней. Для яблонь это будет -
<event name="TrajectoryApple"> - название ивента <nominal>140</nominal> - одновременное колличество ивентов на карту <min>2</min> <max>4</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>25</saferadius> <distanceradius>100</distanceradius> <cleanupradius>25</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="0"/> <position>player</position> <limit>mixed</limit> <active>1</active> - вкл/выкл ивента <children> <child lootmax="0" lootmin="0" max="0" min="0" type="Apple"/> - что именно будет спавнить ивент. </children> </event> (лутом могут быть как плоды, так и грибы или другое)
Как видим эти ивенты начинаются на Trajectory, то есть если захотите спавнить под сломанными дубами помидор - начинаем TrajectoryDubb....и так далее.
Все эти ивенты включают спавн "сеток лута" (массива координат для определённой точки) в файле mapclusterproto.xml
В самом начале идёт перечисление по типу
<export name="PathD10" shape="dz\structures\Roads\Parts\path_dirt_10.p3d" /> <export name="PathD10" имя сетки лута в этом файле shape="dz\structures\Roads\Parts\path_dirt_10.p3d" ID объекта к которому привязана данная сетка лута /> То есть если делаем что то новое, то прописываем в этом начальном блоке.
Яблони там прописаны как
<export name="AppleTree1" shape="dz\plants\tree\t_malusDomestica_1s.p3d" /> <export name="AppleTree2" shape="dz\plants\tree\t_malusDomestica_2s.p3d" /> <export name="AppleTree3" shape="dz\plants\tree\t_malusDomestica_3s.p3d" /> Переводим.... Для обьекта на карте t_malusDomestica_1s.p3d соответсвует массив координат спавна лута AppleTree1 и т.д. И видим ниже где яблони, где груши, где грибы....
<cluster name="AppleTree1" lootmax="2" maxinstances="150"> имя кластера котрое зарегестрировано выше с привязкой к объекту, колличество лута на нём и максимальное количество экземпляров <de name="TrajectoryApple" /> Имя ивента из events.xml <container name="branch" lootmax="1"> - (чисто догадка) название того что можно срезать с дерева за раз, именно срезать. <point pos="-1.86 -2.40 0.12" range="0.55" height="1.63" flags="32" /> - точки спавна "дочерних обьектов" в данном случае яблок-прописано опять таки events.xml. Флаг 32 указывает спавн на поверхности без учёта вертикальной координаты обьекта <point pos="0.51 -2.40 0.85" range="0.55" height="1.63" flags="32" /> <point pos="0.15 -2.40 -0.57" range="0.55" height="1.63" flags="32" /> <point pos="-1.09 -2.40 1.47" range="0.55" height="1.63" flags="32" /> </container> </cluster> Так это наш ивент с "траекторией! И ему соответствует целых три дерева зарегистрированных выше -
То есть по ними и будут спанится дочерние объекты,яблоки...
А где именно эти деревья?...Открываем, не не открываем, чисто поверьте, они все в файлах
mapgroupcluster01.xml
mapgroupcluster02.xml
mapgroupcluster03.xml
mapgroupcluster04.xml
Так и называются AppleTree1,AppleTree2 и т.д.
То есть хотите ввести новые точки-открываете 04 (советую именно его, остальные забиты по максимуму) и вписываете, принцип тот что и для обычного лута и mapgrouppos.
Это теория "что, где, когда и за что". Но вы же хотите "рощи грибов и поля яблок"....
Спавн деревьев и кустарника с шиповником и прочей бузиной.
Самый сложный вопрос, так как что и каким способом делать предрешает некоторые последующие шаги. Но...по ванили.
Используемые объекты для ванили
t_malusDomestica_1s.p3d - яблоня
t_malusDomestica_2s.p3d- яблоня
t_malusDomestica_3s.p3d- яблоня
t_pyrusCommunis_3sb.p3d - груша
t_pyrusCommunis_2s.p3d - груша
t_pyrusCommunis_3s.p3d - груша
t_prunusDomestica_2s.p3d -слива
b_rosaCanina_1s.p3d- шиповник
b_rosaCanina_2s.p3d - шиповник
b_sambucusNigra_1s.p3d - чёрная....бузина, смородина, вообщем поняли
b_sambucusNigra_2s.p3d - чёрная бузина.
Но заспавнить их эдитором будет....немного геморройно ввиду отсутствия присутствия их в списке. Запускаем эдитор с модом Builderitems.
Спавним к примеру bldr_plnt_t_malusDomestica_1s. Всё норм...(в принцепе если вам не нужно это дерево рубить, или сдирать с него кору можно так и оставить, всё что ниже-для перфекционистов)
Вроде всё красиво, сохраняем в формат json. Получаем нечто похожее на
{ "name": "bldr_plnt_t_malusDomestica_1s", "pos": [ 4639.68017578125, 341.9044494628906, 10087.6708984375 ], "ypr": [ 0.0, -0.0, -0.0 ], "scale": 0.9999998807907105, "enableCEPersistency": 0 } Но нам же нужен p3d. Меняем bldr_plnt_t_malusDomestica_1s на полный ванильный аналог DZ\\plants\\tree\\t_malusDomestica_1s.p3d
Получаем
{ "name": "DZ\\plants\\tree\\t_malusDomestica_1s.p3d", "pos": [ 4639.68017578125, 341.9044494628906, 10087.6708984375 ], "ypr": [ 0.0, -0.0, -0.0 ], "scale": 0.9999998807907105, "enableCEPersistency": 0 } Что ж попробуем заспавнить....
слева - bldr , справа - что получится после замены.
Дерево "подпрыгнуло", да, это недоработка мода bilderitems и эдитора -не соответствие координат деревьев, камней и прочего. (ну и бегемоты конечно копыто своё приложили). Как его опустить- ваш выбор, кто вручную каждому дереву отнимает вертикальную координату, ( примечательно что для каждого обьекта она может быть своя), кто ищет сторонние программы-не суть, главное его приземлить. Вот три вида яблони "после приземления", грубо говоря от вертикали у каждой вычитаем 2,8. В ФАЙЛЕ!!!! и там же сохраняем.
Но стоит вам к примеру удалить левое дерево и СОХРАНИТЬ файл в Эдиторе по новой-деревья опять стартуют в небо. "Великий Эдитор" как был кривой, так и остался..... Как бы то не было вы спавните нужны вам деревья.
"DZ\\plants\\tree\\t_malusDomestica_2s.p3d"
"DZ\\plants\\tree\\t_malusDomestica_3s.p3d"
"DZ\\plants\\tree\\t_malusDomestica_1s.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_3sb.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_3s.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_2s.p3d"
"DZ\\plants\\tree\\t_prunusDomestica_2s.p3d"
"DZ\\plants\\bush\\b_rosacanina_1s.p3d"
DZ\\plants\\bush\\b_rosacanina_2s.p3d"
"DZ\\plants\\bush\\b_sambucusnigra_1s.p3d"
"DZ\\plants\\bush\\b_sambucusnigra_2s.p3d"
Почему ИМЕННО эти. Потому что они прописаны в mapclusterproto.xml, захотите другие-придётся их прописать. (не пробовал прописать bldr-деревья, но думаю возможно).
В результате Вы получили файл json c спавном, подключили его....Осталось или вручную вписывать в mapgroupcluster координаты деревьев
по типу
<group name="AppleTree2" pos="12641.767578 184.586121 4363.043457" a="90.000000" /> AppleTree2 название массива координат соответсвующее обьекту 12641.767578 184.586121 4363.043457- координаты этого объкта "а"....угол поворота массива координат лута относительно объекта....вычисление описано во многих источниках (имхо-для деревьев как то до лампады)
или вписать по типу как делали экспорт для обычного лута, (подробней- Справка Багемии )
GetCEApi().ExportClusterData(); // cluster-type map groups export (fruit trees etc.)
Не проверял, но возможно опять таки прописать центр круга и радиус где считают координаты, что может облегчить задачу.
Получаем в папке "экспорт" (подождите, процесс немного долгий) готовые файлы mapgroupcluster с вашими координатам, вставляем их на сервер, стриаем строчку из инит, вайпаем сервер...Всё.
(проверено, ванильные кастомные деревья так же работают и в моде на тряску деревьев).
А теперь заслушаем начальника транспортного цеха....
Запрещено копирование данной статьи без согласования с Администрацией и автором на другие ресурсы. All Rights Reserved ©
-
Автор: eas1ly
Привет, думаю многим администраторам серверов понадобится, этот мод позволяет ограничить "агр" зомби на людей с надетыми определенными шмотками.
Т.к. автор модификации разрешает, перепаковку и изменение его мода, объясню вам как поменять повязку (дефолтное что отключает агр зомби) на условно админскую шмотку надетую на игрока.
Это делается очень просто:
-
Автор: paranoyk
©
Инструкция по базовой установке животных на сервер. (базовые понятия)
Задача дать начальные понятия в установке животных на сервер. Вопросы лута, поведения, расстановки-не рассматриваем.
(визги и смешочки "олдфагов" вынесем за скобки, мы в курсе что когда вы начинали даже Богемии ещё не было)
Будем всё делать на основе примера мода, карты Чернорусь и согласно простому правилу "не думай что ты умнее бегемотов".
Берём общедоступный мод Radioactive Animals
Для начала просто подключаем мод к серверу (тестовому , то же правило-имейте сервер для тестов), после чего пытаемся заспавнить животных админкой. Получилось, животные ведут себя после спавна адекватно, нормально выглядят - идём дальше, если нет-жалуемся автору мода.
Открываем папку dayzOffline.chernarusplus и создаём папку mod (или как захотите, но без кириллицы). Открываем созданную папку.
Первая задача-создать файл "types" с новыми объектами. Иногда с модом идёт уже готовый файл. Если он есть-копируем его в папку. Можете переименовать его как хотите. (остальные действия настройки как при создании его с нуля).
Если его нет-не беда, нам нужно только узнать ID обьектов, а вот они то всегда есть в описании или в стиме или в папке с модом. (если нет, то только вскрыв мод или переписав значения при спавне админкой).
Мод из примера НЕ имеет готового тайпса. Но есть ID (класснеймы) в отдельном файле.
Создаём в папке mod файл Atypes.xml . Отрываем его, вставляем
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> </types> Верхней строчкой файл тайпс начинается, нижней заканчивается.
Список класснеймов мода
Radioactive_Bear_juggernaut
Radioactive_Bear_Beast
Radioactive_Bear_Tough
Radioactive_bear_pelt
Radioactive_Wolf_juggernaut
Radioactive_Wolf_Beast
Radioactive_Wolf_Tough
Radioactive_wolf_pelt
Radioactive_bear_Meat
Radioactive_wolf_Meat
Их нам внести в нами созданный файл, плохо что нет описания, что куда, но....ясно что у нас животные, их шкуры и мясо. С начало вносим животных. Из ванильного, серверного тайпс копируем значения для любого животного, к примеру
<type name="Animal_BosTaurusF_Brown"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> и подставляя класснеймы модовых животных заполняем созданный тайпс. В конце концов он примет вид
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> </types> Можно изменить <lifetime>1800</lifetime> на любое значение какое захотите (максимум 3888000). Это время жизни вашего животного когда рядом нет игрока на дистанции из <saferadius> файла events.
После таким же способом добавляем шкуру и мясо. (опять таки копируем ванильное значение и меняем класснейм на модовый). В результате файл придёт к виду:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> </type> <type name="Radioactive_bear_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_wolf_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_bear_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> <category name="food"/> </type> <type name="Radioactive_wolf_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> <category name="food"/> </type> </types>
Проверяем кодировку, проверяем валидатором, (добавление-лично я проверяю окончания строчек что бы они совпадали с ванильным файлом).
Основной файл для спавна создан. Теперь создаём файл событий.
Создаём в папке mod файл Aevents.xml . Отрываем его, вставляем
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> </events> Верхней строчкой файл ивент начинается, нижней заканчивается.
У нас два вида животных-медведь и волк, в каждом из которых три класса. Тут важно сразу решить, какие у нас будут "ивенты". Один для одного вида или несколько для одного вида и каждого класса. Для примера делаем по событию для каждого вида. Открываем ванильный events.xml и копируем в созданный файл два ивента - медведя и волка.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBear"> <nominal>0</nominal> <min>2</min> <max>2</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_UrsusArctos"/> </children> </event> <event name="AnimalWolf"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Animal_CanisLupus_Grey"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Animal_CanisLupus_White"/> </children> </event> </events> Теперь меняем 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 конечно...
Переделываем под модовые и получаем,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBearA"> <nominal>5</nominal> <min>1</min> <max>3</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>10</distanceradius> <cleanupradius>300</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_juggernaut"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Beast"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Tough"/> </children> </event> <event name="AnimalWolfA"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Radioactive_Wolf_juggernaut"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Beast"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Tough"/> </children> </event> </events> Опять таки проверяем кодировку,валидатором и на соответствие с ванильным файлом. Даже если есть предоставленный автором мода готовый- просмотрите, поправите, исправите.
Теперь подключаем созданные файлы.
Открываем ванильный файл cfgeconomycore.xml
И вписываем между </defaults> и </economycore>
<ce folder="mod"> <file name="Atypes.xml" type="types" /> <file name="Aevents.xml" type="events" /> </ce> Мы создали два подключаемых файла с тайпс и событиями и подключили их.
Открываем папку env и создаём два файла bearA_territories.xml и wolfA_territories.xml
Это файлы территорий спавна. Один из способов их заполнить-работа через СE Editor. (здесь нет описания) Другой-вручную спавнится к каждой точке спавна и снимать координаты, в не зависимости как вы поступаете нужно сделать следующее.
ОТкрываем файл , к примеру , bearA_territories.xml
Заполняем его следующем образом.
<?xml version="1.0" encoding="UTF-8"?> <territory-type> </territory-type> Так начинается и заканчивается этот файл, между ними вбиваем точки спавна. Для примера приведу ДВЕ точки спавна для ДВУХ событий.
<?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4897.5" z="13815" r="60"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="4997.5" z="13127.5" r="232.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="4960" z="13105" r="292.5"/> </territory> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="6030" z="11485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="6457.5" z="12210" r="210"/> </territory> </territory-type> territory color="4291611852" - цветовой код для СЕ. Совет делать его не разным для всего события и уникальным.
zone name="Water" - название зоны спавна (разные названия влияют на поведение животных после спавна, "Water","Rest","HuntingGround",Graze". использование зон куриц и кроликов и их действие на животных-непроверено)
далее идёт количество статических и динамических обьектов при спавне (если в ивенте "лимит" ссылается на эти значения -сделать отличными от нуля)
Далее координаты точки и радиус в котором произойдёт спавн.
Ещё для примера wolfA_territories.xml
<?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="4997.5" z="12927.5" r="200"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="5060" z="12805" r="292.5"/> </territory> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="7897.5" z="7515" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="7070" r="150"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7560" z="7105" r="250.5"/> </territory> </territory-type> Опять всё проверяем,кодировка, проверка, схожесть, проверяем, сохраняем
(не делайте ошибки по типу
<?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4897.5" z="13815" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="6030" z="13485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="6997.5" z="12127.5" r="232.5"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6960" z="12105" r="292.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6457.5" z="12210" r="210"/> </territory> </territory-type> в таком виде это блок точек для ОДНОГО события. Но если у вас в планах именно так, то....почему и нет?)))
Теперь подключаем наши события из файла инит
Открываем ванильный файл cfgeventspawns.xml
И между <event name="AnimalRoeDeer" /> и <event name="AnimalWolf" /> вписываем
<event name="AnimalBearA" />
<event name="AnimalWolfA" />
Названия для ивента взяты из созданного нами файла Aevents.xml
(кодировка, проверка, схожесть, проверяем, сохраняем)
Открываем ванильный файл cfgenvironment.xml
В блок file path
<file path="env/wolfA_territories.xml" /> <file path="env/bearA_territories.xml" /> Мы указали на путь к файлам с точками спавна.
В блок с territory type вписываем
<territory type="Herd" name="WolfA" behavior="DZWolfGroupBeh"> <file usable="wolfA_territories" /> </territory> <territory type="Herd" name="BearA" behavior="BlissBearGroupBeh"> <file usable="bearA_territories"/> </territory> Где
name= - общее имя для территорий животного (использую всегда окончание названия ивента -подобие ваниле ибо там так)
behavior="DZWolfGroupBeh" - подключение поведения. должен совпадать с установками в самом моде. Да, можно попробовать волкам прописать модель поведения коровы.Не проверял.
file usable="bearA_territories подключение файла территории.
Проверяем, сохраняем, вайпаем сервер.
Далее.....Всё. Быстрее сделать чем рассказать.
Почему файлы тайпс и ивент создаём сами и подключаем отдельно.
Одна цитата от "богемии"
because of a limit on xml file-size
Да и проще работать когда всё разложено по полкам.
Кому не удобно и просто лень-мешайте в одну кучу.
Все права принадлежат на публикацию данного материала принадлежат и автору ©
-
Автор:
blackredghost
Здравствуйте! Пытаюсь запустить сервер в Arma 3. Файлы миссии достались мне от разраба, который сейчас в очень тяжелом материальном положении.
Я плохо понимаю в Arma 3. Я БУДУ ОЧЕНЬ БЛАГОДАРЕН, если поможете мне разобраться как починить эту хрень. ДАЖЕ ДЕНЕГ ЗАПЛАЧУ!
Вот
Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
-
-
Наш выбор

Искал что-то подобное так и не нашел.
Как убрать вообще зомбей с сервера (EPOCH) ?
Пробовал через init.sqf
dayz_maxLocalZombies = 0;
dayz_maxGlobalZombiesInit = 0;
dayz_maxGlobalZombiesIncrease = 0;
dayz_maxZeds = 0;
Но всё равно есть 1-3 зомби.
Может кто знает другой варик?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах