function Rank.CreateListCell(parent, data)
GUI:LoadExport(parent, "rank/rank_cell_win32")
local cell = GUI:getChildByName(parent, "Panel_cells")
local ui = GUI:ui_delegate(cell)
local rank = tonumber(data.rank) or 1
if rank > 0 an
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-09 11:54:54 |
👁️ 阅读: 0
根据你提供的代码,要实现转生等级后面显示普通等级,需要修改显示等级的部分。从代码中可以看到 `data.Value` 存储的是转生等级的显示字符串,我们需要在后面追加普通等级信息。
```lua
function Rank.CreateListCell(parent, data)
GUI:LoadExport(parent, "rank/rank_cell_win32")
local cell = GUI:getChildByName(parent, "Panel_cells")
local ui = GUI:ui_delegate(cell)
local rank = tonumber(data.rank) or 1
if rank > 0 and rank <= 3 then
GUI:setVisible(ui.Text_rank, false)
GUI:setVisible(ui.Image_rank, true)
GUI:Image_loadTexture(ui.Image_rank, Rank._path .. string.format("%s.png", 1900020024 + rank))
else
GUI:setVisible(ui.Text_rank, true)
GUI:setVisible(ui.Panel_ranks, false)
GUI:Text_setString(ui.Text_rank, rank == 0 and "未上榜" or rank)
end
-- 背景底图
GUI:setVisible(ui.Image_bg, rank % 2 == 1)
local showLvStr = data.Value
local guildText = ui.Text_3
if Rank._showLevel then
guildText = ui.Text_4
-- 获取玩家的普通等级
local normalLevel = SL:GetMetaValue("PLAYER_LEVEL", data.Name) or 1
-- 在转生等级后面添加普通等级显示
local displayText = showLvStr and (showLvStr .. Rank.CheckLvDesc() .. "(" .. normalLevel .. "级)") or ""
GUI:Text_setString(ui.Text_3, displayText)
end
GUI:Text_setString(guildText, data.GuildName)
GUI:Text_setString(ui.Text_1, data.Name)
local function panelCB()
Rank.ResetSelectItem(data)
end
GUI:addOnClickEvent(ui.Panel_touch, panelCB)
return cell
end
```
主要修改:
1. 使用 `SL:GetMetaValue("PLAYER_LEVEL", data.Name)` 获取玩家的普通等级
2. 在转生等级字符串后面追加普通等级信息,格式为:转生等级(普通等级级)
3. 这样就能在转生等级后面显示每个玩家的普通等级了
注意:这里假设 `data.Name` 存储的是玩家名,`SL:GetMetaValue("PLAYER_LEVEL", data.Name)` 能正确获取到该玩家的等级。如果实际数据中玩家标识不同,可能需要调整参数。
根据你提供的代码,要实现转生等级后面显示普通等级,需要修改显示等级的部分。从代码中可以看到 `data.Value` 存储的是转生等级的显示字符串,我们需要在后面追加普通等级信息。
```lua
function Rank.CreateListCell(parent, data)
GUI:LoadExport(parent, "rank/rank_cell_win32")
local cell = GUI:getChildByName(parent, "Panel_cells")
local ui = GUI:ui_delegate(cell)
local rank = tonumber(data.rank) or 1
if rank > 0 and rank <= 3 then
GUI:setVisible(ui.Text_rank, false)
GUI:setVisible(ui.Image_rank, true)
GUI:Image_loadTexture(ui.Image_rank, Rank._path .. string.format("%s.png", 1900020024 + rank))
else
GUI:setVisible(ui.Text_rank, true)
GUI:setVisible(ui.Panel_ranks, false)
GUI:Text_setString(ui.Text_rank, rank == 0 and "未上榜" or rank)
end
-- 背景底图
GUI:setVisible(ui.Image_bg, rank % 2 == 1)
local showLvStr = data.Value
local guildText = ui.Text_3
if Rank._showLevel then
guildText = ui.Text_4
-- 获取玩家的普通等级
local normalLevel = SL:GetMetaValue("PLAYER_LEVEL", data.Name) or 1
-- 在转生等级后面添加普通等级显示
local displayText = showLvStr and (showLvStr .. Rank.CheckLvDesc() .. "(" .. normalLevel .. "级)") or ""
GUI:Text_setString(ui.Text_3, displayText)
end
GUI:Text_setString(guildText, data.GuildName)
GUI:Text_setString(ui.Text_1, data.Name)
local function panelCB()
Rank.ResetSelectItem(data)
end
GUI:addOnClickEvent(ui.Panel_touch, panelCB)
return cell
end
```
主要修改:
1. 使用 `SL:GetMetaValue("PLAYER_LEVEL", data.Name)` 获取玩家的普通等级
2. 在转生等级字符串后面追加普通等级信息,格式为:转生等级(普通等级级)
3. 这样就能在转生等级后面显示每个玩家的普通等级了
注意:这里假设 `data.Name` 存储的是玩家名,`SL:GetMetaValue("PLAYER_LEVEL", data.Name)` 能正确获取到该玩家的等级。如果实际数据中玩家标识不同,可能需要调整参数。
← 返回问答库