Как делать спаун

Deazer

Head Developer
Staff member
Как делать Спаун и Сохранение точек спауна
Специфика нашего сервера состоит в том что у нас все данные о местоположении NPC находятся в XML формате.

1. Месторасположения данных: gameserver\data\spawn
2. Вам необходимо создать файл к примеру 96_96.xml с следующим содержимым. По сути мы создали пустой файл без спауна.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE list SYSTEM "spawn.dtd">
<list>
</list>


3. Теперь переходим к генерации местоположения НПЦ (spawn).
Для Администратора доступны такие команды как:
3.1. //spawn_pos npc_id - генерирует одиночный спаун. Предназначен к спауну НЕ мобов,а телепортеров и т.д.
После чего нам в логи сервера генерируется вот такие данные
<spawn name="[custom_spawn]">
<npc id="40010" count="1" respawn="60" pos="82520 149192 -3472 57343" />
</spawn>


3.2. //spawn_loc (радиус)300 (npc_id)40010 .
Спаун локации (в основном используется что бы быстро заселить локацию) - т.е. мы строим квадрат за счет длинны ребра.
Так же в 1 квадрат мы можем добавлять множество НПЦ
Мы получаем вот такие данные
<spawn name="[custom_spawn]">
<mesh>
<vertex x="82306" y="149106" minz="-3472" maxz="-3344" />
<vertex x="82606" y="149106" minz="-3472" maxz="-3344" />
<vertex x="82606" y="149406" minz="-3472" maxz="-3344" />
<vertex x="82306" y="149406" minz="-3472" maxz="-3344" />
</mesh>
<npc id="40010" count="1" respawn="60" />
<npc id="40011" count="1" respawn="60" />
<npc id="40012" count="1" respawn="60" />
</spawn>

На выходе мы вставляем данные в наш файл 96_96.xml и в нем мы имеем по факту.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE list SYSTEM "spawn.dtd">
<list>
<spawn name="[custom_spawn]">
<npc id="40010" count="1" respawn="60" pos="82520 149192 -3472 57343" />
</spawn>
<spawn name="[custom_spawn]">
<mesh>
<vertex x="82306" y="149106" minz="-3472" maxz="-3344" />
<vertex x="82606" y="149106" minz="-3472" maxz="-3344" />
<vertex x="82606" y="149406" minz="-3472" maxz="-3344" />
<vertex x="82306" y="149406" minz="-3472" maxz="-3344" />
</mesh>
<npc id="40010" count="1" respawn="60" />
</spawn>
</list>

Теперь переходим к значению строк:
npc id="40010" - ID НПЦ которого мы хотим отспаунить
count="1" - Количество Мобов или НПЦ которых нам нужно заспаунить в данном квадрате.
Очень удобно если нам необходимо быстро заселить целую локацию. Указываем нужное нам количество НПЦ
respawn="60" - Время через которое НПЦ появиться после смерти.
name="" - Вообще все равно, можете указать любой вам удобный. Можете просто пользоваться [custom_spawn]
 
Last edited:
А можно обычным методом спавнить? У меня исчезают монстры после рестарта, которых спавнил командой //spawn id
Если первым способом, то только нпц можно, а вторым только в квадрате, а если прямоугольник надо?
 
А можно обычным методом спавнить? У меня исчезают монстры после рестарта, которых спавнил командой //spawn id
Если первым способом, то только нпц можно, а вторым только в квадрате, а если прямоугольник надо?
2 типа спауна, точечный и локационный. В первом варианте 1 точка, в другом полигональная - т.е. минимум 3 точки
 
Back
Top