|
p版的mush中,有个技能列表,不过这个显示技能时没有排序,我在代码里面加了一段,可以按技能级别高低排序显示
打开show_switch.lua,其中有个函数叫draw_skillswindow,找里面对应的位置,把我添加的那短代码粘贴进去即可
function draw_skillswindow()
if not flag_win_skills or flag_win_skills~=1 then
if win_skills then
WindowShow (win_skills, false)
end
return
end
if not skills then
return
end
local _basic ={}
local _skills_ch = {}
local _skills_lev = {}
local _skills_pot = {}
for k,v in pairs(skills) do
table.insert(_basic,k)
end
for i=1,#_basic do
table.insert(_skills_ch,skills[_basic[i]]["name"])
table.insert(_skills_lev,skills[_basic[i]]["lvl"])
table.insert(_skills_pot,skills[_basic[i]]["pot"])
end
--下面是我新加的代码,可以按技能按级别高低排序
for i=1,#_basic-1 do
local max_val = i
for j=i+1,#_basic do
if _skills_lev[j]>_skills_lev[max_val] then
max_val = j
end
end
if max_val ~=i then
local _basic_temp
_basic_temp=_basic[i]
_basic[i]=_basic[max_val]
_basic[max_val]=_basic_temp
local _skills_ch_temp
_skills_ch_temp=_skills_ch[i]
_skills_ch[i]=_skills_ch[max_val]
_skills_ch[max_val]=_skills_ch_temp
local _skills_lev_temp
_skills_lev_temp=_skills_lev[i]
_skills_lev[i]=_skills_lev[max_val]
_skills_lev[max_val]=_skills_lev_temp
local _skills_pot_temp
_skills_pot_temp=_skills_pot[i]
_skills_pot[i]=_skills_pot[max_val]
_skills_pot[max_val]=_skills_pot_temp
end
end
--我增加的代码在这里结束,从上面到这里这部分,粘贴到你的文件对应部分即可
WINDOW_WIDTH = 190
if win_skills_show == 0 then
WINDOW_HEIGHT = 30
WINDOW_WIDTH = 70
else
|
|