• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Данные по спискам телепортов у NPC 2024-08-30

Нет прав для скачивания

Gaikotsu

яжпрограммист
Легенда
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Участник Новогоднего Фонда 2021
Эксперт
Знаток
Просветитель
Магистр реакций
Знаток письма
Куратор Данных
Медаль Благодарности
Старожил II степени
Старожил I степени
Победитель в номинации 2020
Победитель в номинации 2019
Клиент разработчик
Преподаватель
За веру и верность форуму
Победитель в номинации 2018
Медаль за активность на Форуме
За заслуги перед форумом
Web разработчик
Разработчик
За знание датапака
За знание ядра
Сообщения
1 814
Розыгрыши
0
Решения
30
Репутация
6 257
Реакции
2 916
Баллы
2 188
Gaikotsu добавил(а) новый ресурс:

Данные по спискам телепортов у NPC - Перегнанные в JSON данные по спискам телепортов из PTS разных хроник

Извлеченные простеньким скриптом данные из a.obj по спискам телепортов у тех или иных NPC и сохраненные в JSON.
По этим данным уже можно по необходимости сгенерировать списки под свой сервер в нужном формате.
В архиве данные от следующих хроник:
  • C0
  • C4
  • Gracia Final
  • Freya
  • High Five
  • Glory Days
  • Ertheia
  • Homunculus + Classic + Essence (287 protocol)

Узнать больше об этом ресурсе...
 

Данные о конкретном телепорте состоят из 6 значений, которые обозначают следующее:
  1. в хрониках ниже HF строка с названием места телепортации, а с HF и выше - id строки из NpcString с названием;
  2. координата X;
  3. координата Y;
  4. координата Z;
  5. цена телепортации (обычно в адене, но необязательно);
  6. id замка, статус которого надо проверять при попытке запросить телепортацию - если задано id замка и он в осаде, то эта телепортация недоступна.
Данные извлекались простейшим скриптом, который на 99% совпадает с скриптом отсюда. Единственное отличие по сути, что в ai.obj ищутся списки telposlist вместо buyselllist.
 
Кстати еще немного полезной информации по телепортам через гейткиперов в городах, которая может пригодиться тем кто пилит относительно свежие хроники, но не разобрался для чего нужен пакет RequestSetSelectedQuestZoneId приходящий иногда от клиента.
Этот пакет присылает id локации, в которую надо перемещаться на текущем этапе квеста, выбранного приоритетным в окне квестов.
А само id это служит для того чтобы при формировании списка телепортов у гейткипера вариант с телепортом в эту локацию отображался в списке первым, выделенным другим цветом и иконкой, чтобы вобщем игроку не приходилось внимательно искать нужную локацию в зачастую достаточно большом списке телепортов.

Данные о связях между локациями телепортов у нпс и id этих локаций можно взять из файла teleportquestpath.txt птс хомки, ну или выстроить их самому. по названиям/id из ZoneName клиента.

Чисто вот как пример:
XML:
    <npc id="30006" zone_id="35">    <!-- Миллия [Хранитель Портала] / Milia [Gatekeeper] / [rapunzel] -->
        <group name="Position">
            <teleport name="1010199" loc="148024 -55281 -2728" price="120000" />    <!-- Годдард / Goddard -->
            <teleport name="1010005" loc="-14593 123936 -3112" price="33000" />    <!-- Глудио / Gludio -->
            <teleport name="1010007" loc="83551 147945 -3400" price="67000" />    <!-- Гиран / Giran -->
            <teleport name="1010006" loc="15472 142880 -2699" price="51000" />    <!-- Дион / Dion -->
            <teleport name="1010200" loc="43835 -47749 -792" price="100000" />    <!-- Руна / Rune -->
            <teleport name="1010049" loc="111455 219400 -3546" price="68000" />    <!-- Хейн / Heine -->
            <teleport name="1010574" loc="87126 -143520 -1288" price="130000" />    <!-- Шутгарт / Schuttgart -->
            <teleport name="1010023" loc="146783 25808 -2000" price="100000" />    <!-- Аден / Aden -->
            <teleport name="1010013" loc="82971 53207 -1470" price="84000" />    <!-- Орен / Oren -->
            <teleport name="1010724" loc="207512 86588 -1000" price="100000" />    <!-- Древний Город Аркан / Ancient City Arcan -->
            <teleport name="1010004" loc="-80684 149770 -3043" price="22000" />    <!-- Глудин / Gludin -->
            <teleport name="1010020" loc="117088 76931 -2670" price="87000" />    <!-- Деревня Охотников / Hunters' Village -->
            <teleport name="1010155" loc="46939 51300 -2992" price="52000" />    <!-- Эльфийская Деревня / Elven Village -->
            <teleport name="1010156" loc="11167 16012 -4584" price="54000" />    <!-- Деревня Темных Эльфов / Dark Elf Village -->
            <teleport name="1010157" loc="-44124 -113390 -240" price="75000" />    <!-- Деревня Орков / Orc Village -->
            <teleport name="1010158" loc="115357 -178212 -928" price="98000" />    <!-- Деревня Гномов / Dwarven Village -->
            <teleport name="1010648" loc="-117001 46589 360" price="42000" />    <!-- Деревня Камаэль / Kamael Village -->
            <teleport name="1010741" loc="-80536 247716 -3488" price="6800" />    <!-- Бенон / Faeron -->
            <teleport name="1010740" loc="-114986 226633 -2864" price="6000" />    <!-- Гробница Душ / Reliquary of the Giants -->
            <teleport name="1010739" loc="-109300 237498 -2944" price="3900" />    <!-- Руины Эсагира / Ruins of Ye Sagira -->
        </group>
        <group name="PositionNoblessNeedItemField" item_id="13722">
            <teleport name="1010506" loc="-87328 142266 -3640" price="1" />    <!-- Арена Глудина / Gludin Arena -->
            <teleport name="1010507" loc="73579 142709 -3768" price="1" />    <!-- Арена Гирана / Giran Arena -->
            <teleport name="1010053" loc="146440 46723 -3400" price="1" />    <!-- Колизей / Coliseum -->
        </group>
        <group name="PositionNoblessNoItemField">
            <teleport name="1010506" loc="-87328 142266 -3640" price="1000" />    <!-- Арена Глудина / Gludin Arena -->
            <teleport name="1010507" loc="73579 142709 -3768" price="1000" />    <!-- Арена Гирана / Giran Arena -->
            <teleport name="1010053" loc="146440 46723 -3400" price="1000" />    <!-- Колизей / Coliseum -->
        </group>
        <group name="PositionNewbie">
            <teleport name="1010156" loc="9709 15566 -4500" price="1" />    <!-- Деревня Темных Эльфов / Dark Elf Village -->
            <teleport name="1010158" loc="115120 -178224 -917" price="1" />    <!-- Деревня Гномов / Dwarven Village -->
            <teleport name="1010155" loc="46943 51417 -2976" price="1" />    <!-- Эльфийская Деревня / Elven Village -->
            <teleport name="1010157" loc="-45158 -112583 -236" price="1" />    <!-- Деревня Орков / Orc Village -->
        </group>
        <quest_path>
            <teleport name="1010199" zone_id="269" />    <!-- Годдард / Goddard -->
            <teleport name="1010005" zone_id="20" />    <!-- Глудио / Gludio -->
            <teleport name="1010007" zone_id="43" />    <!-- Гиран / Giran -->
            <teleport name="1010006" zone_id="48" />    <!-- Дион / Dion -->
            <teleport name="1010200" zone_id="291" />    <!-- Руна / Rune -->
            <teleport name="1010049" zone_id="118" />    <!-- Хейн / Heine -->
            <teleport name="1010574" zone_id="326" />    <!-- Шутгарт / Schuttgart -->
            <teleport name="1010023" zone_id="77" />    <!-- Аден / Aden -->
            <teleport name="1010013" zone_id="101" />    <!-- Орен / Oren -->
            <teleport name="1010724" zone_id="511" />    <!-- Древний Город Аркан / Ancient City Arcan -->
            <teleport name="1010004" zone_id="21" />    <!-- Глудин / Gludin -->
            <teleport name="1010020" zone_id="173;74" />    <!-- Деревня Охотников / Hunters' Village -->
            <teleport name="1010155" zone_id="113" />    <!-- Эльфийская Деревня / Elven Village -->
            <teleport name="1010156" zone_id="107" />    <!-- Деревня Темных Эльфов / Dark Elf Village -->
            <teleport name="1010157" zone_id="62" />    <!-- Деревня Орков / Orc Village -->
            <teleport name="1010158" zone_id="64" />    <!-- Деревня Гномов / Dwarven Village -->
            <teleport name="1010648" zone_id="409" />    <!-- Деревня Камаэль / Kamael Village -->
            <teleport name="1010741" zone_id="542;584" />    <!-- Бенон / Faeron -->
            <teleport name="1010740" zone_id="549" />    <!-- Гробница Душ / Reliquary of the Giants -->
            <teleport name="1010739" zone_id="525" />    <!-- Руины Эсагира / Ruins of Ye Sagira -->
        </quest_path>
    </npc>
Например от клиента пришел пакет в котором активной квест локой была задана лока с id 173, т.е. Деревня Охотников.
В итоге у этого гейткипера пункт телепортации Деревня Охотников будет отображаться первым в списке, хотя реально он находится где-то в середине списка.
Ну а в коде генерации списков все это реализовывается проще некуда.
 
Последнее редактирование:
Назад
Сверху Снизу