Как делать Спаун и Сохранение точек спауна
Специфика нашего сервера состоит в том что у нас все данные о местоположении 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]
Специфика нашего сервера состоит в том что у нас все данные о местоположении 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: