File Details
Lapper2.1.zip
- R
- Mar 9, 2026
- 17.01 KB
- 10
- 12.0.1
- Retail
File Name
Lapper2.1.zip
Supported Versions
- 12.0.1
Changelog
v2.1
Lap timeout and timer safety
Lap Timeout
- A lap is now automatically abandoned if no gate is touched for 30 minutes
- All in-progress lap state is cleared (gates hit, pip indicators, overlays) and gate overlays reset to their active state
- A chat message is printed when the timeout fires (respects the Notifications toggle)
- The 30-minute clock resets on every gate touch — only counts idle time between gate crossings
Timer Overflow Protection
FmtTimenow clamps all time values to\[0, 30 minutes\]before formatting — displayed times can never be negative or exceed the timeout ceiling- Lap times recorded in
FinishLapare clamped at the same bounds before being saved tobestLap— no impossible times can enter saved data - The
/lap debugelapsed time display inherits the same clamp viaFmtTime
Internal
- Added
lastGateTimestate variable — tracksGetTime()of the most recent gate touch lastGateTimeis cleared in all reset paths:/lap reset, Reset Stats confirmation, and the new timeout handler- Added
LAP\_TIMEOUT = 1800constant
v2.0
Settings panel overhaul and UI polish
Settings Panel — Layout
- Rebuilt the entire settings panel layout from scratch using a shared column grid
- All sections (Gates, Gate Colours) now share the same column positions — headers align top-to-bottom across sections
- All content has equal left and right padding — right edges of every row are flush across the full panel
- Panel width reduced from 560px to 490px, auto-fit to content
- Removed dark background bands from sub-section headers — cleaner, lighter appearance
- Panel height auto-calculated from content cursor position
Settings Panel — Gate Overlay Section
- Added X/Y position boxes showing the current overlay offset — always populated on login from saved data, no longer blank until first move
- Added Set button — type X/Y values directly and apply them
- Added Center H and Center V buttons — snap overlay to horizontal or vertical screen centre independently
- Added x1 label restored to nudge row; nudge buttons aligned with position boxes above
- Reset button moved from the position row to the end of the nudge row
- All overlay section content uses the available panel width with consistent spacing
Settings Panel — Gate Colours Section
- Colour swatches are now 1:1 squares (22×22px) matching button height
- R/G/B column positions aligned with X/Y/SetP columns in the Gates section
Settings Panel — Gates Section
- Gate colour swatches span full row block height and align flush with name boxes
ElvUI Colour Hook
- Text colours are now derived from the ElvUI theme at login
textHi(section titles) scales with backdrop brightnesstextMid(row labels) scales with backdrop brightnesstextDim(column headers) scales with backdrop brightness
- Previously all text used hardcoded grey values regardless of ElvUI theme
- Introduced
TH()/TM()/TD()style sheet helpers — all label sites in the settings panel use these consistently
Bug Fixes
- Fixed
RefreshOverlayBoxesscoping error (nil call on login) — forward-declared as a module-level upvalue so it is visible toLoadOverlayOffsetwhich runs atPLAYER\_LOGIN - Fixed overlay X/Y boxes not showing saved position until the panel was manually opened — boxes now populate immediately after saved data is loaded
v1.0
Initial release
Core Detection
- Four-gate lap detection — any gate starts and any order completes a lap
- 3-second per-gate cooldown prevents double-counting
- Mid-lap state saved per character and restored on reload
- Pending lap finish mechanic — all four gates must be crossed before a final crossing records the lap
- Detection scoped to a configurable zone map ID (default: 2393)
HUD
- Compact flat draggable panel
- Live lap timer, last lap time, personal best, character count, account-wide total
- Four gate progress pips that light up in gate colour as each checkpoint is crossed
- Close button; reopenable with
/lap show
Gate Overlay
- Four screen-space gate bars rendered as coloured labelled lines
- All gates move as a single unit — drag any bar or label to reposition
- Overlay offset saved per character and restored on login
- Gate bars fade when crossed during a lap; restore on lap completion or reset
- Show/hide toggle in settings
Settings Panel
- Gate names, P1/P2 coordinates (set from current position or typed manually), per-gate Apply
- Sensor width and zone map ID
- Gate colours with R/G/B input, live swatch, Apply and Default per gate
- Chat notification toggle
- Reset Gates and Reset Stats (with confirmation)
Persistence
- Per-character: coordinates, colour overrides, HUD position, overlay offset, lap counts, best lap, mid-lap state
- Account-wide: total laps, per-character bests, zone map ID, sensor width
ElvUI Integration
- Auto-detects ElvUI; reads backdrop, border, and accent colours
- Falls back to neutral defaults without ElvUI
Slash Commands
/lap,/lap hide,/lap settings,/lap reset,/lap stats/lap mycount,/lap acctcount,/lap debug,/lap help,/lapper

