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