Мир
Подземелья
Сценарии Dark Hole и ключи
Обзор
Подземелье (в коде — Dark Hole, «тёмная дыра») открывается предметом-ключом и идёт по текстовому сценарию. Ключ — строка BattleDungeonItem.dat (таблица предметов 23, коды ix…, категория «Предметы»); сценарий — файл Quest\<имя>.txt (в коде «квест»: квест → миссии → задачи); связь ключ → сценарий — Quest\Index.ini [MATCH], производный файл; карта — обычная карта типа 1, все объекты сценария (точки, порталы, зоны) берутся из пустышек её .spt.
BattleDungeonItem.dat Quest\Index.ini [MATCH] Quest\<имя>.txt
строка N: m_strCode = ixkey01 ──► ixkey01 = Dungeon00_1520_winBoss ──► квест → миссии → задачи
Map\Dungeon00\Dungeon00.spt ◄──────── use_map, dummy:, area, start_pos ───┘
Как работает
- Канал — один запущенный экземпляр подземелья на отдельном слое карты; дыра — объект-вход на поле рядом с открывшим. Число каналов и задержка закрытия на Sirin настраиваются
ModDarkHole*.lua. - Сценарий пишется в CP949 с табуляцией и завершается
[END_OF_FILE]; ключи квеста идут после###, миссии — после##, задачи — после#. Порядок важен:use_mapдо ссылок на пустышки,areaдоdummy:,typeдоcontents,respawn_monsterдо своих опций,change_monsterдо своихif. - У каждой миссии:
start_pos(dp*внутриarea) иlim_time_sec > 0; у квеста —limit_lv_max(иlimit_lv_min), иначе ключ не откроется. Номер квеста = номер строки ключа, поэтому порядок строкBattleDungeonItemважен;m_bQualificationключа должно равнятьсяmembership_party ≠ 0его сценария. - Награды
reward_item— пороги, а не доли;DarkHoleRewardRateизServerRate.iniна них не влияет. Кодыdescriptionиcomplete_msg(≤ 16 байт) должны существовать в текстахNDItem.edfкаждого языка клиента. - Пределы без проверок в коде: блоки, группы,
inner,respond,add_time,change_monster,gate_pos, реакции — за ними следит редактор.
Сценарий — токены через пробел/табуляцию/перевод строки; единица каталога — маркер, ключ или составной аргумент. Смысл ключей — таблицы dungeons.md §3.1–3.3 (строки свода).
Файлы категории
3 в реестре| Файл | Сторона | Формат | Уровень | Корпуса | Запись | Свод | Примечание |
|---|---|---|---|---|---|---|---|
Quest\<сценарий>.txt | сервер | список | готов к полному | AoP 45, GU 44, Sirin 45 | dungeons.md | — | |
Quest\Index.ini | сервер | ini | производный | AoP ✓, GU ✓, Sirin ✓ | dungeons.md | Производный из: ссылки ключей BattleDungeonItem на сценарий (ref<Сценарий>). связь «ключ → сценарий» задаёт только этот файл; исключение из «ini сервера отложены» — сценарии подземелий в рамках (решение пользователя 29.10.2026) | |
Quest\MissionText.txt | сервер | список | вне рамок (не читаются) | AoP ✓, GU ✓, Sirin ✓ | dungeons.md | корейский исходник текстов миссий; сервер не читает (dungeons.md §7a) |
«готов к полному» — формат разобран и поля описаны; «производный» — файл собирается из другого; «непрозрачный» — формат известен не до конца; «отложен» и «вне рамок» — файл студией не редактируется.
Разделы категории
Файлы категории разбиты на группы; у каждой группы и подгруппы своя страница с полями только её файлов.
Неиспользуемые параметры
В этой категории нет неиспользуемых параметров: все поля читает сервер, клиент или сборка.