Сборка действий и условий в UI
Раздел «Действия» и «Условия» описывает язык истории на уровне JSON. В редакторе вам не нужно писать JSON руками — есть визуальный конструктор.
Конструктор действий
Для каждой команды из справочника действий редактор показывает подходящий тип поля, а не голое текстовое поле:
- Выдача предмета (
add/remove) — выпадающий список предметов, подтягиваемый напрямую из каталога backend'а (pdanetwork), с количеством. Значит, идентификаторы предметов всегда актуальны и совпадают с тем, что реально существует в игре — опечатка в id невозможна в принципе. - Изменение отношений (
+/-) — слайдер/выбор фракции и величины, вместо ручного набора строки"relation_4:2". - Lua-скрипт (
script) — полноценный редактор кода (CodeMirror) с подсветкой синтаксиса — редактор явно выделяет это действие как «для продвинутых», не пряча его за обычным текстовым полем, но и не давая ему такой же дружелюбный UI, как остальным действиям. - Остальные команды (звук, уведомления, деньги, опыт) — простые типизированные поля (число, текст, выбор трека).
Конструктор условий
Условия собираются тем же принципом: выбор между «есть предмет/флаг» (has/!has) с подсказкой из каталога, и
«сравнение переменной» (выбор имени переменной — money, xp или своя — и оператора). Это снижает риск опечаток
в кастомных переменных, из-за которых условие молча перестаёт срабатывать.
Почему это важно для качества истории
Ручное редактирование «сырого» JSON истории всё ещё возможно (импорт/экспорт на главной странице), но рекомендуемый путь — именно UI-конструктор:
- Id предметов и структура действий всегда валидны — не нужно свериться со справочником вручную.
- Условия визуально группируются рядом с текстом/переходом, к которому относятся — граф легче читать, когда вы возвращаетесь к истории спустя время.
- Валидатор редактора (
StageValidator) подсвечивает подозрительные места ещё до сохранения.
Далее
- Публикация и доступ
- Справочник действий — полная таблица команд