authors_main:task_editor:advanced:edit_templates

Шаблоны (Темплейты)

Шаблоны — это динамические выражения, которые вычисляются на сервере до отправки страницы игрокам. В браузере во время игры отображается только результат вычисления для конкретной команды. Сам код шаблона игрокам не виден (его нет в исходном коде страницы).

Классические применения шаблонов:

Шаблоны можно прописывать в обычном режиме редактора или в режиме исходного кода (Source) в текст заданий, подсказок и бонусов. Шаблоны могут быть вложенными.

Для облегчения написания синтаксиса шаблонов вы можете скопировать себе и использовать специальную таблицу: Google Таблица генерации шаблонов QEng.

Различные виды шаблонов

{% match line }:{ 
  {%= 688 /*комментарий: название линейки*/}:{
Текст для линейки с ID 688
  %}
 
  {%= 643 }:{
Текст для линейки с ID 643
  %}
  {%= 653,655 }:{
Текст для линейки с ID 653 или 655
  %}
 
  {%= ?}:{ 
Текст для любой другой линейки
  %}
%}
{% match team }:{ 
  {%= 688 /*комментарий: название команды*/}:{
Текст для команды с ID 688
  %}
 
  {%= 643 }:{
Текст для команды с ID 643
  %}
  {%= 653,655 }:{
Текст для команды с ID 653 или 655
  %}
 
  {%= ?}:{ 
Текст для любой другой команды
  %}
%}

Пример в игре

Полезно для выдачи виртуальных кодов/подсказок в строго определенное время. Для перевода даты в метку времени используйте Конвертер Unix Time.

{% unix_time 1639999296/*дата в unix time*/, Откроется, Осталось}:{
Этот текст будет показан только после наступления указанного времени.
%}

Пример в игре

*(Замените `code_1` на нужный номер кода, например, `code_5` для пятого кода)*

{% match code_1 }:{ 
  {%= abc}:{
В первый код вбит ответ "abc".
  %}
 
  {%= bac, cba}:{
В первый код вбит ответ "bac" или "cba".
  %}
 
  {%= !no_answer!}:{
В первый код ещё не вводили правильный ответ.
  %}
 
  {%= ?}:{ 
Вбит какой-то другой синоним/ответ в первый код.
  %}
%}
{% match code_first_2 }:{ 
  {%= abc}:{
Первым в этот код был вбит ответ "abc".
  %}
  {%= !no_answer!}:{
Код ещё не вбит.
  %}
  {%= ?}:{
Был вбит другой ответ.
  %}
%}

Аналогично кодам, вы можете проверять ответы для бонусов:

  • bonus_1 / bonus_first_1 — последний или первый введенный ответ в первый бонус текущего уровня.
  • gbonus_1 / gbonus_first_1 — последний или первый введенный ответ в первый сквозной (глобальный) бонус игры. Сквозные бонусы можно проверять даже на тех уровнях, где они не выведены на экран.

Пример в игре

К параметрам проверки ответов можно добавить приставку who_, чтобы узнать, кто из игроков команды ввел код. Возможные значения:

  • me — код введен текущим залогиненным пользователем.
  • other — код введен другим участником команды.
  • !no_answer! — ответ еще не введен.

*(Анонимные игроки без регистрации считаются одним пользователем).*

{% match who_code_1 }:{ 
  {%= me}:{
Первый код ввел лично я.
  %}
  {%= other}:{
Первый код ввел мой напарник по команде.
  %}
  {%= !no_answer!}:{
Код еще никто не ввел.
  %}
%}

Приставка who_team_ позволяет проверить, какая команда ввела код на общем/сквозном задании. Возможные значения:

  • me — код ввела моя команда.
  • other — код ввела команда соперников.
  • !no_answer! — код еще не введен.
{% match who_team_code_1 }:{ 
  {%= me}:{
Этот код первыми закрыли мы!
  %}
  {%= other}:{
Увы, соперники успели ввести этот код раньше нас.
  %}
%}
{% match lang }:{ 
  {%= ru}:{
Выбран русский язык интерфейса.
  %}
  {%= uk }:{
Выбран украинский язык интерфейса (uk).
  %}
  {%= en }:{
Выбран английский язык интерфейса.
  %}
  {%= ?}:{ 
Какой-то другой язык.
  %}
%}

Если в вашей игре используются платные уровни или платные подсказки, вы можете проверить статус покупки:

  • product_KEY — где вместо KEY указывается ключ продукта из настроек.

Возможные значения:

  • yes — товар успешно куплен командой.
  • pending — процесс оплаты начат, но транзакция еще обрабатывается.
  • no — товар не оплачен.
{% match product_level_5 }:{ 
  {%= yes}:{
Команда купила доступ к 5 уровню.
  %}
  {%= pending}:{
Оплата обрабатывается. Пожалуйста, подождите и обновите страницу.
  %}
  {%= no}:{
Доступ закрыт. Стоимость прохождения — $1. Нажмите для оплаты:
%pay_button level_5%
  %}
%}
  • authors_main/task_editor/advanced/edit_templates.txt
  • Last modified: 2026/06/15 20:57
  • (external edit)