本帖最后由 黑曜秘法 于 2015-1-18 17:27 编辑
chd114 发表于 2015-1-17 16:54
按照taroxd的思路做的,这个只针对已经学会146号技能的角色身上的1号类型的装备(盾牌,0为武器)加的物理 ...
class Game_Actor #定义类 alias_method :c4_20150117, :param_plus def param_plus(id) old = c4_20150117(id) for i in 0...equips.size #把0到(装备数量-1,for in后两数之间三个点)的数一一代入循环 if equips[i]!=nil #第一个判断,若某部位的装备不为(逻辑判断)空 if id == 3 #第二个判断,若属性对应id全等于(逻辑判断)3(物理防御,不为时可自行编辑) if skill?(146) #第三个判断,若第146号技能(自行编辑)已习得(这里省略“==true”) old+=equips[i].params[3]/10 if equips[i].etype_id==1 #old(属性加成量)加上equips[i].params[3]/10 (某装备的对应属性加成量除以10,公式可自行编辑) #第四个判断,若装备的编号为1(1是盾牌,不为盾牌时可自行编辑)时 end end end end old end end
class Game_Actor #定义类
alias_method :c4_20150117, :param_plus
def param_plus(id)
old = c4_20150117(id)
for i in 0...equips.size #把0到(装备数量-1,for in后两数之间三个点)的数一一代入循环
if equips[i]!=nil #第一个判断,若某部位的装备不为(逻辑判断)空
if id == 3 #第二个判断,若属性对应id全等于(逻辑判断)3(物理防御,不为时可自行编辑)
if skill?(146) #第三个判断,若第146号技能(自行编辑)已习得(这里省略“==true”)
old+=equips[i].params[3]/10 if equips[i].etype_id==1
#old(属性加成量)加上equips[i].params[3]/10 (某装备的对应属性加成量除以10,公式可自行编辑)
#第四个判断,若装备的编号为1(1是盾牌,不为盾牌时可自行编辑)时
end
end
end
end
old
end
end
非常感谢!你的脚本我完全理解了,不仅为我解决了脚本本身的问题,对我的理解学习帮助也非常大。
或许也会有和我一样的新手戳进我的提问帖,所以我把脚本自己添加了作为新手的理解注释,如果有偏差请你指出。
@taroxd 谢谢指出,为了避免误导,还是把你说的那几行注释删了 。确实你在沙发楼的回复没有用到循环,unless直接把非指定(装备、属性)的id排除了,因此只需要判断一次就出结果,楼上给我写好了访问需要数值的语法,我会自己改改看的。
嗯,等有时间,我一定会再仔细学学的,太励志了。 |