Точки на карте
Точка (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 | Точка перехода на соседнюю карту |
Типы 1/3 (автозапуск) удобны для сюжетных триггеров — например, «как только игрок зашёл на Кордон,
показать вступительную сцену» — тогда как 0/2 больше подходят для точек, которые игрок инициирует сам
(поговорить с торговцем, когда ему удобно).
Скрытые точки — зачем они нужны
Скрытые точки (2, 3) не рисуют иконку на карте, но полностью участвуют в логике: у них так же работают
condition, data.chapter/stage и actions. Типичное применение — точки-триггеры, которые должны сработать
по факту нахождения игрока в определённом месте, но без визуального «квестового маркера», чтобы не подсказывать
игроку заранее, что здесь что-то есть.
Кто добавляет точки на карту
Точки не обязательно «зашиты» в саму локацию — глава истории может нести собственный список точек:
// внутри главы
"points": {
"kordon": [ { "id": "...", "type": 1, "...": "..." } ]
}
Ключ — идентификатор карты (например, kordon), значение — список точек, которые эта глава добавляет именно
на эту локацию. Так несколько независимых историй могут расставлять свои точки на одной и той же карте, не
пересекаясь друг с другом.
Далее
- Отряды и территории — второй тип наполнения карты, NPC-отряды.
- Создание новой карты — как добавить саму локацию.