Challenges and tasks¶
One YAML file is one challenge. The filename without .yaml is the challenge id. Schedules list that id.
Put files in:
/addons/counterstrikesharp/configs/plugins/Challenges/blueprints/
Only files named by a current or upcoming schedule are loaded. See Schedules.
Minimal example¶
title:
en: Headshots in a row
de: Kopfschüsse hintereinander
tasks:
- id: easy
title:
en: "{count}/{total} headshots"
de: "{count}/{total} Kopfschüsse"
type: player_kill
amount: 3
rules:
- key: global.iswarmup
operator: bool==
value: "false"
- key: headshot
operator: bool==
value: "true"
requires: []
- id: medium
title:
en: "{count}/{total} headshots"
type: player_kill
amount: 10
rules:
- key: headshot
operator: bool==
value: "true"
requires:
- easy
Full patterns (streaks, resets, rewards) are in examples/blueprints/. Or use the builder.
Challenge fields¶
Id¶
Snake_case filename without .yaml. Must match the entry in schedules.yaml.
Title¶
Name in the HUD. At least one language is required. Fallback: player language → two-letter code → first language in the map.
Data¶
Optional payload for other plugins when the whole challenge is solved. See Challenge data.
Tasks¶
Ordered list of tasks. Put the first unlockable task at the top.
Task fields¶
Task id¶
Unique inside this file.
Task title¶
Language map. Supports {count} and {total}. If empty, the challenge title is used. Same language fallback as the challenge title.
Type¶
Game event or listener type — see Events and Listeners. Put one value in the task type: field.
Amount¶
How many matching events are needed. Values below 1 are treated as 1.
Cooldown¶
Minimum seconds between counted events for this task (default 0 = every match can count).
Visible¶
Show in HUD and count toward “solved” (default true).
Announce¶
announce_progress / announce_completion — per-task chat (and Discord completion) switches (default true). Global switches are in Settings.
Data¶
Optional payload on this task’s progress/completion events. See Task data.
Rules¶
Conditions on the event — see Rules. Every rule must pass (AND).
Actions¶
Side effects when the task reaches its amount — see Actions.
Requires¶
Other task ids in this file that must be finished first. Empty = available immediately. Several ids = all must be done (AND).
How tasks unlock¶
- Tasks with empty
requirescan run in parallel. - A challenge is solved when every
visible: truetask is done. - Hidden tasks (
visible: false) are control steps. They stay off the HUD and do not count toward the solved total. - Finishing a task does not also credit the next task on the same event. List stages from first unlockable task at the top to last at the bottom.