{{indexmenu_n>30}} ====== Task Settings ====== Each task (level) in the game has a set of parameters that define the logic of its passage, auto-transitions, hints release, and bonus calculation. ===== Main Level Parameters ===== ==== Codes (Answers) ==== To pass a level, players must submit one or more correct codes. * **Case Sensitivity:** By default, code comparison is case-insensitive. * **Synonyms:** You can specify multiple correct variations (synonyms) for a single code, separating them by commas or writing them on separate lines. * **Code Types:** Codes can be main (required to pass the level) or bonus (rewarding the team with bonus seconds or points). ==== Hints ==== You can set up any number of hints for each level. * **Timer:** Hints are released automatically after a specified time (in seconds or minutes) after the team enters the level. * **Penalty Hints:** Hints can be set as penalty-based — in this case, players can open them prematurely but will receive a time or point penalty. Sometimes you want a hint released straight away, but with its contents kept out of sight until the player asks for them. To do that, wrap the hint text in a collapsible block right in **"Source"** mode:
Click to see the hint

Hint text

The same effect with a button that disappears once pressed:

Hint text

Bear in mind that text hidden this way still sits in the page source — this is a convenience, not protection. If the contents must not be reachable before their time, use the ordinary hint timer or [[en:authors_main:task_editor:advanced:edit_templates|templates]]. [[https://qeng.org/game.php?jump_to&gid=3493&task_id=79305|Example in game]] ==== Regular and Global (Spanning) Bonuses ==== * **Regular Bonuses:** Linked to a specific level. * **Global (Spanning) Bonuses:** Available across multiple levels (e.g. from level 5 to 10). If a team enters the correct answer on level 5, they cannot submit it again on level 6. Spanning bonuses for the entire game can be set from levels 1 to 999. ==== Attempt Limits ==== To protect against brute-force (guessing) answers, you can set attempt limits. * Limits can be set globally for the level (e.g., maximum 50 attempts per minute for the whole team) or individually per player. * If the limit is exceeded, the input field is blocked for the team for a configured cooldown period. This is what the player sees: above the box, how long is left to wait; below it, how many attempts in what time they are allowed. {{ :authors_main:task_editor:answer_block_en.png?800 |The "one answer per 10 seconds" limit: after a wrong code the box waits out the timer}} The block holding the lockout timer can be restyled, or have your own element attached to it — see [[en:authors_main:task_editor:advanced:page_elements#custom_styling_for_the_answer_lockout|Level Page Elements]]. [[https://qeng.org/game.php?jump_to&gid=3493&task_id=52079|Example in game]] ==== Auto-transition ==== The **"Auto-transition"** field sets the time after which the level closes on its own, even if the team has not passed it. It usually holds a duration in seconds, counted from the moment the team entered the level, so the auto-transition happens at a different time for every team. Sometimes you need the level to close for everyone at once at a particular moment — in a multi-day game, say, where the new day's task starts at an appointed hour. For that, put the **unix time** of the moment into the same field (a large number instead of a duration). Such an auto-transition does not depend on when the team reached the level. It is easy to tell apart by its behaviour in testing: restarting the level does not reset the time left until the auto-transition, and winding the level time forward in test mode does not bring it any closer. [[https://qeng.org/game.php?jump_to&gid=3493&task_id=53861|Example in game]] ==== Closing a Task: "Smart" ==== Normally a level closes as soon as all the codes are in — and any bonuses left unsolved are lost with it. The **"Close level: Smart"** option changes that: if the codes are in but unsolved bonuses remain on the level, the task does not close by itself. A **"Finish the task"** button appears instead. {{ :authors_main:task_editor:answer_finish_en.png?800 |All the codes are in and the task is still open: with "Smart" the team ends the level itself}} Until the team presses it, the players can calmly finish off the bonuses. Handy on levels where the bonuses are worth more than the time, and it would be a shame to lose them just because somebody entered the last code too early. [[https://qeng.org/game.php?jump_to&gid=3493&task_id=42721|Example in game]] ===== Offline Answer Checking ===== When playing in zones with poor mobile internet, enabling offline checking allows players to see the status of their submissions without waiting for a server response. ==== How it works: ==== - Upon entering the level, hash codes of the answers are downloaded to the player's browser. - If there is no internet, submitted answers are placed in a local queue. - Pending answers are instantly color-coded: **green** (correct), **red** (incorrect), and **white** (unknown/sending). - As soon as the connection is restored, the queue is automatically sent to the server. {{ :authors_main:task_editor:offline_queue_en.gif |The answers leave in one batch and wait in the queue: green ones the engine already recognized offline, red ones it did not}} > **Warning (Security):** Because offline hashes are stored on the client side, technically advanced players could run local brute-force scripts to guess the code, especially if it is short or follows a known pattern (e.g. word + digits). ==== Protecting against brute-force in offline mode: ==== To protect against code guessing, add a penalty bonus with decoy codes (trap codes). * For example, if the correct code is: ''baguette432''. * Add a hidden bonus with the code: ''baguette178'' (and a penalty for solving it). * To hide the bonus, write the special marker **''%hide%''** in its description. Teams won't know the trap exists, but automated brute-force scripts will hit it and receive a penalty. Offline checking is disabled by default. It is recommended to enable it only on levels where poor network coverage is expected. [[https://qeng.org/game.php?jump_to&gid=3493&task_id=42720|Example in game]]