根据浮生梦老师前端课程内容,需要在`checkShowConditions()`函数中添加开服第二天的判断逻辑。修改后的代码如下:
```lua
-- 检查显示条件的函数
function MainButton:checkShowConditions()
-- 判断条件1:检查是否是开服第一天
local serverOpenDay = SL:GetMetaValue("OPEN_SERVER_DAY") or 1
if serverOpenDay <= 1 then
-- SL:Print("开服第一天,不显示按钮")
return false
end
-- 新增:开服第二天直接显示按钮
if serverOpenDay == 2 then
-- SL:Print("开服第二天,直接显示按钮")
return true
end
-- 判断条件2:检查是否是星期五、六、日
local serverTime = SL:GetMetaValue("SERVER_TIME")
local timeTable = os.date("*t", serverTime)
local weekDay = timeTable.wday - 1
if weekDay == 0 then weekDay = 7 end
-- 如果不是周五、六、日,不显示
if weekDay < 5 then
-- SL:Print("不是周五、六、日,不显示按钮")
return false
end
-- 判断条件3:检查data["2"]["5"]是否等于1
local data = SL:JsonDecode(SL:GetMetaValue("SERVER_VALUE", "HUMAN(幸运转盘数据)"))
if data and data["2"] and data["2"]["5"] == 1 then
-- SL:Print("data[2][5] = 1,不显示按钮")
return false
end
local map_id = SL:GetMetaValue("MAP_ID")
if map_id == "kf_wm" or map_id == "kf_nm" then
-- SL:Print("是特殊地图,不显示按钮")
return false
end
return true
end
```
主要修改:
1. 在原来的开服第一天判断之后,新增了`serverOpenDay == 2`的判断
2. 如果开服天数等于2,直接返回`true`,跳过后续所有条件检查
3. 这样开服第二天就会直接显示按钮,不受周末等条件的限制
这个逻辑是:开服第一天不显示,开服第二天强制显示,第三天及以后按原有规则(周五、六、日显示)判断。