Нажмите, чтобы увидеть подсказку
Текст подсказки
Тот же эффект кнопкой, которая исчезает после нажатия:
Учтите, что спрятанный так текст всё равно лежит в исходном коде страницы — это удобство, а не защита. Если содержимое не должно быть доступно до срока, используйте обычный таймер подсказки или [[authors_main:task_editor:advanced:edit_templates|шаблоны]].
[[https://qeng.org/game.php?jump_to&gid=3493&task_id=79305|Пример в игре]]
==== Обычные и Сквозные бонусы ====
* **Обычные бонусы:** Привязаны к конкретному заданию.
* **Сквозные бонусы:** Доступны сразу на нескольких уровнях (например, с 5 по 10 уровни). Если команда ввела ответ на сквозной бонус на уровне 5, на уровне 6 ввести его повторно для получения баллов будет нельзя. Для бонуса на всю игру можно выставлять диапазон уровней с 1 по 999.
==== Лимиты попыток ввода ====
Для защиты от простого перебора (брутфорса) ответов вы можете задать лимит попыток.
* Лимит можно установить как общий на уровень (например, не более 50 попыток ввода в минуту на всю команду), так и на конкретного игрока.
* При превышении лимита поле ввода блокируется для команды на определенный интервал времени.
Игрок видит это так: над полем — сколько осталось ждать, под полем — сколько попыток и за какое время ему положено.
{{ :authors_main:task_editor:answer_block.png?800 |Ограничение «один ответ в 10 секунд»: после неверного кода поле ждёт таймер}}
Блок с таймером блокировки можно переоформить или дополнить своим элементом — см. [[authors_main:task_editor:advanced:page_elements#своё_оформление_блокировки_ответов|Элементы страницы уровня]].
[[https://qeng.org/game.php?jump_to&gid=3493&task_id=52079|Пример в игре]]
==== Автопереход ====
В поле **«Автопереход»** задаётся время, по истечении которого уровень закроется сам, даже если команда его не прошла. Обычно там стоит длительность в секундах — она отсчитывается от момента, когда команда зашла на уровень, поэтому у каждой команды автопереход наступает в своё время.
Иногда нужно, чтобы уровень закрылся у всех одновременно в конкретный момент — например, на многодневной игре, где задание нового дня начинается в назначенный час. Для этого в то же поле вписывается **unix-время** нужного момента (большое число вместо длительности). Такой автопереход не зависит от того, когда команда попала на уровень.
Отличить его легко по поведению в тестировании: при рестарте уровня время до автоперехода не сбрасывается, а тестовая перемотка времени уровня его не приближает.
[[https://qeng.org/game.php?jump_to&gid=3493&task_id=53861|Пример в игре]]
==== Закрытие задания: «Разумно» ====
Обычно уровень закрывается, как только вбиты все коды, — и недобранные бонусы при этом пропадают. Опция **«Закрыть задание: Разумно»** меняет это поведение: если коды вбиты, но на уровне остались незакрытые бонусы, задание не закрывается само. Вместо этого появляется кнопка **«Завершить задание»**.
{{ :authors_main:task_editor:answer_finish.png?800 |Все коды взяты, а задание ещё не закрыто: при «Разумно» уровень заканчивает сама команда}}
Пока команда её не нажала, игроки могут спокойно добивать бонусы. Удобно на уровнях, где бонусы дороже времени и обидно терять их из-за того, что кто-то вбил последний код раньше времени.
[[https://qeng.org/game.php?jump_to&gid=3493&task_id=42721|Пример в игре]]
===== Оффлайн-проверка ответов =====
При плохом мобильном интернете на локации включение оффлайн-проверки позволяет игрокам видеть статус ввода без ожидания ответа от сервера.
==== Как это работает: ====
- При входе на уровень хэш-коды ответов загружаются в браузер игрока.
- При отправке ответа, если интернет отсутствует, ответ добавляется в локальную очередь.
- В этой очереди ответы сразу раскрашиваются: **зеленые** (правильные), **красные** (неправильные), **белые** (неизвестные/в процессе отправки).
- Как только соединение восстанавливается, очередь автоматически отправляется на сервер.
{{ :authors_main:task_editor:offline_queue.gif |Ответы уходят пачкой и ждут в очереди: зелёные движок уже узнал офлайн, красные — нет}}
> **Внимание (Безопасность):** Так как хэши кодов при оффлайн-проверке хранятся на клиенте, теоретически игроки могут запустить локальный перебор (брутфорс), чтобы подобрать код. Особенно если коды короткие или известна их маска (например, слово + цифра).
==== Защита от перебора в оффлайне: ====
Чтобы защититься от подбора, добавьте штрафной бонус с ложными кодами (кодами-ловушками).
* Например, если правильный код: ''батон432''.
* Добавьте скрытый бонус с кодом: ''батон178'' (и штрафом за его ввод).
* Чтобы скрыть бонус от игроков, напишите в его описании специальный маркер: **''%hide%''**. Команда не будет знать о существовании ловушки, но автоматический брутфорс наткнется на нее и команда получит штраф.
Оффлайн-проверка по умолчанию отключена. Рекомендуется включать ее только на тех уровнях, где заведомо ожидаются проблемы со связью.
[[https://qeng.org/game.php?jump_to&gid=3493&task_id=42720|Пример в игре]]