authors_main:author_advanced:author_scripts:author_scripts_examples

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

Не забудьте добавить итоговый собранный код или бонус, иначе страница будет все время перегружаться в попытке вбить несуществующий код.

Если надо что-то вызывать во всех играх каждый раз, когда обновляется задание - то можно прописать это в общий HTML заголовок для игры:

<script>
document.addEventListener("DOMContentLoaded", function() {
  function common_task_script() {
    console.log('test');
  }    
  let old_task_script = task_script;
  task_script = function() {
    old_task_script();
    common_task_script()
  };
  common_task_script();
});
</script>
  • authors_main/author_advanced/author_scripts/author_scripts_examples.txt
  • Последние изменения: 2021/10/19 13:06
  • phaust