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
paranoyk

Спавн новых животных на сервер. Краткая инструкция.

Recommended Posts

Posted (edited)

©

Инструкция по базовой установке животных на сервер. (базовые понятия)
Задача дать начальные понятия в установке животных  на сервер. Вопросы лута, поведения, расстановки-не рассматриваем.
(визги и смешочки "олдфагов" вынесем за скобки, мы в курсе что когда вы начинали даже Богемии ещё не было)
Будем всё делать на основе примера мода, карты Чернорусь и согласно простому правилу "не думай что ты умнее бегемотов".
Берём общедоступный мод 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" - название зоны спавна (не подтверждено-разные названия влияют на поведение животных после спавна)
далее идёт количество статических и динамических обьектов при спавне (если в ивенте "лимит" ссылается на эти значения -сделать отличными от нуля)
Далее координаты точки и радиус в котором произойдёт спавн.
Ещё для примера 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
Да и проще работать когда всё разложено по полкам.
Кому не удобно и просто лень-мешайте в одну кучу.


Все права принадлежат на публикацию данного материала принадлежат и автору  ©





 

Edited by paranoyk (see edit history)

Share this post


Link to post
Share on other sites



Posted (edited)

<child lootmax="0" lootmin="0" max="6" min="2" type="Animal_CanisLupus_Grey"/>

 

Тут указано количество max min в одной стае зверей. Я проверял. То есть в одной точке спавна сколько будет  появляться зверей.

Edited by zilon (see edit history)

Share this post


Link to post
Share on other sites

Хороший гайд, полезный. Спасибо за труды!

Share this post


Link to post
Share on other sites
Posted (edited)

Всё круто написано, но что то трава не растёт. Животные не спавнятся, перепробовал разные варианты, толку 0. В спавне только по 1 версии мишек из 3х доступных (купленный мод юзаю). Разбрасывает их по карте и спавнит при старте сервера а не от приближения игрока. Где капнуть? попал в замкнутый круг, хелп. Точки спавна писал через economy editor. Вайп делал. Расписал каждого мишку по отдельности, такой же эффект всего 3х спавнит. Ещё поймал модового зомби на хеликраше, просто стоящего столбом и получающего по щам от ванильных нпс. 

Edited by NGN (see edit history)

Share this post


Link to post
Share on other sites
16 часов назад, paranoyk сказал:

Файлы в студию.

Файлы уже ковырянные, изначально всё по гайду. Если нужно могу к исходнику согласно вышенаписанного переписать 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Share this post


Link to post
Share on other sites

@NGN 

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.

Мелкие правки, но по сути почти всё верно, личное

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Share this post


Link to post
Share on other sites
Posted (edited)
4 часа назад, paranoyk сказал:

@NGN 

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.

Мелкие правки, но по сути почти всё верно, личное

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

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

Edited by NGN (see edit history)

Share this post


Link to post
Share on other sites

Надеюсь "ужастиков" верно прописали точки спавна...по факту сначала добиваемся спавна, потом другие хотелки после изучения КАК и что делать. К тому же карта вносит свои коррективы.
Разные мишки в стае?...Да пожалуйста, Боссы? То же самое. Всё в вашей голове-описание как и что и почему есть тут и в тырнете (немного даже в ютубе). Просто делаем подобные вещи как в орегинале (НЕ карты, авторы иногда изгаляются что понять логику хуже чем перенедопить).

Share this post


Link to post
Share on other sites
Posted (edited)
46 минут назад, paranoyk сказал:

Надеюсь "ужастиков" верно прописали точки спавна...по факту сначала добиваемся спавна, потом другие хотелки после изучения КАК и что делать. К тому же карта вносит свои коррективы.
Разные мишки в стае?...Да пожалуйста, Боссы? То же самое. Всё в вашей голове-описание как и что и почему есть тут и в тырнете (немного даже в ютубе). Просто делаем подобные вещи как в орегинале (НЕ карты, авторы иногда изгаляются что понять логику хуже чем перенедопить).

Что касательно ужастиков, постараюсь сделать всё по образу и подобию, надеюсь что я не совсем ватный) За "astenic" отдельный респект, прикололся))) 

 

@paranoyk Закинул файлы на сервак, те же яйца только в профиль) 

Edited by NGN (see edit history)

Share this post


Link to post
Share on other sites

То есть новые совсем не спавнятся? И даже после вайпа?

Share this post


Link to post
Share on other sites
Posted (edited)

@paranoyk даже после вайпа, спавн был такой же как и до... только по 1 виду каждого кидает на карту. Сейчас добился того что спавнит всех но не по приближению игрока а при старте сервера,  fps уходит гулять... Можем созвониться в дискорде, я покажу что да как. 

Пытался как в ванильных файлах настроить, не хочет он принимать <position>player</position>

Edited by NGN (see edit history)

Share this post


Link to post
Share on other sites

Животные спавнятся в ареале который вы описываете в ЛЮБОЙ точке но не БЛИЖЕ чем заявлено в ивенте. Ну и карта.....там кажется то же крутить надо.
Если об медведях...То можно попробовать так
 

	<event name="AnimalBIG_BEAR">
        <nominal>2</nominal>
        <min>4</min>
        <max>6</max>
        <lifetime>3000</lifetime>
        <restock>0</restock>
        <saferadius>200</saferadius>
        <distanceradius>0</distanceradius>
        <cleanupradius>0</cleanupradius>
        <flags deletable="0" init_random="0" remove_damaged="0"/>
        <position>fixed</position>
        <limit>child</limit>
        <active>1</active>
        <children>
            <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear"/>
            <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Event_Ancient_Bear"/>
            <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Ancient_Bear_easy"/>
            <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear_Med"/>			
        </children>
    </event>

Хотя если вспомнить как спавнил на этой карте динозавров...с разнотипными были проблемы.

Share this post


Link to post
Share on other sites
5 минут назад, paranoyk сказал:

Животные спавнятся в ареале который вы описываете в ЛЮБОЙ точке но не БЛИЖЕ чем заявлено в ивенте. Ну и карта.....там кажется то же крутить надо.
Если об медведях...То можно попробовать так
 

<event name="AnimalBIG_BEAR"> <nominal>2</nominal> <min>4</min> <max>6</max> <lifetime>3000</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="0"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear"/> <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Event_Ancient_Bear"/> <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Ancient_Bear_easy"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear_Med"/> </children> </event>


	<event name="AnimalBIG_BEAR">
        <nominal>2</nominal>
        <min>4</min>
        <max>6</max>
        <lifetime>3000</lifetime>
        <restock>0</restock>
        <saferadius>200</saferadius>
        <distanceradius>0</distanceradius>
        <cleanupradius>0</cleanupradius>
        <flags deletable="0" init_random="0" remove_damaged="0"/>
        <position>fixed</position>
        <limit>child</limit>
        <active>1</active>
        <children>
            <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear"/>
            <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Event_Ancient_Bear"/>
            <child lootmax="0" lootmin="0" max="2" min="1" type="Animal_Ancient_Bear_easy"/>
            <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_Ancient_Bear_Med"/>			
        </children>
    </event>

Хотя если вспомнить как спавнил на этой карте динозавров...с разнотипными были проблемы.

Про заданный ареал я понимаю. Например заданный мной например 250 метров это площадь в которой в любом месте может появиться моб. По поводу кода event вроде уже так пробовал делать... проверю. Единственное что не пробовал, так это приписать уже к имеющимся "оленьим" точкам своих мобов и пусть будет рандом (или ваниль или кастом...). Наверно это единственный выход, на данный момент. Ну и задать вопрос джону маклейну, может что то действительно из за модовой карты не даёт

Share this post


Link to post
Share on other sites

Но у меня то спавнятся и пауки и коровы....в новых точках.

Share this post


Link to post
Share on other sites
11 часов назад, paranoyk сказал:

Но у меня то спавнятся и пауки и коровы....в новых точках.

Это конечно круто, что у тебя всё так как надо работает. Только от этого мне не легче) Ты говоришь что по приближению могут спавниться события с животными, другой информер говорит что только при старте сервера... А тем временем третьи сутки в пути, полёт пока в сомнительном направлении) 

Share this post


Link to post
Share on other sites

Будем считать что оба правы. Личные наблюдения могут и врать. По ходу с животными на козлином проблема , как стаю не пиши-спавнится один вид. Буду пробовать играться миксед-парент. По сути если переспавном животных нет после рестарта-отключен респавн, в зоне спавна спанится ещё что то и ...где-то что пошло не так. Бум пробовать. Кстати попробуйте уменьшить время жизни и животных и события. У меня нет ваших животных бум пробовать на радиоактивных. Опять таки находясь на сервере смотрите логи, кажется включил их.

 

Share this post


Link to post
Share on other sites

@paranoyk 

11 минут назад, paranoyk сказал:

Будем считать что оба правы. Личные наблюдения могут и врать. По ходу с животными на козлином проблема , как стаю не пиши-спавнится один вид. Буду пробовать играться миксед-парент. По сути если переспавном животных нет после рестарта-отключен респавн, в зоне спавна спанится ещё что то и ...где-то что пошло не так. Бум пробовать. Кстати попробуйте уменьшить время жизни и животных и события. У меня нет ваших животных бум пробовать на радиоактивных. Опять таки находясь на сервере смотрите логи, кажется включил их.

 

 

Уменьшил время жизни до <lifetime>3</lifetime> в events и types. не помогло, сейчас ещё попробую поиграть с <position> </position> при таком времени жизни, отпишусь.  

Share this post


Link to post
Share on other sites
1 час назад, NGN сказал:

@paranoyk 

 

Уменьшил время жизни до <lifetime>3</lifetime> в events и types. не помогло, сейчас ещё попробую поиграть с <position> </position> при таком времени жизни, отпишусь.  

Не выходит, хоть ты тресни. Пишу в 1 ивент мобов, спавнит в одной из четырёх возможных точек всех мобов из чаилд, хотя номинал 4 стоит , лайф тайм не считает. Уже и точки друг от друга разнёс что б не пересекались площади, хз как оно может мешать но сделал, нет толку. Есть у кого контакт шамана с бубном? 

Share this post


Link to post
Share on other sites
7 часов назад, NGN сказал:

@paranoyk 

 

Уменьшил время жизни до <lifetime>3</lifetime> в events и types. не помогло, сейчас ещё попробую поиграть с <position> </position> при таком времени жизни, отпишусь.  

Вставлю свои ИМХО в данную тему, не имея опыта в ней (по причине отсутствия сервера и времени): все правки lifetime restock с types применяются к НОВЫМ объектам (читай предметам, зданиям, тек5стуркам, ИИ, зомби и животным в том числе). Т.е. к тем что были на карте не применяются.
То что в events - применяется непосредственно к повторению самого события спавна, т.е. не к объектам спавна.

И да, советовал бы также свериться с темой-гайдом от людей, которые делали эти спавны уже и писали гайдик:

 

Share this post


Link to post
Share on other sites

@123new ....Это для ванили сработает, для чёртова козлиного острова-судя по всему нет. К тому же человек хочет изменить систему спавна.
Какие проблемы?..<limit>child</limit> НЕ РАБОТАЕТ на карте как надо .
@NGN  Могу подарить идею от соседа по палате? Не проверена на пациентах ...
А пропиши своих жывотных которые стайные как зомбей в ивенте и территории им в зомбячий файл....Или отдельный.
 

Share this post


Link to post
Share on other sites
13.08.2023 в 01:46, 123new сказал:

Вставлю свои ИМХО в данную тему, не имея опыта в ней (по причине отсутствия сервера и времени): все правки lifetime restock с types применяются к НОВЫМ объектам (читай предметам, зданиям, тек5стуркам, ИИ, зомби и животным в том числе). Т.е. к тем что были на карте не применяются.
То что в events - применяется непосредственно к повторению самого события спавна, т.е. не к объектам спавна.

И да, советовал бы также свериться с темой-гайдом от людей, которые делали эти спавны уже и писали гайдик:

 

Пока оставлю как есть, фул спавн при старте. Остальное буду модом допинывать. Спасибо за ответ!

Share this post


Link to post
Share on other sites
13.08.2023 в 17:20, paranoyk сказал:

@123new ....Это для ванили сработает, для чёртова козлиного острова-судя по всему нет. К тому же человек хочет изменить систему спавна.
Какие проблемы?..<limit>child</limit> НЕ РАБОТАЕТ на карте как надо .
@NGN  Могу подарить идею от соседа по палате? Не проверена на пациентах ...
А пропиши своих жывотных которые стайные как зомбей в ивенте и территории им в зомбячий файл....Или отдельный.
 

Я пока оставил это затею, горит немного с этого, да ещё и инфа прошла что "крепкий орешек" должен со следующей обновой пофиксить это, хз насколько это правда... Отойду немного и вновь продолжу, а то неделю убил, а  сервер не настроил. Спасибо за советы и желание помочь! У меня есть ещё пару вариантов как реализовать ванильный спавн, в том числе и попробую идею соседа по палате, если залетит тема то обязательно отпишу тут. 

Share this post


Link to post
Share on other sites
3 часа назад, NGN сказал:

Остальное буду модом допинывать

А это что ещё за колдунство?

Share this post


Link to post
Share on other sites
Только что, paranoyk сказал:

А это что ещё за колдунство?

@SpawnerBubaku 

 

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 daxters
      22:17:41 Error in expression <
      };
      };

      _blActivate = _this select 0;
      [_blActivate]spawn{
      VibrosStart = 1;
      _blA>
      22:17:41   Error position: <_blActivate]spawn{
      VibrosStart = 1;
      _blA>
      22:17:41   Error Undefined variable in expression: _blactivate
      22:17:41 File mpmissions\__cur_mp.chernarusredux\addons\blowout\module\blowout_client.sqf..., line 147
       
       
       
      22:17:47 Error in expression <t = 1;
      _blActivate = _this select 0;
      if(_blActivate == 0)then{
      [] spawn bl_detec>
      22:17:47   Error position: <_blActivate == 0)then{
      [] spawn bl_detec>
      22:17:47   Error Undefined variable in expression: _blactivate
      22:17:47 File mpmissions\__cur_mp.chernarusredux\addons\blowout\module\blowout_client.sqf..., line 150
       
       
      Как решить эти ошибки?
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By paranoyk
      Постоянный вопрос - как спавнить лут в зомби.
      Ванильные зомби изначально имеют инвентарь. Модовые-не всегда, поэтому тут или обращаться к разработчику мода или пробовать в меру возможности переписать конфиг у мода (как-рассматривается в профильных темах).
      Пример:
       
      class MyZombie; // ID зомби { class Cargo //указываешь, что у этого зомби есть карго { itemsCargoSize[]={4,4}; //Размер инвентаря allowOwnedCargoManipulation=1; //Возможность взять openable=0; //Доступность }; }; Далее есть три варианта спавна лута.
      Первый-с помощью пресетов
      Второй-с помощью карго
      Третий-смешанный
      Для первого варианта переходим в папку cfgrandompresets.xml , создаём нужны нам "набор", "пресет".
      <cargo chance="Шанс спавна пресета от 0 до 1" name="Наименование вашего персета"> <item name="ID лута" chance="Шанс выпадения лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> </cargo> Количество предметов может быть любым но заспанится только один или вообще ни одного.
      Механика работает следующем образом. Шанс выпадения пресета - если рандомайзер выдаст число больше или равное вашему шансу что в пресете  то спавн считается верным и переходит к проверке лута,если нет-спавна не будет. Грубо говоря если прописать 0 то спавна не будет, если 1.0 то пресет заспанится обязательно если лут пройдёт проверку (ниже).
      Далее аналогично шансу пресета рассчитывается выпадение каждого лута, если при проверке один должен заспавнится - остальные не проверяются. Если ни один не проходит проверку - спавна не будет. Если прописать 0, то лут точно никогда не заспавнится, если 1.0 то спавн будет.
      Порядок проверки лута случаен. (или псевдослучаен, если быть точнее). Поэтому если все вещи имеют шанс 1.0 то выпадет только одна из.
      Далее переходим в файл cfgspawnabletypes.xml .
      Находим вашего НПС или вписываем своего.
      <type name="ID вашего НПС"> <cargo preset="Имя вашего пресета" /> <cargo preset="toolsIndustrial (как пример с ванили)" /> <attachments preset="аттачменты НПС если они прописаны" /> <attachments preset="hatsIndustrial (как пример с ванили)" /> <attachments preset="bagsIndustrial" /> <attachments preset="vestsIndustrial" /> </type> НПС может иметь сколько угодно пресетов, для каждого походит расчёт на спавн лута. Если и из первого и второго, как примере, должен заспавнится лут-в НПС будет две вещи.
      Внимание! Спавнер не умеет поворачивать вещи в инвентаре и "играть в тэтрис". Если лут не помещается - спавна не будет!
      Что дают нам пресеты при спавне - рэндом спавна вещей из списка пресета.
      Второй вариант.
      Переходим сразу в файл cfgspawnabletypes.xml
      Находим НПС или вписываем своего
      <type name="ID вашего НПС"> <cargo chance="Шанс выпадения лута от 0 до 1"> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> </cargo> <cargo chance="Шанс выпадения лута от 0 до 1"> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> </cargo> <attachments preset="glassesVillage" /> <attachments preset="hatsPrisoner" /> </type> Всё одинаково с первым вариантом, используется чаще всего когда нужно прописать спавн одной-двух вещей, что бы не плодить пресеты. Или вы хотите конкретному НПС давать в инвентарь конкретную вещь.
      Третий вариант просто гибрид первого и второго варианта.
      Как пример.
      <type name="ZmbM_HikerSkinny_Yellow"> <cargo preset="foodHermit" /> <cargo preset="toolsHermit" /> <cargo chance="0.5"> <item name="TLRLight" chance="1.0" /> </cargo> <attachments preset="hatsFarm" /> <attachments preset="Headtorches" /> </type> ....У НПС есть шанс появления лута из пресета foodHermit и toolsHermit или оба два:) и шанс 0.5 TLRLight .
      И ещё раз, СПАВНЕР НЕ УМЕЕТ ИГРАТЬ В ТЭТРИС С ВАШИМ ЛУТОМ В ИНВЕНТАРЕ!
      Иногда когда используется второй вариант при обязательном спавне лута приходится менять порядок. Бывает что помогает.

      Насчёт расчёта шанса, можно считать что 1.0 это 100%, а 0.01 это один процент. Если кому так легче.

      Как то так....

      создано в соавторстве с @skadjna 
    • By Сергей0001
      Всем привет, кто подскажет, сделал остров и при установке на него модовых зомбей, да и простых тоже, возникла проблема, зомби просто стоят, двигаются только животные, что делать?
    • By ArdentStaff
      Всем привет! Заранее буду благодарен вам за ответ, и опыт
       
      Пример: есть 1 сервер "Ванильный и 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.