Repository navigation
achievements.tbl
github-actions[bot] edited this page Oct 28, 2026
·
1 revision
The achievements.tbl is used by SCPUI to define the achievements available for a particular mod, and how they are unlocked.
This table is NOT modular, by design, and cannot be extended.
Code: /content/data/scripts/scpui_sm_achievements.lua. See Tables for every table.
Badges show the SCPUI version a field or behavior was added in. Fields without a badge arrived with the table.
Field index (every field, one per line in table order; click one to jump to it)
- Table begins with #ACHIEVEMENTS
- Individual achievements, each starting with $Name:
- Table ends with #End
- The list of achievements
- Can have multiple achievements, each starting with
$Name:
- The name of the achievement as shown to the player.
- Cannot exceed 32 characters. A longer name is reported as an error.
- Must be unique. A duplicate name is reported as an error.
- Syntax: String
- Required. A string describing the achievement.
- Cannot exceed 50 characters. A longer description is reported as an error.
- Syntax: String
- Required. Begins parsing the Criteria section.
- Contains no value
- Required. The criteria type. Must be exactly one of "Custom", "Number of Kills", or "Weapons Fired" (case-sensitive). Any other value is reported as an error.
- Syntax: String
- Optional. The target of the achievement criteria.
- If the type is Number of Kills then this should be a ship class. If the type is Weapons Fired this should be a weapon class. For other criteria types this field is discarded.
- An unknown ship class (Number of Kills) or weapon class (Weapons Fired) is reported as an error.
- If not provided then all ships or weapons count towards the achievement.
- Syntax: String
- Optional. The threshold of the criteria. IE: The number of whatever the player must reach to unlock the achievement.
- For singular event custom achievements a value of 1 should be used.
- Must be greater than 0. A value of 0 or less is reported as an error.
- Syntax: Float
- Default: 1
- Optional. Specifies if the achievement should be hidden until unlocked.
- Syntax: Boolean
- Default: false
- Optional. The color of the text for the achievement in the UI.
- Use R,G,B,A format. A is optional and defaults to 255. Spaces are allowed after the commas but not before them. Each value is clamped to 0-255.
- An invalid format is reported as an error and stops parsing of the rest of the table.
- Syntax: Integer, Integer, Integer, Integer
- Default: the UI default color
- Optional. The color of the progress bar for the achievement in the UI.
- Use R,G,B,A format. A is optional and defaults to 255. Spaces are allowed after the commas but not before them. Each value is clamped to 0-255.
- An invalid format is reported as an error and stops parsing of the rest of the table.
- Syntax: Integer, Integer, Integer, Integer
- Default: green (
#4CAF50)
#ACHIEVEMENTS
$Name: Fighter Ace
+Description: Destroy 50 GTF Ulysses fighters
+Criteria:
+Type: Number of Kills
+Target: GTF Ulysses
+Threshold: 50
+Hidden: false
+Color: 128, 128, 128, 255
+Bar Color: 255, 0, 0, 255
$Name: Secret Path
+Description: Find the hidden jump node
+Criteria:
+Type: Custom
+Hidden: true
#END