Skip to content

/exptime

Script-provided

Registered by exptime. Start it with /lua run exptime.

Syntax

/exptime
/exptime print
/exptime reset
/exptime status
/exptime show
/exptime hide

Description

ImGui overlay showing XP-per-hour rates and time-to-next-level for Adventure, Crafting (tradeskill), and AA — all three tracks in one window.

Subcommands

Subcommand What
(no arg) Toggle the overlay window on or off.
show Force the overlay visible.
hide Hide the overlay.
print Print the current fractions, rates, and ETAs to the console.
reset Forget the rate baseline and start fresh from this moment.
status One-line health check — number of samples taken and whether the XP bars are readable.

The overlay

The window shows a five-column table — Track, Lvl, Progress (bar + %), XP/hr, and Next (time to next level/AA). Adventure and Crafting show level; AA shows the cumulative XP fraction to the next AA point.

In-window Options checkboxes let you show or hide each of the three tracks (Adventure, Crafting, AA) without stopping the script. Visibility is saved globally to config/exptime/settings.lua.

An in-window Reset button does the same as /exptime reset.

How it works

The script samples the live XP-bar fill fractions every 3 seconds from the _HUD.Experience UI element via lib/experience. The rate math is in lib/xprate: a sliding window that computes %/hour and the time remaining at the current pace.

Sampling runs on the game thread (main loop); the ImGui render callback reads only the cached snapshot, so the overlay adds no game-thread latency and never makes game reads from the render path.

Examples

/lua run exptime          # start with overlay visible
/exptime                  # toggle the overlay
/exptime print            # console dump of current rates
/exptime reset            # restart the rate baseline
/exptime status           # samples=N source_ok=true
/lua stop exptime         # stop the script

See also

  • /aaexp — toggle adventure XP gain.
  • /dps — damage per second meter (similar overlay).