author_scripts

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
author_scripts [2021/10/19 11:35]
phaust [Обработчик ответа в задании(Пример)]
— (текущий)
Строка 1: Строка 1:
-====== Интерактивные элементы в заданиях ====== 
- 
-===== Информация зависящая от игрока/​команды ===== 
- 
-Автоматически заменяет указанный текст на значение на сервере. 
- 
-  * !username! - логин игрока 
-  * !teamname! - название команды 
-  * !game_id! - id игры 
-  * !task_id! - id задания 
-  * !task_n! - номер задания 
-  * !bonus! - сумма собранных бонусов 
-  * !task_bonus! - сумма бонусов на текущем задании 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=42717|Пример в игре]] 
- 
-===== Кнопка - при нажатии вбивается код ===== 
- 
-Надо переключить редактирование задания в режим исходника (Source). 
- 
-<code JavaScript>​ 
-<button type="​button"​ class="​btn btn-default btn-block shadow"​ onclick="​enter('​Код который надо вбить'​)">​Вбить код</​button>​ 
-<button type="​button"​ class="​btn btn-default btn-block shadow"​ onclick="​enter_silent('​Код который надо вбить'​)">​Вбить код без отображения результата</​button>​ 
-<button type="​button"​ class="​btn btn-default btn-block shadow confirm"​ onclick="​enter('​Код который надо вбить'​)">​Вбить код с подтверждением</​button>​ 
-<button type="​button"​ class="​btn btn-default btn-block shadow confirm"​ onclick="​enter_silent('​Код который надо вбить'​)">​Вбить код с подтверждением и без отображения результата</​button>​ 
-</​code>​ 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=42718|Пример в игре]] 
- 
-===== Замена элементов в задании на элементы из бонусов,​ кодов, подсказок ===== 
- 
-Надо переключить редактирование задания в режим исходника (Source). 
- 
-<​html>​ 
-<span class='​replacer'​ data-find='​чем заменять'>​Любой текст до замены</​span>​ 
-</​html>​ 
- 
-или 
- 
-<​html>​ 
-<div class='​replacer'​ data-find='​чем заменять'>​Любой текст до замены</​div>​ 
-</​html>​ 
- 
-"​Любой текст до замены"​ - если хотите,​ то может быть пустой. ​ 
-Ну, или любой текст, в том числе, и с картинками 
-"​чем заменять"​ может быть чем-то из этого: 
- 
-  * Элемент ненумерованного спискаСодержимое бонуса,​ например 3-го: ''#​b3 .bonus-hint''​ 
-  * Правильно вбитый код, например,​ 4ый: ''#​c4 .right-answer''​ 
-  * Текст подсказки или штрафной подсказки,​ например,​ 2-ой: ''#​hb2''​ 
- 
-В итоге должно выглядеть,​ например:​ 
- 
-<​html>​ 
-<span class='​replacer'​ data-find='#​c4 .right-answer'></​span>​ 
-</​html>​ 
- 
-Важный момент - между номером кода/​бонуса и . должен быть пробел. 
- 
-''#​c4.right-answer''​ - неправильно 
- 
-''#​c4 .right-answer''​ - правильно 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=52024|Пример в игре]] 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=52022|Другой пример в игре]] 
- 
-=====Скрипты в Заданиях===== 
- 
-Примеры использования javascript в заданиях - вставлять в блок '​Скрипт Задания'​. 
- 
-====Скрыть Коды==== 
- 
-<code JavaScript>​ 
-$('#​out_codes'​).hide();​ 
-</​code>​ 
- 
-====Скрыть бонусы==== 
- 
-<code JavaScript>​ 
-$('#​out_bonuses'​).hide();​ 
-</​code>​ 
- 
-====Скрыть глобальные бонусы==== 
- 
-<code JavaScript>​ 
-$('#​out_global_bonuses'​).hide();​ 
-</​code>​ 
- 
-====На месте таймера автоперехода отображать время проведенное на задании==== 
- 
-<code JavaScript>​ 
-show_time_on_task();​ 
-</​code>​ 
- 
-Работает только если в задании нет автоперехода 
- 
-====Заменить '​Автопереход'​ на другое название==== 
- 
-<code JavaScript>​ 
-$('​span#​out_end_time'​).each(function(){$(this).html($(this).html().replace('​Автопереход',​ '​Время до закрытия зоны'​));​});​ 
-</​code>​ 
- 
-====Заменить '​Подсказка'​ на другое название==== 
- 
-<code JavaScript>​ 
-$('​span.hint_name'​).each(function(){$(this).html($(this).html().replace('​Подсказка',​ '​Возможное время до закрытия зоны'​));​});​ 
-</​code>​ 
- 
-====Заменить текст на кнопке '​Купить подсказку'​==== 
- 
-<code JavaScript>​ 
-$('​div#​out_hints'​).each(function(){$(this).html($(this).html().replace('​Взять подсказку',​ '​Купить задание'​));​});​ 
-</​code>​ 
- 
-====Олимпийка:​==== 
- 
-В текст задания пропишите ''​[olymp]''​ - это заменится на таблицу во время игры 
- 
-В скрипт задания пропишите:​ ''​olymp('​8.2'​)'';​ 
- 
-Вместо '​8.2'​ можно использовать '​4.2',​ '​16.2'​ или '​32.2'​ - это количество начальных кодов олимпийки 
- 
-Или если хотите оставить номера в кодах то: ''​olymp_with_numbers('​8.2'​)'';​ 
- 
-Если хочется отображать не вбитое слово, а что-то другое - то заводите бонус c тем же кодом, и в '​Текст после решение'​ в режими исходника вставляете ​ 
- 
-<​html>​ 
-<​script>​olymp_value(n,​ '​html'​)</​script>​ 
-</​html>​ 
- 
- ''​n''​ - номер поля олимпийки 
- 
- ''​html''​ - просто текст или html который будет показан в ячейке 
- 
-Например:​ ''​olymp_value(n,​ '​Храмище'​)''​ 
- 
-====Отображение собранных штурмовых баллов в задании==== 
- 
-В текст задания пропишите Всего баллов:​ ''​[money]''​ 
- 
-В скрипт задания пропишите:​ ''​show_money();''​ 
- 
-====Обработчик ответа в задании==== 
- 
-Во все ответы вначале дописывает префикс ''​p_''​ 
- 
-<code JavaScript>​ 
-window.submitAnswerCallback= function(answer) { 
-  return '​p_'​ + answer; 
-} 
-</​code>​ 
-Если вернуть пустую строку - ответ не будет отправлен. 
  
  • author_scripts.1634643357.txt.gz
  • Последние изменения: 2021/10/19 11:35
  • phaust