{{indexmenu_n>5}} ====== Редактор игры ====== Редактор — одна страница, на которой лежит весь сценарий: настройки игры, задания с кодами, бонусами и подсказками, сквозные бонусы, порядки заданий и авторы. Открывается кнопкой **"Редактировать"** в списке игр или ссылкой **"Редактировать игру"** на странице просмотра сценария. ===== Главное, что стоит понять ===== **Правки живут в браузере, пока вы их не сохраните.** Добавили задание, поменяли код, перетащили уровень — всё это меняет только **черновик** у вас на экране. Сервер о них ещё ничего не знает, страница не перезагружается, и ничего не теряется между действиями. **Сохранение — одно на всё и происходит целиком.** Кнопка **"Сохранить..."** сначала показывает окно со списком того, что уедет на сервер, и только после подтверждения записывает. Записывает **одной транзакцией**: либо применяется всё, либо, если сервер что-то отверг, не применяется ничего. Наполовину сохранённой игры не бывает. **Вы всегда видите, что изменилось.** Изменённые поля подсвечены, у карточек заданий и на вкладках стоят метки, а в шапке горит жёлтый значок **"Черновик"** — он означает ровно одно: на сервере пока старая версия. ===== Что на экране ===== ==== Верхняя панель ==== * **Черновик** — значок появляется, когда в браузере есть несохранённые изменения. * **Игра уже идет!** — красный значок: любые правки увидят команды, которые сейчас играют. * **↶ … ↷** — отменить, посмотреть шаги правок, вернуть (см. ниже). * **История** — версии игры, сохранённые в этом браузере. * **Скачать JSON / Загрузить JSON** — весь сценарий файлом, см. [[authors_main:task_editor:task_json|JSON задания и игры]]. * **Сохранить...** — предпросмотр изменений и запись на сервер. * **Тестировать Игру** — сохраняет (если есть что) и открывает игру в тестовом режиме в новой вкладке. ==== Вкладки ==== * **Задания** — карточки заданий: сами задания, коды, бонусы, подсказки. * **Настройки игры** — название, время старта и окончания, тип игры, статистика и прочее. * **Сквозные бонусы** — бонусы, действующие на всю игру. * **Порядок Заданий** — линейки, см. [[authors_main:game_management:task_order|Последовательность заданий]]. * **Авторы** — кто ещё может редактировать игру. * **Файлы** — загрузка картинок и звуков. Единственное место в редакторе, которое работает **не через черновик**: файл уходит на сервер сразу, и удаляется тоже сразу — кнопка "Сохранить..." к нему отношения не имеет. * **Полезные ссылки** — страница игры, статистика, просмотр сценария, импорт, одноразовые команды, старый редактор. * **JSON** — весь черновик текстом. ==== Карточка задания ==== Карточки свёрнуты, чтобы список из полусотни заданий было видно целиком. В заголовке — номер, название и метки: сколько кодов, бонусов и подсказок, **"Автопереход"** со временем, если задание заканчивается само, и **"заглушка"**, если у задания "Время x" равно нулю. Внутри — поля задания и свёрнутые разделы кодов, бонусов и подсказок. Кнопка **"JSON"** в заголовке показывает задание целиком одним текстом, кнопка **"Копировать JSON"** внизу кладёт его в буфер обмена. Задания переставляются перетаскиванием за значок слева от названия — номера пересчитываются сами. ===== Сохранение ===== Кнопка **"Сохранить..."** открывает окно **"Изменения перед сохранением"**. В нём построчно перечислено всё, что отличается от сервера: поля игры, изменённые задания, добавленные и удалённые коды, бонусы, подсказки. Что здесь можно сделать: * **Оставить часть правок при себе.** У каждого изменения есть выбор **"Оригинал" / "Черновик"**. Отмеченное как "Оригинал" не уедет на сервер — останется в черновике до следующего раза. * **Посмотреть большое поле построчно.** У текста задания и других длинных полей есть ссылка **"Показать построчно и отредактировать"**: там видно, какие именно строки изменились, и там же значение можно поправить. * **Прочитать, что скажет сервер.** Прежде чем показать окно, редактор прогоняет изменения на сервере вхолостую. Поэтому ошибки и предупреждения (например, "в этом задании уже есть ответы команд") вы видите **до** записи, а не после. Игру, которая уже идёт, редактор просит подтвердить отдельной галочкой — чтобы правка живой игры не случилась по инерции. Если игру за это время изменили в другом окне или в старом редакторе, сохранение остановится с сообщением о конфликте: чужие правки не будут молча затёрты. ===== Шаги правок: отмена и возврат ===== Каждое изменение — шаг, который можно отменить (**↶**, Ctrl+Z) и вернуть (**↷**, Ctrl+Y). Кнопка **"…"** между стрелками открывает окно, в котором по этим шагам можно **ходить**: стрелками или ползунком выбрать точку, а в окне при этом показано, чем текущее состояние отличается от неё — не одним шагом, а всеми сразу. Кнопка **"Применить"** переводит редактор туда. Это по-прежнему обычные шаги: применённое можно отменить, отменённое — вернуть. ===== История версий ===== Кнопка **"История"** открывает список версий, сохранённых **в этом браузере**: * состояние игры перед каждым сохранением — то, к чему имеет смысл откатиться; * версии, отложенные вами вручную кнопкой **"Добавить текущий черновик"**. Каждую версию можно **"Сравнить..."** с текущим черновиком — откроется то же окно изменений — и загрузить её в черновик; на сервер она попадёт обычным сохранением. Версии можно называть и удалять. > **Важно:** История лежит в вашем браузере, а не на сервере. Другой компьютер, другой браузер или очистка данных сайта — и её нет. Единственная резервная копия, которая ни от чего не зависит, — файл, скачанный кнопкой **"Скачать JSON"**. Отдельно от истории редактор держит **аварийный черновик**: если браузер или вкладка закроются с несохранёнными правками, при следующем открытии редактор предложит их вернуть. ===== Мелочи, которые экономят время ===== * **Время пишется словами.** В полях времени можно писать ''1ч 30м'', ''90м'' или ''5400'' — редактор понимает всё это одинаково и показывает по-человечески. Подсказка рядом с полем показывает, во что превратилось введённое. * **Режим "Источник"** в редакторе текста — с подсветкой HTML и проверкой разметки. * **Задание целиком как JSON** — кнопка "JSON" в заголовке карточки: удобно, когда правку проще сделать текстом, чем полями. * **Вставка из буфера** — кнопка **"Вставить задания из буфера..."** под списком заданий добавляет задания из JSON, скопированного откуда угодно. См. [[authors_main:task_editor:task_json|JSON задания и игры]]. * **Редактор одного задания прямо в игре.** Когда автор тестирует игру, под заданием есть блок **"Редактор"** — то же самое, но для одного текущего задания и сквозных бонусов. Не нужно уходить со страницы, чтобы поправить опечатку в тексте или добавить код. ===== Старый редактор ===== Старый редактор никуда не делся: ссылка **"Старый редактор"** лежит во вкладке **"Полезные ссылки"**. Он работает по-прежнему — форма на всю страницу с сохранением по кнопке внизу. > Правки в старом редакторе — это правки прямо на сервере. Если параллельно открыт новый редактор, его черновик о них не знает, и при сохранении вы получите сообщение о конфликте. Работайте в одном из двух за раз.