author_scripts

Это старая версия документа!


Интерактивные элементы в заданиях

Автоматически заменяет указанный текст на значение на сервере.

  • !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. частькода - в кавычках часть строки вашего кода, даже если число, то используйте кавычки - части будут собираться по порядку отображения на странице. число_составных_частей - Сколько всего составных частей кода. Не забудьте добавить итоговый собранный код или бонус иначе страница будет все время перегружаться в попытке вбить несуществующий код.

  • author_scripts.1634643455.txt.gz
  • Последние изменения: 2021/10/19 11:37
  • phaust