time
时间。
time.now() → number
实际秒(等价 os.clock)。
time.delta() → number
上帧 delta time。
time.game() → number
游戏内时间,来源 LocalPlayer.time_base(暂停时停)。
time.curtime() → number
服务端权威时间(client_state.curtime 直读)。跟 time.game() 通常一致,但 curtime 是死亡圈倒计时 / 子弹时间等 server 状态的唯一权威时间 —— 涉及死亡圈半径变化 / server tick 同步时用这个。无 game state 时返 0。
time.frame_count() → number
渲染帧计数,单调递增,每渲染帧 +1。
| 函数 | 含义 | 用途 |
|---|---|---|
time.now() | 墙钟秒(等价 os.clock()) | 计时器 / 节流 / 任何"现实秒数" |
time.delta() | 上一帧耗时(秒) | 速度积分(移动、动画 lerp) |
time.game() | 游戏内时间(本地视角) | 跟 in-game time 同步(暂停时停) |
time.curtime() | 服务端权威时间 | 死亡圈 / 子弹时间 / server-side 倒计时 |
time.frame_count() | 累计渲染帧数 | 模数调度(% N == 0),轻量周期任务 |
lua
-- 每 60 帧(约 1s @ 60fps)执行一次重活
event.on("frame_update", function(e)
if time.frame_count() % 60 == 0 then
do_heavy_thing()
end
end)也可以从 event.on("frame_update", fn) 的 fn(e) 第一个参数 e 里拿 e.delta_time——值与 time.delta() 等价但少一次函数 call。