Перейти к основному содержимому

Точки на карте

Точка (Point) — статичная интерактивная метка на локации: квестодатель, торговец, тайник или переход на другую карту. Именно точками сюжетописатель «встраивает» историю в игровой мир.

Структура точки

{
"id": "b3f1...-uuid",
"type": 1,
"name": "Сидорович",
"pos": "128:64",
"data": { "chapter": "chapter_1", "stage": "stage_intro" },
"condition": { "!has": ["дело_сидоровича_завершено"] },
"actions": { },
"editor": { "x": 240, "y": 120 }
}
  • pos — координаты на локации в формате "x:y".
  • condition — та же система условий, что и в диалогах (см. «Условия»): точка физически не отображается на карте, пока условие не выполнено, и появляется сама, как только выполнится — без дополнительного кода.
  • data.chapter + data.stage — если оба поля заданы, точка автоматически становится квестовой: клик по ней открывает указанную стадию указанной главы. Это основной способ привязать точку на карте к вашему диалогу.
  • editor.x/y — позиция иконки на превью локации внутри редактора, на геймплей не влияет.

Типы точек (type)

typeНазваниеИконкаОсобенность
0Метка квестаquest.pngОбычная квестовая точка
1Метка квеста с автозапускомquest.pngДиалог открывается автоматически при входе игрока в зону точки, без явного клика
2Скрытая метка квестанет иконкиРаботает как 0, но не отображается визуально на карте (для точек, о которых игрок узнаёт не по значку, а по тексту/логике истории)
3Скрытая метка квеста с автозапускомнет иконкиКомбинация 1 и 2
4Торговецseller.pngОткрывает торговое окно (аналог действия openSeller)
5Тайникcache.pngТочка, где игрок находит спрятанный хабар
6Дополнительный квестquest1.pngВизуально отличается от основной квестовой метки — удобно для опциональных побочных заданий
7Переход на другую локациюtransfer.pngТочка перехода на соседнюю карту
Автозапуск vs клик

Типы 1/3 (автозапуск) удобны для сюжетных триггеров — например, «как только игрок зашёл на Кордон, показать вступительную сцену» — тогда как 0/2 больше подходят для точек, которые игрок инициирует сам (поговорить с торговцем, когда ему удобно).

Скрытые точки — зачем они нужны

Скрытые точки (2, 3) не рисуют иконку на карте, но полностью участвуют в логике: у них так же работают condition, data.chapter/stage и actions. Типичное применение — точки-триггеры, которые должны сработать по факту нахождения игрока в определённом месте, но без визуального «квестового маркера», чтобы не подсказывать игроку заранее, что здесь что-то есть.

Кто добавляет точки на карту

Точки не обязательно «зашиты» в саму локацию — глава истории может нести собственный список точек:

// внутри главы
"points": {
"kordon": [ { "id": "...", "type": 1, "...": "..." } ]
}

Ключ — идентификатор карты (например, kordon), значение — список точек, которые эта глава добавляет именно на эту локацию. Так несколько независимых историй могут расставлять свои точки на одной и той же карте, не пересекаясь друг с другом.

Далее