Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
ua:authors_main:author_advanced:edit_templates [2023/04/15 20:36] admin |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{indexmenu_n>20}} | ||
- | ====== Темплейты ====== | ||
- | темплейты україньска | ||
- | |||
- | Темплейты - это выражения, которые вычисляются на сервере до отправки игрокам, а во время игры игрокам будет показан только результат выражения для именно их команды и их положения в игре. Код темплейта НЕ виден даже в исходном коде страницы, в коде будет только результат вычисления темплейта. | ||
- | |||
- | Классические применения темплейтов - это [[edit_templates#По ID команды|индивидуальные задания для команды]] либо [[edit_templates#Темплейты с использованием ответов в задании|бонусы, текст которых зависит от того, каким кодом был закрыт бонус]]. | ||
- | |||
- | Темплейты можно прописывать в обычном режиме редактора или в режиме исходника. | ||
- | |||
- | Сейчас темплейты можно прописывать в текст задания, текст подсказки, тексты бонусов. Темплейты могут быть вложенными. | ||
- | |||
- | ===== Google документ для генерации темплейтов ===== | ||
- | |||
- | [[https://docs.google.com/spreadsheets/d/1viqP3CBjYgq_vPYH-Z2USIC1DYrXzQG8_eV2bDw-4JQ/edit?usp=sharing|Google документ]]. | ||
- | |||
- | Этот док можно скопировать к себе и использовать для лёгкого создания темплейтов в уровнях. | ||
- | ====== Различные виды темплейтов====== | ||
- | ===== Модификация задания для команды ===== | ||
- | |||
- | Можно часть текста задания показывать разным для разных команд. | ||
- | ==== По ID линейки ==== | ||
- | <codedoc> | ||
- | {% match line }:{ | ||
- | {%= 688 /*можно добавить комментарий с названием линейки*/}:{ | ||
- | Текст для линейки с id 688 | ||
- | %} | ||
- | |||
- | {%= 643 }:{ | ||
- | Текст для линейки с id 643 | ||
- | %} | ||
- | {%= 653,655 }:{ | ||
- | Текст для линейки с id 653 или 655 | ||
- | %} | ||
- | |||
- | {%= ?}:{ | ||
- | Текст для любой другой линейки | ||
- | %} | ||
- | %} | ||
- | </codedoc> | ||
- | |||
- | |||
- | |||
- | ==== По ID команды ==== | ||
- | <code> | ||
- | {% match team }:{ | ||
- | {%= 688 /*можно добавить комментарий с названием команды*/}:{ | ||
- | Текст для команды с id 688 | ||
- | %} | ||
- | |||
- | {%= 643 }:{ | ||
- | Текст для команды с id 643 | ||
- | %} | ||
- | {%= 653,655 }:{ | ||
- | Текст для команды с id 653 или 655 | ||
- | %} | ||
- | |||
- | {%= ?}:{ | ||
- | Текст для любой другой команды | ||
- | %} | ||
- | %} | ||
- | </code> | ||
- | |||
- | [[https://qeng.org/game.php?jump_to&gid=3493&task_id=54272|Пример в игре]] | ||
- | |||
- | ===== Привязка события в задании к реальному времени ===== | ||
- | [[https://converter.by/unixtime|Перевод даты в unix time]] | ||
- | <code> | ||
- | {% unix_time 1639999296/*дата в unix time*/, Откроется, Осталось}:{ | ||
- | Этот текст будет показан после наступления указанного времени | ||
- | %} | ||
- | </code> | ||
- | [[https://qeng.org/game.php?jump_to&gid=3493&task_id=54338|Пример в игре]] | ||
- | ===== Темплейты с использованием ответов в задании ===== | ||
- | |||
- | Проверка последнего (текущего) вбитого ответа в первый код | ||
- | |||
- | code_1 - можно заменить 1 на номер нужного кода | ||
- | <code> | ||
- | {% match code_1 }:{ | ||
- | {%= abc}:{ | ||
- | В первый код вбит ответ abc | ||
- | %} | ||
- | |||
- | {%= bac, cba}:{ | ||
- | В первый код вбит ответ bac или cba | ||
- | %} | ||
- | |||
- | {%= !no_answer!}:{ | ||
- | В первый код ещё не вбит ответ | ||
- | %} | ||
- | |||
- | {%= ?}:{ | ||
- | Какой-то другой ответ вбит в первый код | ||
- | %} | ||
- | %} | ||
- | </code> | ||
- | Проверка первого вбитого ответа в первый код | ||
- | |||
- | code_first_1 - можно заменить 1 на номер нужного кода | ||
- | |||
- | <code> | ||
- | {% match code_first_1 }:{ | ||
- | {%= abc}:{ | ||
- | В первый код первым вбит ответ abc | ||
- | %} | ||
- | |||
- | {%= bac, cba}:{ | ||
- | В первый код первым вбит ответ bac или cba | ||
- | %} | ||
- | |||
- | {%= !no_answer!}:{ | ||
- | В первый код ещё не вбит ответ | ||
- | %} | ||
- | |||
- | {%= ?}:{ | ||
- | Какой-то другой ответ вбит в первый код | ||
- | %} | ||
- | %} | ||
- | </code> | ||
- | |||
- | Также можно использовать для проверки бонусов: | ||
- | |||
- | bonus_1 - последний (текущий) вбитый ответ в первый бонус. 1 можно заменить на нужный номер бонуса. | ||
- | |||
- | bonus_first_1 - первый вбитый ответ в первый бонус. 1 можно заменить на нужный номер бонуса. | ||
- | |||
- | Также можно использовать ответы сквозных бонусов. Сквозные бонусы можно использовать в темплейтах и в заданиях, где их не видно. | ||
- | |||
- | gbonus_1 - последний (текущий) вбитый ответ в первый сквозной бонус. 1 можно заменить на нужный номер сквозного бонуса. | ||
- | |||
- | gbonus_first_1 - первый вбитый ответ в первый сквозной бонус. 1 можно заменить на нужный номер сквозного бонуса. | ||
- | |||
- | [[https://qeng.org/game.php?jump_to&gid=3493&task_id=54273|Пример в игре]] | ||
- | |||
- | |||
- | ===== Темплейты с проверкой кто вбил код ===== | ||
- | |||
- | К темплейтам в предыдущей секции можно добавить who_, чтобы проверить кто вбил код или бонус. Или кто первый вбил код или бонус. | ||
- | |||
- | Значения будут: | ||
- | |||
- | me - если ответ вбил текущий игрок | ||
- | |||
- | other - если ответ вбил, какой-то другой игрок | ||
- | |||
- | !no_answer!- если ответ еще не вбит | ||
- | |||
- | При этом анонимные игроки считаются за одного и того же. | ||
- | |||
- | Например | ||
- | |||
- | <code> | ||
- | {% match who_code_1 }:{ | ||
- | {%= me}:{ | ||
- | В первый код вбил ответ я | ||
- | %} | ||
- | |||
- | {%= other}:{ | ||
- | В первый код вбил ответ кто-то другой | ||
- | %} | ||
- | |||
- | {%= !no_answer!}:{ | ||
- | В первый код ещё не вбит ответ | ||
- | %} | ||
- | |||
- | %} | ||
- | </code> | ||
- | |||
- | ===== Темплейты, зависящие от языка интерфейса ===== | ||
- | |||
- | <code> | ||
- | {% match lang }:{ | ||
- | {%= ru}:{ | ||
- | Русский | ||
- | %} | ||
- | |||
- | {%= uk }:{ | ||
- | Украинский | ||
- | %} | ||
- | |||
- | {%= en }:{ | ||
- | Английский | ||
- | %} | ||
- | |||
- | {%= lv }:{ | ||
- | Латышский | ||
- | %} | ||
- | |||
- | {%= ?}:{ | ||
- | Какой-то другой язык | ||
- | %} | ||
- | %} | ||
- | </code> | ||