authors_main:task_editor:editor

Редактор игры

Редактор — одна страница, на которой лежит весь сценарий: настройки игры, задания с кодами, бонусами и подсказками, сквозные бонусы, порядки заданий и авторы. Открывается кнопкой «Редактировать» в списке игр или ссылкой «Редактировать игру» на странице просмотра сценария.

Правки живут в браузере, пока вы их не сохраните. Добавили задание, поменяли код, перетащили уровень — всё это меняет только черновик у вас на экране. Сервер о них ещё ничего не знает, страница не перезагружается, и ничего не теряется между действиями.

Сохранение — одно на всё и происходит целиком. Кнопка «Сохранить…« сначала показывает окно со списком того, что уедет на сервер, и только после подтверждения записывает. Записывает одной транзакцией: либо применяется всё, либо, если сервер что-то отверг, не применяется ничего. Наполовину сохранённой игры не бывает.

Вы всегда видите, что изменилось. Изменённые поля подсвечены, у карточек заданий и на вкладках стоят метки, а в шапке горит жёлтый значок «Черновик» — он означает ровно одно: на сервере пока старая версия.

Верхняя панель, вкладки и свёрнутые карточки заданий

Значок «Черновик»: на сервере пока старая версия

  • Черновик — значок появляется, когда в браузере есть несохранённые изменения.
  • Игра уже идет! — красный значок: любые правки увидят команды, которые сейчас играют.
  • ↶ … ↷ — отменить, посмотреть шаги правок, вернуть (см. ниже).
  • История — версии игры, сохранённые в этом браузере.
  • Скачать JSON / Загрузить JSON — весь сценарий файлом, см. JSON задания и игры.
  • Сохранить… — предпросмотр изменений и запись на сервер.
  • Тестировать Игру — сохраняет (если есть что) и открывает игру в тестовом режиме в новой вкладке.
  • Задания — карточки заданий: сами задания, коды, бонусы, подсказки. Выпадающий список рядом со стрелками отбирает, какие из них показывать.
  • Настройки игры — название, время старта и окончания, тип игры, статистика, локализация и свёрнутый блок «Авторы» — кто ещё может редактировать игру.
  • Сквозные бонусы — бонусы, действующие на всю игру.
  • Порядок Заданий — линейки, см. Последовательность заданий.
  • Файлы — загрузка картинок и звуков. Единственное место в редакторе, которое работает не через черновик: файл уходит на сервер сразу, и удаляется тоже сразу — кнопка «Сохранить…» к нему отношения не имеет.
  • Перевод — появляется только у игры, в настройках которой включена локализация.
  • Полезные ссылки — страница игры, статистика, просмотр сценария, импорт, одноразовые команды, старый редактор.
  • JSON — весь черновик текстом.

Вкладка «Настройки игры»

Карточка задания: поля, коды, бонусы и подсказки

Карточки свёрнуты, чтобы список из полусотни заданий было видно целиком. В заголовке — номер, название и метки: сколько кодов, бонусов и подсказок, «Автопереход» со временем, если задание заканчивается само, «заглушка», если у задания «Время x» равно нулю, и script, если у задания есть скрипт или в его тексте написан тег <script>.

Внутри — поля задания и свёрнутые разделы кодов, бонусов и подсказок. Если бонусов или подсказок больше трёх, каждая строка тоже сворачивается — в заголовке остаётся номер, ответ бонуса (у подсказки — её описание) и метки: сам бонус, «через 10с», «на 30с», «цена 10м», а также script, если в тексте есть тег <script>. Так список из десятка бонусов остаётся обозримым, а нужный виден без разворачивания. Кнопка «JSON» в заголовке показывает задание целиком одним текстом, кнопка «Копировать JSON» внизу кладёт его в буфер обмена.

Задания переставляются перетаскиванием за значок слева от названия — номера пересчитываются сами.

Порядок заданий меняется перетаскиванием карточки

Кнопка «Сохранить…« открывает окно «Изменения перед сохранением». В нём построчно перечислено всё, что отличается от сервера: поля игры, изменённые задания, добавленные и удалённые коды, бонусы, подсказки. В строке видно старое значение и новое через стрелку: красным то, что уходит, зелёным то, что встанет.

Окно «Изменения перед сохранением»: что именно уедет на сервер

Что здесь можно сделать:

  • Оставить часть правок при себе. У каждого изменения есть галочка «не сохранять». Отмеченное ею не уедет на сервер — останется в черновике до следующего раза.
  • Посмотреть большое поле построчно. Длинное поле — текст задания и подобные — окно целиком не показывает: в строке стоит только слово «изменено».
    Большое поле в окне изменений: строка говорит, что оно изменилось, сам текст — по ссылке Это ссылка: она открывает построчное сравнение, где видно, какие именно строки изменились, и там же значение можно поправить — кнопка «Применить в черновик» возвращает исправленное в черновик.
    Построчный дифф большого поля: что было, что стало, и правка прямо здесь
  • Прочитать, что скажет сервер. Прежде чем показать окно, редактор прогоняет изменения на сервере вхолостую. Поэтому ошибки и предупреждения (например, «в этом задании уже есть ответы команд») вы видите до записи, а не после.

Игру, которая уже идёт, редактор просит подтвердить отдельной галочкой — чтобы правка живой игры не случилась по инерции.

Если игру за это время изменили в другом окне или в старом редакторе, сохранение остановится с сообщением о конфликте: чужие правки не будут молча затёрты.

Каждое изменение — шаг, который можно отменить (, Ctrl+Z) и вернуть (, Ctrl+Y).

Кнопка «…» между стрелками открывает окно, в котором по этим шагам можно ходить: стрелками или ползунком выбрать точку, а в окне при этом показано, чем текущее состояние отличается от неё — не одним шагом, а всеми сразу. Кнопка «Применить» переводит редактор туда. Это по-прежнему обычные шаги: применённое можно отменить, отменённое — вернуть.

Окно шагов правок: ползунок отматывает черновик назад

История версий: она лежит в браузере, а не на сервере

Кнопка «История» открывает список версий, сохранённых в этом браузере:

  • состояние игры перед каждым сохранением — то, к чему имеет смысл откатиться;
  • версии, отложенные вами вручную кнопкой «Добавить текущий черновик».

Каждую версию можно «Сравнить…« с текущим черновиком — откроется то же окно изменений — и загрузить её в черновик; на сервер она попадёт обычным сохранением. Версии можно называть и удалять.

Важно: История лежит в вашем браузере, а не на сервере. Другой компьютер, другой браузер или очистка данных сайта — и её нет. Единственная резервная копия, которая ни от чего не зависит, — файл, скачанный кнопкой «Скачать JSON».

Отдельно от истории редактор держит аварийный черновик: если браузер или вкладка закроются с несохранёнными правками, при следующем открытии редактор предложит их вернуть.

  • Время пишется словами. В полях времени можно писать 1ч 30м, 90м или 5400 — редактор понимает всё это одинаково и показывает по-человечески. Подсказка рядом с полем показывает, во что превратилось введённое.
  • Режим «Источник» в редакторе текста — с подсветкой HTML и проверкой разметки.
  • Задание целиком как JSON — кнопка «JSON» в заголовке карточки: удобно, когда правку проще сделать текстом, чем полями.
  • Вставка из буфера — кнопка «Вставить задания из буфера…« под списком заданий добавляет задания из JSON, скопированного откуда угодно. См. JSON задания и игры.
  • Редактор одного задания прямо в игре. Когда автор тестирует игру, под заданием есть блок «Редактор» — то же самое, но для одного текущего задания и сквозных бонусов. Не нужно уходить со страницы, чтобы поправить опечатку в тексте или добавить код.

Старый редактор никуда не делся: ссылка «Старый редактор» лежит во вкладке «Полезные ссылки». Он работает по-прежнему — форма на всю страницу с сохранением по кнопке внизу.

Правки в старом редакторе — это правки прямо на сервере. Если параллельно открыт новый редактор, его черновик о них не знает, и при сохранении вы получите сообщение о конфликте. Работайте в одном из двух за раз.
  • authors_main/task_editor/editor.txt
  • Последние изменения: 2026/08/19 22:02
  • (внешнее изменение)