The engine supports special placeholders that automatically resolve to player-specific or team-specific information:
!username! — player login!name! — player display name!teamname! — team name!game_id! — game ID!task_id! — task ID!task_n! — task number (sequence)!bonus! — sum of collected bonuses (total score)!task_bonus! — sum of bonuses earned on the current taskDescribed on the level styling page.
If you want players to submit answers by clicking a button instead of typing, switch task editing to “Source” mode and insert:
<!-- Submit answer normally -->
<button type="button" class="btn btn-default btn-block shadow" onclick="enter('Code to submit')">Submit code</button>
<!-- Submit answer silently without page feedback message -->
<button type="button" class="btn btn-default btn-block shadow" onclick="enter_silent('Code to submit')">Submit code without displaying result</button>
<!-- Submit answer with dialog confirmation -->
<button type="button" class="btn btn-default btn-block shadow confirm" onclick="enter('Code to submit')">Submit code with confirmation</button>
<!-- Submit answer with confirmation and silently -->
<button type="button" class="btn btn-default btn-block shadow confirm" onclick="enter_silent('Code to submit')">Submit code with confirmation and without displaying result</button>
You can dynamically replace task elements with content from hints, bonuses, or solved codes. To use this, switch to “Source” mode and write:
<span class='replacer' data-find='what to replace with'>Any text before replacement</span>
or
<div class='replacer' data-find='what to replace with'>Any text before replacement</div>
The data-find attribute defines which element value to copy:
#b3 .bonus-hint — bonus description text (revealed after solving) for bonus 3.#b3 .bonus-description — bonus task question description for bonus 3.#c4 .right-answer — the exact correct code submitted for sector 4.#hb2 — hint content text for hint 2 (or penalty hint 2).
<note important>
Important: There must be a space between the code/bonus selector and the class name.
* Incorrect: #c4.right-answer
* Correct: #c4 .right-answer
</note>
Typical code templates and examples of client-side scripts can be viewed here: Typical scripts.