作者laechan (小太保)
看板mud_sanc
标题[wizs] 改善与"玩家技能总数"相关的系统计算
时间Sun Nov 16 00:40:39 2008
以指令 skill 为例...
1)必须保留技能可以由大而小排列显示
2)必须保留技能中英文名以及技能值同时显示的现况
3)从中找出可最佳化的段落
主程式段如下...
// 先对技能依技能值做排序
skillname=sort_array(skillname,"sort_users_xx",this_object());
// j=sizeof(skillname);
for(i=0;i<j;i++)
{
sname=skillname[i];
t=ob->query("skill/"+sname);
if(t<1)
{
ob->delete("skill/"+sname);
continue;
}
if(i%2==0)
str+=sprintf("%s "CSI"24;13H%15-s : %-5d",skill_name(sname),
capitalize(sname),t);
else
str+=sprintf(CSI"27;38H%s "CSI"24;50H%15-s : %-5d\n",skill_name(sname),
capitalize(sname),t);
}
目前可最佳化的部份是...
一、
if(t<1)
{
ob->delete("skill/"+sname);
continue;
}
取消这个判断。(刚刚已取消)
二、运用合计表格的概念
这个刚刚已套用。
三、
最佳化 skill_name(sname)
将 skill_name 由「自它地读取」改成「skill 指令档本地读取」.
上述三个都已实装,理论上执行 skill 指令时对系统的负荷已降低。
刚刚顺手加宽了指令 skill 的显示讯息整体宽度。
该次修改的缺点是,「之前没有定义技能中文名」的技能,会在显示
中变成「0」,各位可在这篇底下推文「哪些技能没中文名」,以及
「它应该被定义成什麽样的中文名」,我日後会补上。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.104.167
1F:推 hmml :目前应该都有,如果没有的话,之前应该被我找出来了 11/16 00:46