Это старая версия документа!
Интерактивные элементы в заданиях
Информация зависящая от игрока/команды
Автоматически заменяет указанный текст на значение на сервере.
- !username! - логин игрока
- !teamname! - название команды
- !game_id! - id игры
- !task_id! - id задания
- !task_n! - номер задания
- !bonus! - сумма собранных бонусов
- !task_bonus! - сумма бонусов на текущем задании
Кнопка - при нажатии вбивается код
Надо переключить редактирование задания в режим исходника (Source).
<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>
Замена элементов в задании на элементы из бонусов, кодов, подсказок
Надо переключить редактирование задания в режим исходника (Source).
<span class='replacer' data-find='чем заменять'>Любой текст до замены</span>
или
<div class='replacer' data-find='чем заменять'>Любой текст до замены</div>
«Любой текст до замены» - если хотите, то может быть пустой. Ну, или любой текст, в том числе, и с картинками «чем заменять» может быть чем-то из этого:
- Элемент ненумерованного спискаСодержимое бонуса, например 3-го:
#b3 .bonus-hint - Правильно вбитый код, например, 4ый:
#c4 .right-answer - Текст подсказки или штрафной подсказки, например, 2-ой:
#hb2
В итоге должно выглядеть, например:
<span class='replacer' data-find='#c4 .right-answer'></span>
Важный момент - между номером кода/бонуса и . должен быть пробел.
#c4.right-answer - неправильно
#c4 .right-answer - правильно
Скрипты в Заданиях
Примеры использования javascript в заданиях - вставлять в блок 'Скрипт Задания'.
Скрыть Коды
$('#out_codes').hide();
Скрыть бонусы
$('#out_bonuses').hide();
Скрыть глобальные бонусы
$('#out_global_bonuses').hide();
На месте таймера автоперехода отображать время проведенное на задании
show_time_on_task();
Работает только если в задании нет автоперехода
Заменить 'Автопереход' на другое название
$('span#out_end_time').each(function(){$(this).html($(this).html().replace('Автопереход', 'Время до закрытия зоны'));});
Заменить 'Подсказка' на другое название
$('span.hint_name').each(function(){$(this).html($(this).html().replace('Подсказка', 'Возможное время до закрытия зоны'));});
Заменить текст на кнопке 'Купить подсказку'
$('div#out_hints').each(function(){$(this).html($(this).html().replace('Взять подсказку', 'Купить задание'));});
Олимпийка:
В текст задания пропишите [olymp] - это заменится на таблицу во время игры
В скрипт задания пропишите: olymp('8.2');
Вместо '8.2' можно использовать '4.2', '16.2' или '32.2' - это количество начальных кодов олимпийки
Или если хотите оставить номера в кодах то: olymp_with_numbers('8.2');
Если хочется отображать не вбитое слово, а что-то другое - то заводите бонус c тем же кодом, и в 'Текст после решение' в режими исходника вставляете
<script>olymp_value(n, 'html')</script>
n - номер поля олимпийки
html - просто текст или html который будет показан в ячейке
Например: olymp_value(n, 'Храмище')
Отображение собранных штурмовых баллов в задании
В текст задания пропишите Всего баллов: [money]
В скрипт задания пропишите: show_money();
Обработчик ответа в задании
Во все ответы вначале дописывает префикс p_
window.submitAnswerCallback= function(answer) { return 'p_' + answer; }
Если вернуть пустую строку - ответ не будет отправлен.
Скрипты в бонусах и подсказках
Надо переключить редактирование в режим исходника. Автоматически вбить код, если еще не был вбит:
<script type='text/javascript'>enter('Код который надо вбить')</script>
Составные коды в бонусах/штрафных подсказках
В режиме исходника в ответ на бонус/подсказку добавьте
<script>code_part(номер_составного_кода, 'частькода', число_составных_частей)</script>
номер_составного_кода - Это не номер части кода - это надо только, если составных кодов в задании несколько. Если код один, то ставьте 0. частькода - в кавычках часть строки вашего кода, даже если число, то используйте кавычки - части будут собираться по порядку отображения на странице. число_составных_частей - Сколько всего составных частей кода. Не забудьте добавить итоговый собранный код или бонус иначе страница будет все время перегружаться в попытке вбить несуществующий код.