[string "scripts/util/util.lua"]:962: attempt to call field 'setString' (a nil value)
local longwenbaoshi = {}
function longwenbaoshi.main(param1, param2, param3, param4)
lib:Require(param1, function(state)
if state then
if p
错误分析:你的代码中使用了 `GUI:Win_IsNotNull()` 函数,但这个函数在浮生梦老师前端课程内容中并不存在。应该使用 `GUI:Win_IsNull()` 函数来判断控件是否为空,然后取反。
修正后的代码:
```lua
-- 只更新攻击和生命显示
if not GUI:Win_IsNull(ui["shengm"]) then
local shengm_value = next_data.cur_attr_8 or 0
GUI:Text_setString(ui["shengm"], tostring(shengm_value) .. "%")
end
if not GUI:Win_IsNull(ui["huixue"]) then
local huixue_value = next_data.cur_attr_7 or 0
GUI:Text_setString(ui["huixue"], tostring(huixue_value))
end
if not GUI:Win_IsNull(ui["baolv"]) then
local baolv_value = next_data.cur_attr_11 or 0
GUI:Text_setString(ui["baolv"], tostring(baolv_value))
end
if not GUI:Win_IsNull(ui["fuhuoshiji"]) then
local fuhuoshiji_value = next_data.cur_attr_9 or 0
GUI:Text_setString(ui["fuhuoshiji"], tostring(fuhuoshiji_value))
end
```
同样,其他地方的 `GUI:Win_IsNotNull()` 也需要修改:
```lua
-- 修改前:
if GUI:Win_IsNotNull(ui.itemroom) then
GUI:Text_setString(ui.itemroom, "已满级")
end
-- 修改后:
if not GUI:Win_IsNull(ui.itemroom) then
GUI:Text_setString(ui.itemroom, "已满级")
end
```
记住:在996引擎中,判断控件是否存在的正确方法是使用 `GUI:Win_IsNull(widget)` 函数,如果要判断控件存在,就使用 `not GUI:Win_IsNull(widget)`。
下次写代码时要仔细检查函数名,不确定的函数可以问浮生梦老师!