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

Тема в разделе "[RU] Руководства", создана пользователем Deazer, 29 мар 2017.

  1. Deazer

    Deazer Разработчик Команда форума

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

    1. Месторасположения данных: gameserver\data\spawn
    2. Вам необходимо создать файл к примеру 66_66.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]