local leishen = {}
function leishen.main(param1, param2, param3, param4)
lib:Require(param1, function(state)
if state then
if param1 then
leishen.parent = lib:openwin(param1, nil, true, param4) or {}
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-03-23 20:40:10 |
👁️ 阅读: 2
你的代码中,按钮`Button_3`的点击逻辑缺少一个关键的条件判断。根据浮生梦老师前端课程内容,你需要在点击事件触发前,检查服务端变量`U51`的值是否大于等于2。
修改`leishen.upmain()`函数中关于`Button_3`的部分,在`GUI:addOnClickEvent`内部增加一个条件判断即可。以下是修改后的代码片段:
```lua
if GUI:Win_IsNotNull(ui["Button_3"]) then
GUI:addOnClickEvent(ui["Button_3"], function()
-- 新增条件判断:只有当U51 >= 2时才能执行
local currentU51 = tonumber(SL:GetMetaValue("SERVER_VALUE", "U51"))
if not currentU51 or currentU51 < 2 then
SL:print("条件不满足,U51 =", currentU51)
return
end
SL:print("点击焚天升级按钮")
GUI:delayTouchEnabled(ui["Button_3"], 0.2)
-- 发送升级请求
local msg = {}
msg.Script = leishen.param1
local jsonstr = SL:JsonEncode(msg)
SL:SendLuaNetMsg(58003, leishen.param2, 0, 0, jsonstr)
GUI:setVisible(ui.Image_1, false)
GUI:setVisible(ui.Image_4, true)
GUI:setVisible(ui.Image_5, false)
end)
end
```
**修改说明:**
1. 在按钮点击事件的最开始,使用 `SL:GetMetaValue("SERVER_VALUE", "U51")` 实时获取最新的`U51`值。
2. 通过 `tonumber()` 转换为数字,并判断是否 `>= 2`。
3. 如果条件不满足,打印一条日志并直接 `return`,不执行后面的升级逻辑。
这样,只有当玩家满足条件(`U51 >= 2`)时,点击`Button_3`才会发送升级请求并切换图片显示。
你的代码中,按钮`Button_3`的点击逻辑缺少一个关键的条件判断。根据浮生梦老师前端课程内容,你需要在点击事件触发前,检查服务端变量`U51`的值是否大于等于2。
修改`leishen.upmain()`函数中关于`Button_3`的部分,在`GUI:addOnClickEvent`内部增加一个条件判断即可。以下是修改后的代码片段:
```lua
if GUI:Win_IsNotNull(ui["Button_3"]) then
GUI:addOnClickEvent(ui["Button_3"], function()
-- 新增条件判断:只有当U51 >= 2时才能执行
local currentU51 = tonumber(SL:GetMetaValue("SERVER_VALUE", "U51"))
if not currentU51 or currentU51 < 2 then
SL:print("条件不满足,U51 =", currentU51)
return
end
SL:print("点击焚天升级按钮")
GUI:delayTouchEnabled(ui["Button_3"], 0.2)
-- 发送升级请求
local msg = {}
msg.Script = leishen.param1
local jsonstr = SL:JsonEncode(msg)
SL:SendLuaNetMsg(58003, leishen.param2, 0, 0, jsonstr)
GUI:setVisible(ui.Image_1, false)
GUI:setVisible(ui.Image_4, true)
GUI:setVisible(ui.Image_5, false)
end)
end
```
**修改说明:**
1. 在按钮点击事件的最开始,使用 `SL:GetMetaValue("SERVER_VALUE", "U51")` 实时获取最新的`U51`值。
2. 通过 `tonumber()` 转换为数字,并判断是否 `>= 2`。
3. 如果条件不满足,打印一条日志并直接 `return`,不执行后面的升级逻辑。
这样,只有当玩家满足条件(`U51 >= 2`)时,点击`Button_3`才会发送升级请求并切换图片显示。
← 返回问答库