本帖最后由 黑曜秘法 于 2017-11-20 00:54 编辑
哈哈哈真是太巧了,时隔近三年,我刚刚才用66rpg的账号在此关联,一眼就在首页就看到了将近三年前一段眼熟的代码。
这是二楼曾经在我提问如何制作一个“盾牌专精”技能时,给还是新手的我作出的答复,不仅成功解决了我的提问,还给我逐字逐句详细地进行说明,令我受益匪浅!直到现在我还在使用这段代码,真的是非常感谢@chd114 当年不吝赐教。
那根据二楼提供参考的思路,由我来解决问题吧!
class Game_Actor alias_method :kuangzhanshi, :param_plus #把方法重命名为"kuangzhanshi" def param_plus(id) #这个是附加角色属性方法 kuang = kuangzhanshi(id) #我们把重命名之后的附加角色属性方法赋值给"kuang"变量 par_base = param_base(id) #通过获取角色基础属性方法,将之赋值给"par_base"变量 if id == 2 #当这个基础/附加属性是物理攻击力时(物理攻击力的id为2) if state?(1) || skill_learn?($data_skills[1]) #条件:角色身上有1号状态,或者角色学习了1号技能 *注1 kuang += 0.1 * par_base if self.hp <= 0.2*self.mhp #则讲基础攻击力的0.1倍作为附加攻击力附加给"kuang"变量,不过条件为角色的血量不大于上限的0.2倍 end end kuang #返回"kuang"(返回意思就是作为结果输出),这就是我们要的20%血以下加10%物理攻击力的效果 end end
class Game_Actor
alias_method :kuangzhanshi, :param_plus #把方法重命名为"kuangzhanshi"
def param_plus(id) #这个是附加角色属性方法
kuang = kuangzhanshi(id) #我们把重命名之后的附加角色属性方法赋值给"kuang"变量
par_base = param_base(id) #通过获取角色基础属性方法,将之赋值给"par_base"变量
if id == 2 #当这个基础/附加属性是物理攻击力时(物理攻击力的id为2)
if state?(1) || skill_learn?($data_skills[1]) #条件:角色身上有1号状态,或者角色学习了1号技能 *注1
kuang += 0.1 * par_base if self.hp <= 0.2*self.mhp #则讲基础攻击力的0.1倍作为附加攻击力附加给"kuang"变量,不过条件为角色的血量不大于上限的0.2倍
end
end
kuang #返回"kuang"(返回意思就是作为结果输出),这就是我们要的20%血以下加10%物理攻击力的效果
end
end
*注1:这一行代码中[1]数字由你更改,例如你用了这个装备附带状态的脚本,附带的这个“狂战士”状态是几号id,就填几。后面那个skill_learn?($data_skills[1])是额外添加的,如果你给狂战士想做一个被动技能,让他学会[1]号技能,即便身上没有1号状态,也能拥有这个被动效果。
|