local MainButton = {}
MainButton.cfg = {
{ but_id = "id1", x = 230, y = -270, but_img = "res\\custom\\top/20.png", cmd = { 1, 0, 0 } },
}
-- 检查明天是否是周五、六、日
function MainButton:checkTomorrowIsWeekend()
local serverTime = SL:GetMetaValue("SERVE
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-12 08:42:41 |
👁️ 阅读: 16
在你的代码中,明天凌晨刷新定时器的开启位置是在 `MainButton:main()` 函数内的 `checkTomorrowIsWeekend()` 判断之后。具体来说,是在今天不显示按钮且明天是周末时,会调用 `self:setupMidnightRefresh()` 计算延迟时间,然后通过 `SL:ScheduleOnce` 开启定时器。
你需要在开启定时器的地方添加打印,可以修改这部分代码:
```lua
-- 在main函数中检查显示条件后
if not self:checkShowConditions() then
-- 如果今天不显示,检查明天是否需要显示
if self:checkTomorrowIsWeekend() then
-- 设置明天凌晨的定时器
local delaySeconds = self:setupMidnightRefresh()
-- 在这里添加打印
SL:Print("明天是周末,开启凌晨刷新定时器,延迟秒数:", delaySeconds)
SL:Print("当前时间:", os.date("%Y-%m-%d %H:%M:%S", SL:GetMetaValue("SERVER_TIME")))
SL:Print("刷新时间:", os.date("%Y-%m-%d %H:%M:%S", SL:GetMetaValue("SERVER_TIME") + delaySeconds))
SL:ScheduleOnce(function()
self:main()
SL:Print("凌晨刷新成功,重新执行main函数")
end, delaySeconds)
else
-- 如果明天不是周末,也可以打印一下
SL:Print("明天不是周末,不开启凌晨刷新定时器")
end
self:cleanupOldNode(parent)
return
end
```
另外,在 `setupMidnightRefresh()` 函数中你已经有了打印,但如果你想在调用时也打印,可以在 `main` 函数中调用后添加:
```lua
-- 设置凌晨刷新(无论明天是否是周末都设置)
local delaySeconds = self:setupMidnightRefresh()
SL:Print("设置常规凌晨刷新,延迟秒数:", delaySeconds)
SL:ScheduleOnce(function()
self:main()
SL:Print("常规凌晨刷新执行完成")
end, delaySeconds)
```
这样修改后,当代码执行到开启明天凌晨刷新定时器时,会在控制台输出相关信息,帮助你调试和确认定时器是否正确设置。
← 返回问答库