角色的技能列表里,如果有名字一样的技能.
那么只显示威力最大的技能,其他的则不可见...
牧师火枪流.jpg (47.76 KB, 下载次数: 4)
class Window_Skill
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
# 要显示到窗口中的技能的集合
@data = []
for i in [email protected]
skill = $data_skills[@actor.skills]
if skill != nil
# 从第一个元素开始检查
j = 0
# 在已经添加的技能集合中搜索同名技能
while j < @data.length
# 如果发现集合中同名的技能
if skill.name == @data[j].name &&
# 且当前准备添加的技能威力大于该同名技能
skill.power.abs >= @data[j].power.abs
# 将该同名技能替换为当前准备添加的威力更大的技能
@data[j] = skill
# 跳出检查同名的循环(每次只有可能有一个同名技能)
break
end
# 索引加一,检查集合下一个元素
j += 1
end
# 循环结束,如果循环检查到了同名技能
# 循环会 j 一定在等于集合长度之前跳出;
# 如果并没有发现同名技能,循环会一直检查到集合最后
# j 会在最后一个元素索引的基础上再加一,于是变成了集合的长度
# j < @data.length 不满足,循环结束
# 所以这里用集合的长度判断是否没有找到同名的技能
# 没有找到的话就把当前准备添加的技能直接添加到技能集合中
@data.push(skill) if j == @data.length
end
end
# 如果项目数不是 0 就生成位图、重新描绘全部项目
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
end
以下引用tommay于2009-4-20 20:24:25的发言:
既然不能显示威力较小的特技名称,也就不能使用威力较小的特技,是这样吗?
以下引用紫苏于2009-4-21 5:13:38的发言:
插入以下脚本
以下引用霜冻之狼于2009-4-21 17:05:38的发言:
很感谢...紫苏不介意在脚本中插入一些注释吧?说实话我有点看不明白.
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |