腿神帮忙,状态问题。。。菜
研究中毒状态,怎么在持续伤害那段脚本加上并列的其他状态?中文意思大概是这样:
如果是状态【3】 #中毒
计算HP持续伤害
处理伤害
如果是状态【4】 #魔力流失
计算SP持续伤害
处理伤害
如果是状态【5】 #生命恢复
计算HP持续伤害(加血)
处理伤害
如果是状态【6】 #魔法恢复
计算SP持续伤害
处理伤害
完毕
谢了腿神,完美解决问题。。。 用绿发Eclair的脚本改了一下,终于看懂了,但这种傻到不行的脚本我还是懂滴,不过不是腿神大人答也可以吧
位于Game_Battler 3中
#--------------------------------------------------------------------------
# ● 应用连续伤害效果
#--------------------------------------------------------------------------
def slip_damage_effect
# 设置伤害
############################################################
#在“中毒”的状态下,每回合HP减去十六分之一。
if self.states.include?(3)
self.damage = self.maxhp / 16
############################################################
#在“魔力流失”的状态下,每回合SP减去十六分之一。
if self.states.include?(4)
self.damage = self.maxsp / 16
############################################################
#在“生命恢复”的状态下,每回合HP回复十分之一
elsif self.states.include?(5)
self.damage = -self.maxhp / 10
else
self.damage = self.maxhp / 10
end
############################################################
#在“魔法恢复”的状态下,每回合SP回复十分之一
elsif self.states.include?(6)
self.damage = -self.maxsp / 10
else
self.damage = self.maxsp / 10
end
############################################################
# 分散
if self.damage.abs > 0
amp = .max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# HP 的伤害减法运算
self.hp -= self.damage
# 过程结束
return true
end 差不多应该就是这个样子了。。。做做实验看吧。。。就是脚本的格式太“难看”,也太难“看”了 表示无语,应用不能。。。设置状态后不勾连续伤害,状态变化之后SP不动,勾上连续伤害的话减HP。SP依旧不动。。。生命 / 魔法恢复同样不能。。。谁能给一个实现这个目的的范例或详尽教程?
中毒后持续减HP,中魔法消失持续减SP,中恢复持续加HP,中魔法恢复持续加SP。
能无视战斗中和战斗外最好,只能在战斗中实现也行 如果是状态【4】 #魔力流失
计算SP持续伤害
处理伤害
我还以为是 按照 SP的百分比长 HP。。orz 替换 game_battler3 的def slip_damage_effect
def damage_amp(damage)
# 分散
if damage.abs > 0
amp = .max
damage = rand(amp+1) + rand(amp+1) - amp
end
return damage
end
#--------------------------------------------------------------------------
# ● 应用连续伤害效果
#--------------------------------------------------------------------------
def slip_damage_effect
if @states.include?(3)
# 设置伤害
self.damage = self.maxhp / 10
self.damage += damage_amp(self.damage)
# HP 的伤害减法运算
self.hp -= self.damage
end
if @states.include?(4)
# 设置削魔
self.damage = self.maxsp / 10
self.damage += damage_amp(self.damage)
# SP 的伤害减法运算
self.sp -= self.damage
end
if @states.include?(5)
# 设置加血
self.damage = self.maxhp / 10
self.damage += damage_amp(self.damage)
# HP 的伤害减法运算
self.hp += self.damage
end
if @states.include?(6)
# 设置加魔
self.damage = self.maxsp / 10
self.damage += damage_amp(self.damage)
# SP 的伤害减法运算
self.sp += self.damage
end
# 过程结束
return true
end 这个用了之后别的状态可就不能用了啊。。。
比如 你第三个状态是毒7号状态也是毒。。。7号的就不能用了。。。
想用的话
if @states.include?(3) or @states.include?(7)
这样就可以了、、、、如果太多毒状态的话。。。再说,也很简单。。。不过估计也不能有那么多 被你说中了。。。我的状态都设定了三级,因为人物进阶职业两个,所以一共三个技能。。。
状态同样也是三级了,就拿毒来说,猛毒(3回合正常伤),剧毒(三回合重伤),咒毒(五回合重伤)。。。其次,流血,烧伤等等持续伤害的状态都有三个等级。。。
我正考虑在那个脚本里面继续添加同等级状态。。。
基本上是继续罩着你前面的往下写,不过还没有实验。理论上可行。。。我对那段脚本的理解基本等于事件处理的并列的条件分歧。。。应该没错得太离谱哈。。。明天去欢乐谷玩,等后天回来再实验吧。其实我用公共事件也做了跟这个差不多的效果,但是实在太笨拙了。 如果效果不同就需要多做几个判断了。。。你把效果说清楚点。。我看看
回 8楼(secondsen) 的帖子
自己弄了。。。其实效果就是加血加蓝减血减兰为基础,其他的RM默认的那些选项组合起来已经足够用了。 而且我已经不想再增加我的美工工程了,地图,战斗图和动画就够我画到死了
页:
[1]
2