Приклади використання 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');olymp_with_numbers('8.2');<script>olymp_value(n, 'html')</script>
n — номер поля олімпійки, а html — текст або HTML-код, який буде показаний у відповідній комірці (наприклад: olymp_value(3, 'Храмина')).Приклад олімпійки | Приклад олімпійки зі стартовими комірками
Вставте в текст завдання:
Всього балів: !bonus!
Ви можете перехоплювати та змінювати введений гравцями відповідь на клієнті перед її відправкою на сервер. Наприклад, автоматично дописати префікс p_:
window.submitAnswerCallback = function(answer) { return 'p_' + answer; }
*Якщо функція поверне порожній рядок, відправку відповіді на сервер буде заблоковано.*
Ці сценарії повинні вставлятися в полі тексту рішення бонусів/підказок у режимі “Джерело” (Source):
<script>enter('Код який треба ввести')</script>
Якщо код складається з частин, розкиданих по різних підказках чи бонусах:
<script>code_part(номер_складеного_коду, 'частинакоду', число_складених_частин)</script>
номер_складеного_коду — порядковий номер складеного коду, якщо їх у грі кілька (якщо він один — ставте 0).'частинакоду' — рядок/частина коду (обов'язково в лапках).
* число_складених_частин'' — загальна кількість складених частин, які потрібно зібрати.<note important> Важливо: Обов'язково додайте на рівень підсумковий зібраний код як звичайний код, інакше у гравців сторінка весь час перезавантажуватиметься в циклі, намагаючись відправити неіснуючий код. </note>
Якщо вам потрібно автоматично запускати певний JavaScript щоразу, коли завдання перезавантажується (оновлюється) на клієнті, пропишіть у “Загальний HTML заголовок гри”:
<script> document.addEventListener("DOMContentLoaded", function() { function common_task_script() { console.log('рівень оновився'); } 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>