Skip to content
kahlen-tech edited this page Nov 4, 2026 · 1 revision

Description

Trains whatever needs it most by running your scripts. You give it a training_list in priority order. Each entry names a skill (or several), the mindstate to start training at, and the scripts to run. T2 works down the list, runs the scripts for the first entry whose skill is below its start, then begins again from the top. It keeps going until you stop it.

See the T2 Tutorial for how to plan a training list, with examples.

T2 only runs scripts. It doesn't move you, change your gear or get you healed unless a script in your list does, so end each entry somewhere safe.
When T2 stops, however it stops, it stops the scripts it started (see t2_no_kill) and releases your cyclic spells, except those in cyclic_no_release.

Settings

YAML Settings

The training list

training_list:
- skill: Outfitting
  start: 10
  scripts:
  - gosafe
  - workorders tailoring
- skill:
  - Shield Usage
  - Parry Ability
  - Small Edged
  name: Weapons
  start: 10
  scripts:
  - hunting-buddy threshold
- skill: Astrology
  start: 20
  moons: true
  scripts:
  - astrology

Each entry has:

Setting Purpose
skill The skill, spelled as the game shows it, or a list of skills. A list runs when any one of them is below start.
start Run while the skill is below this mindstate (0 to 34).
scripts The scripts to run in order, each with its arguments, as you'd type it after ;. It waits for each to finish. A script that doesn't exist is skipped: "ERROR: Script 'name' does not exist, skipping".
name A name for the status messages, handy for an entry with a list of skills.
moons true to skip the entry while no moons are visible.
  • It says "***STATUS*** Starting (start) skill" and, when the scripts are done, "***STATUS*** Completed skill in time".
  • If nothing needs training, it says "Ran out of things to do - please read the T2 tutorial if you see this message." and sleeps 60 seconds. An entry at the bottom with a high start gives it something to do.
  • A skill name the game doesn't have, like Chores, always has 0 mindstates, so its entry always runs. With an exp_timers entry it runs every so often instead (see the tutorial).

Skill timers

exp_timers:
  Attunement: 130
  First Aid: 400
  Locksmithing: 600
  Stealth: 300
  Theurgy: 720
  Thievery: 600
  Chores: 50400

After an entry runs, T2 skips it for this many seconds. The first six are the base.yaml defaults, so those skills have timers even if you don't set any. Your own exp_timers replaces the whole list, so copy any you want to keep.

  • Timers only work for an entry with a single skill, not a list, and must be a number of seconds.
  • They're saved between runs. Crossing Training reads the same setting but keeps its own timers.

Starting and stopping

t2_startup_delay: 0
t2_before_startup:
- buff
t2_after_shutdown:
- gosafe
- sell-loot
- gosafe
t2_skip_awaken: false
t2_avoids:
- type: join
  state: true
- type: hold
  state: true
- type: drag
  state: true
t2_burgle_every_block: false
t2_no_kill: []
cyclic_no_release: []
Setting Default Purpose
t2_startup_delay 0 Seconds after login to wait before starting, so your skills have loaded when T2 autostarts. If you've been logged in longer than that, it doesn't wait.
t2_before_startup Scripts to run once before training starts.
t2_after_shutdown gosafe, sell-loot, gosafe Scripts to run after a controlled shutdown (see Usage). Not when you kill T2.
t2_skip_awaken false Don't AWAKEN when it starts.
t2_avoids join, hold, drag AVOID settings to make when it starts. state: true starts avoiding it (AVOID !type), false stops (AVOID type). Your own list replaces the default.
t2_burgle_every_block false Run ;burgle start before every entry. See Burgle Settings.
t2_no_kill [] Scripts T2 started that it should leave running when it stops. ALL, in capitals, leaves them all. Scripts you started yourself are never stopped.
cyclic_no_release Cyclic spells, by name, to leave up when it stops.

When it starts, it sets your avoids, waits out t2_startup_delay, runs t2_before_startup, then AWAKENs.

Argument Settings

Argument Purpose
nodelay Start straight away, ignoring t2_startup_delay.
name Also load <character>-<name>.yaml on top of your setup file, e.g. for a second training list. ;t2 back loads Mychar-back.yaml.

Usage

;t2

;t2 nodelay

;t2 back

While it's running:

Command What it does
;e $T2.shutdown Stop once the current entry's scripts finish, then run t2_after_shutdown.
;e $T2.noshutdown Cancel the shutdown.
;e $T2.reload_settings Load your settings again, after you've edited your training list, without restarting. If the new training_list is missing or empty, it keeps the old one and says "Detected invalid T2 settings - please double check your config". ;e $T2.reload_settings(true) also shows the new list.

Autostart

To start T2 when you log in, add it to your autostarts with a t2_startup_delay:

autostarts:
  - t2
t2_startup_delay: 15

Clone this wiki locally