Project1

标题: 请问关于持续伤害的问题 [打印本页]

作者: melatin    时间: 2017-12-10 19:53
标题: 请问关于持续伤害的问题
关于持续伤害的问题,在论坛里找到了一个脚本
  1.   #--------------------------------------------------------------------------
  2.   # ● HP 自动恢复
  3.   #--------------------------------------------------------------------------
  4.   def regenerate_hp
  5.     damage = -(mhp * hrg).to_i
  6.     damage -= ($game_actors[X].atk * Y).to_i if state?(Z)
  7.     perform_map_damage_effect if $game_party.in_battle && damage > 0
  8.     @result.hp_damage = [damage, max_slip_damage].min
  9.     self.hp -= @result.hp_damage
  10.   end
复制代码


根据说明是X号人物施加的Z状态,每回合造成X人物攻击Y倍的伤害?
但实际放进游戏发现没用……并不会造成伤害,请问是哪里出问题了呢?
作者: chd114    时间: 2017-12-10 23:13
因为x号角色并没有受到z状态的效果
作者: melatin    时间: 2017-12-10 23:54
chd114 发表于 2017-12-10 23:13
因为x号角色并没有受到z状态的效果

难道是说Z状态只有作用于X号角色才有效果吗?也就是说不能实现我给怪套个DEBUFF,它减血根据X号角色某项属性而定这样的效果?
作者: chd114    时间: 2017-12-11 13:00
melatin 发表于 2017-12-10 23:54
难道是说Z状态只有作用于X号角色才有效果吗?也就是说不能实现我给怪套个DEBUFF,它减血根据X号角色某项 ...

不,这里的意思是只要有单位受到z号状态的效果,就能按x号角色的攻击乘以y提升恢复的hp(damage为负数的情况下是恢复效果)
作者: melatin    时间: 2017-12-11 15:08
chd114 发表于 2017-12-11 13:00
不,这里的意思是只要有单位受到z号状态的效果,就能按x号角色的攻击乘以y提升恢复的hp(damage为负数的 ...



确实这样设置了,但是不会造成伤害……请问是什么地方设置出了问题吗?

作者: jianyulei    时间: 2017-12-11 16:03
本帖最后由 jianyulei 于 2017-12-11 16:07 编辑



在有特性栏的地方备注 <持续伤害 self.hp*0.08 3>  意思是回合结束时造成对象现有HP8%的伤害,伤害属于数据库的3号属性(计算属性伤害减免),次脚本不能用于判断状态的释放者,只能判断中状态的对象,如果是特定角色附加的可以用$game_actors[1]来代替。你也可以不用计算式直接用数字造成固定伤害。持续伤害和计算式之间可以用冒号代替空格,而属性和计算式之间可以用逗号代替空格。
作者: melatin    时间: 2017-12-11 19:11
jianyulei 发表于 2017-12-11 16:03
[fold]
class Game_Battler < Game_BattlerBase
  def regenerate_hp

好的谢谢啦,虽然还是挺想要做根据释放者自身属性决定伤害的哈哈…………





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1