Files
timer/ReadMe.md
T
2026-09-21 23:05:37 -06:00

1.1 KiB

timer

Easy timers in Lua. Spiritual successor to kikito's cron.lua

Public domain! Who needs an IP anyhow?

Usage

Can be used as a drop-in replacement for kikito's cron.lua, but that misses the biggest benefit, which is the timer library itself managing timers, including discarding expired timers:

timer.after(time, function, ...) -- runs once after time
timer.every(time, function, ...) -- runs repeatedly, every time

timer.update(delta)              -- increment, run functions, discard expired..

A timer can be excluded from timer.update, in which case it must be manually updated:

local my_timer = timer.every(time, function, ...)
my_timer.manual = true

my_timer:update(delta)

timer.update returns a table of expired/unexpired timers. Example:

local my_timer = timer.after(time, function, ...)

local expired = timer.update(delta)
if expired[my_timer] then
  -- idk, whatever you needed
end

Timers can have their time set to a new value with my_timer:reset(time). If nothing is passed, they will be set to 0.