让主程序继续运行,同时让Lua脚本进入睡眠状态。

我正在为一个集成了 Lua 脚本的程序编写插件,需要让我的脚本每隔 x 秒检查一次条件。

我尝试了不同的“睡眠” Lua 脚本的方法,但是我的所有方法都会让主程序停顿/暂停。

是否有一种方法可以让我的 Lua 脚本每隔 x 秒运行一次而不暂停主程序。

点赞
用户3828934
用户3828934

你可以使用 os.time() 和 os.difftime():

local waitTime = 3
if t1 == nil then t1 = os.time() end

-- 检查
if math.floor(os.difftime(os.time(),t1)) == waitTime then
    t1 = os.time()
    -- Do stuff
end

这将每3秒运行你的代码。

2015-02-12 14:40:15