Skip to content

achievements.tbl

github-actions[bot] edited this page Oct 28, 2026 · 1 revision

SCPUI 1.1.0 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.

Contents

  1. Format
  2. #ACHIEVEMENTS
  3. Sample
Field index (every field, one per line in table order; click one to jump to it)

#ACHIEVEMENTS


Format

  • Table begins with #ACHIEVEMENTS
  • Individual achievements, each starting with $Name:
  • Table ends with #End

#ACHIEVEMENTS

  • The list of achievements
  • Can have multiple achievements, each starting with $Name:

$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

+Description:

  • Required. A string describing the achievement.
  • Cannot exceed 50 characters. A longer description is reported as an error.
  • Syntax: String

+Criteria:

  • Required. Begins parsing the Criteria section.
  • Contains no value
+Type:
  • 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
+Target:
  • 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
+Threshold:
  • 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

+Hidden:

  • Optional. Specifies if the achievement should be hidden until unlocked.
  • Syntax: Boolean
  • Default: false

+Color:

  • 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

+Bar 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)

Sample

#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

Clone this wiki locally