authors_main:author_advanced:author_scripts:author_scripts_examples

Примеры использования javascript в заданиях - вставлять в блок 'Скрипт Задания'.

$('#out_codes').hide();
$('#out_bonuses').hide();
$('#out_global_bonuses').hide();
$('#answer_result_right_out').text('Вроде верно');
$('#answer_result_repeat_out').text('Было уже');
$('#answer_result_wrong_out').text('Что-то не так');
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().replaceAll('Взять подсказку', 'Купить задание'));});

В текст задания пропишите [olymp] - это заменится на таблицу во время игры

В скрипт задания пропишите: olymp('8.2');

Вместо '8.2' можно использовать '4.2', '16.2', '32.2', '64.2', '128.2', '256.2', '9.3', '27.3', '81.3', '16.4', '64.4' - это количество начальных кодов олимпийки

Или если хотите оставить номера в кодах то: olymp_with_numbers('8.2');

Если хочется отображать не вбитое слово, а что-то другое - то заводите бонус c тем же кодом, и в 'Текст после решение' в режими исходника вставляете

<script>olymp_value(n, 'html')</script>

n - номер поля олимпийки

html - просто текст или html который будет показан в ячейке

Например: olymp_value(n, 'Храмище')

Пример

Пример с заданием в стартовых ячейках

В текст задания пропишите Всего баллов: !bonus!

Во все ответы вначале дописывает префикс p_

window.submitAnswerCallback= function(answer) {
  return 'p_' + answer;
}

Если вернуть пустую строку - ответ не будет отправлен.

Пример в игре

Надо переключить редактирование в режим исходника.

<script>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>

Надо прописать этот код в режиме «Исходник» в общий HTML заголовок для игры:

<script>
document.addEventListener("DOMContentLoaded", function() {
    if($('.closed-level').length > 0) {
      window.location='game.php?gid='+game_id;
    }
  });
</script>
  • authors_main/author_advanced/author_scripts/author_scripts_examples.txt
  • Последние изменения: 2024/11/14 18:53
  • admin