local jipinValues = itemData.Values or {}
-- 获取极品属性列表
local exAtt = GUIFunction:GetExAttList(jipinValues)
-- 先检查exAtt是否有效
if not exAtt or not next(exAtt) then
return
end
-- 检查第一个属性的值是否存在
if not exAtt[1] or not exAtt[1].value then
return
end
看了你的代码,问题可能出在`return`语句上。你的代码中多个检查都直接返回,但没有处理后续的装备属性显示逻辑。
当`exAtt`为空、第一个属性不存在或值为空时,代码直接`return`了,这会导致整个装备属性显示流程中断,其他装备属性自然就不显示了。
建议修改为:只在确实不需要显示极品属性时跳过,但继续执行其他属性显示逻辑。比如:
```lua
local jipinValues = itemData.Values or {}
local exAtt = GUIFunction:GetExAttList(jipinValues)
local showExAtt = true -- 默认显示极品属性
-- 检查条件
if not exAtt or not next(exAtt) then
showExAtt = false
elseif not exAtt[1] or not exAtt[1].value then
showExAtt = false
else
local valueStr = tostring(exAtt[1].value)
if valueStr == "" then
showExAtt = false
end
end
-- 其他装备属性显示逻辑继续执行...
-- 只在条件满足时显示极品属性
if showExAtt then
local valueStr = tostring(exAtt[1].value)
local levelText = GUI:Text_Create(item, "strengthen_text", 0, 0, 16, "#ff0000", "+" .. valueStr)
GUI:setAnchorPoint(levelText, 1.2, -0.2)
GUI:setPosition(levelText, size.width / 2, 10)
end
```
这样修改后,即使没有极品属性,其他装备属性也能正常显示了。