Елементи сторінки рівня
Движок збирає сторінку рівня з блоків із постійними ідентифікаторами. Знаючи їх, зі скрипта завдання або зі свого css можна сховати, перейменувати чи переоформити майже будь-яку частину сторінки.
Готові рецепти «сховати коди», «перейменувати підказку» та подібні зібрані на сторінці Типові скрипти. Тут — карта самої сторінки та ті прийоми, які в рецепти не потрапили.
Карта сторінки
| Ідентифікатор | Що це |
|---|---|
#autoupdateable | Весь змінюваний блок сторінки. Саме його вміст движок замінює при автооновленні рівня |
#out_task | Текст завдання |
#out_hints | Блок підказок |
#out_codes | Блок кодів рівня |
#out_bonuses | Блок бонусів |
#out_global_bonuses | Блок наскрізних бонусів |
#out_answer_frame, #out_answer | Форма введення відповіді |
#answer_button | Кнопка «Відповісти» |
#button_finish_task | Кнопка «Завершити завдання» (з'являється при опції «Закрити завдання: Розумно») |
#out_limit | Блок «відповіді заблоковано» з таймером #limit |
#out_toggle_theme | Перемикач темного режиму в меню «Налаштування» |
#out_toggle_answers, #out_toggle_sounds | Перемикачі попередніх відповідей та звуків |
Окремі коди, бонуси та підказки адресуються за номером: #c1, #c2 — коди, #b1, #b2 — бонуси, #gb1 — наскрізні бонуси, #hb1 — підказки. Ці ж ідентифікатори використовуються в Replacer.
Усе, що ви ховаєте скриптом, залишається у вихідному коді сторінки — гравець може це побачити. Якщо вміст має бути недоступним, ховайте його шаблоном на сервері, а не стилями в браузері.
Примусова тема оформлення
За замовчуванням гравець сам обирає світле чи темне оформлення. Якщо рівень задуманий під конкретну тему (наприклад, «нічна» локація), тему можна нав'язати й прибрати перемикач:
// Темна тема $('#out_toggle_theme').hide(); $('#theme_css').attr('href', dark_theme_css); $('#theme_d_css').attr('href', dark_theme_d_css);
// Світла тема $('#out_toggle_theme').hide(); $('#theme_css').attr('href', light_theme_css); $('#theme_d_css').attr('href', light_theme_d_css);
#theme_css — це стилі движка, #theme_d_css — стилі оформлення вашого домену; змінювати треба обидва, інакше половина сторінки залишиться в попередній темі. Змінні light_theme_css, dark_theme_css, light_theme_d_css, dark_theme_d_css движок підставляє на сторінку сам.
Тема перемикається лише на цьому рівні. На наступному повернеться вибір гравця.
Своє оформлення блокування відповідей
Коли на рівні налаштовано ліміт спроб і гравці його вичерпали, движок показує блок #out_limit із таймером до розблокування. Блок можна не лише переоформити, а й повісити на нього власний елемент — наприклад, затемнити весь екран, поки введення недоступне.
Свій елемент кладеться в текст завдання, а у скрипті його видимість прив'язується до видимості #out_limit:
document.getElementById('answers_blocked').style.display = document.getElementById('out_limit').style.display;
Скрипт завдання виконується після кожного оновлення рівня, тому стан елемента перераховуватиметься разом із таймером блокування.
Налаштування ліміту спроб
Сам ліміт (скільки відповідей і за який час) налаштовується не скриптом, а в параметрах рівня — див. Ліміти спроб введення.