查看: 3459|回复: 8

[已经解决] 关于技能的持续性伤害

[复制链接]
梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
回帖
96
发表于 2012-9-24 11:22:00 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一个持续性掉血的状态,比如中毒,如果用体力值再生速度比如-5%,这样掉血是按血量的百分比掉血的,我想使掉血量成为一个固定值,该如何实现呢?

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2012-9-24 16:37:59 | 显示全部楼层
Game_Battler类下742行开始,找到一下脚本并添加一行,每回合需要掉多少血自己改数字即可。
  1.   #--------------------------------------------------------------------------
  2.   # ● HP 自动恢复
  3.   #--------------------------------------------------------------------------
  4.   def regenerate_hp
  5.     damage = -(mhp * hrg).to_i
  6.     damage = 15 if hrg < 0  # 每回合需要掉多少血就在这里改,默认是每回合掉15 HP
  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
复制代码
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
回帖
96
 楼主| 发表于 2012-9-24 19:54:47 | 显示全部楼层
protosssonny 发表于 2012-9-24 16:37
Game_Battler类下742行开始,找到一下脚本并添加一行,每回合需要掉多少血自己改数字即可。 ...

十分感谢~但是有的技能需要按百分比回血怎么办...或者是要想不同的技能掉血量也不同怎么办...
回复

使用道具 举报

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2012-9-24 20:23:54 | 显示全部楼层
yjl494356020 发表于 2012-9-24 19:54
十分感谢~但是有的技能需要按百分比回血怎么办...或者是要想不同的技能掉血量也不同怎么办... ...
  1.   #--------------------------------------------------------------------------
  2.   # ● HP 自动恢复
  3.   #--------------------------------------------------------------------------
  4.   def regenerate_hp
  5.     if self.state?(2)  # 如果包含2号状态就每回合掉15HP
  6.       damage = 15
  7.     else   # 不包含2号状态的情形下就按设定的百分比掉血
  8.       damage = -(mhp * hrg).to_i
  9.     end
  10.     perform_map_damage_effect if $game_party.in_battle && damage > 0
  11.     @result.hp_damage = [damage, max_slip_damage].min
  12.     self.hp -= @result.hp_damage
  13.   end
复制代码

评分

参与人数 1梦石 +2 收起 理由
Mic_洛洛 + 2 认可答案,附赠6R精美好人卡的说!.

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
回帖
96
 楼主| 发表于 2012-9-24 20:47:50 | 显示全部楼层
protosssonny 发表于 2012-9-24 20:23

嘿嘿 谢谢P叔啦~
回复

使用道具 举报

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
回帖
96
 楼主| 发表于 2012-12-5 12:08:46 | 显示全部楼层
protosssonny 发表于 2012-9-24 20:23

P叔,还有问题请教你,我想制作多个持续掉血的技能,但是这些状态有冲突,就是掉血的时候只会掉一个状态的血量,不能叠加,怎样才能使这些掉血叠加呢?
[pre lang="ruby" line="1"] #--------------------------------------------------------------------------
  # ● HP 自动恢复
  #--------------------------------------------------------------------------
def regenerate_hp
    # 撕裂
       if self.state?(34)
      damage = 100 + rand(10)
    elsif self.state?(35)
      damage = 100 + rand(10)  
    elsif self.state?(36)
      damage = 100 + rand(10)
    # 毒箭      
    elsif self.state?(135)
      damage = 100 + rand(10)   
    elsif self.state?(136)
      damage = 100 + rand(10)      
    elsif self.state?(137)
      damage = 100 + rand(10)  
    # 感染
    elsif self.state?(166)
      damage = 100 + rand(10)  
    elsif self.state?(167)
      damage = 100 + rand(10)   
    elsif self.state?(168)
      damage = 100 + rand(10)
    # 灼烧
    elsif self.state?(200)
      damage = 100 + rand(10)  
    elsif self.state?(201)
      damage = 100 + rand(10)   
    elsif self.state?(202)
      damage = 100 + rand(10)
    # 凋零
    elsif self.state?(257)
      damage = 100 + rand(50)  
    elsif self.state?(258)
      damage = 250 + rand(50)   
    elsif self.state?(259)
      damage = 500 + rand(100)
    # 缠绕
    elsif self.state?(260)
      damage = 100 + rand(10)  
    elsif self.state?(261)
      damage = 100 + rand(10)   
    elsif self.state?(262)
      damage = 100 + rand(10)
    # 燃烧
    elsif self.state?(272)
      damage = 100 + rand(10)  
    elsif self.state?(273)
      damage = 100 + rand(10)   
    elsif self.state?(274)
      damage = 100 + rand(10)
    else   
      damage = -(mhp * hrg).to_i
    end
    perform_map_damage_effect if $game_party.in_battle && damage > 0
    @result.hp_damage = [damage, max_slip_damage].min
    self.hp -= @result.hp_damage
  end[/pre]
回复

使用道具 举报

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2012-12-5 13:19:06 | 显示全部楼层
yjl494356020 发表于 2012-12-5 12:08
P叔,还有问题请教你,我想制作多个持续掉血的技能,但是这些状态有冲突,就是掉血的时候只会掉一个状态 ...
  1.   #--------------------------------------------------------------------------
  2.   # ● HP 自动恢复
  3.   #--------------------------------------------------------------------------
  4.   def regenerate_hp
  5.     damage = -(mhp * hrg).to_i
  6.     # 撕裂
  7.     damage += 100 + rand(10) if self.state?(34)
  8.     damage += 100 + rand(10) if self.state?(35)
  9.     damage += 100 + rand(10) if self.state?(36)
  10.     # 毒箭      
  11.     damage += 100 + rand(10) if self.state?(135)
  12.     damage += 100 + rand(10) if self.state?(136)
  13.     damage += 100 + rand(10) if self.state?(137)
  14.     # 感染
  15.     damage += 100 + rand(10) if self.state?(166)
  16.     damage += 100 + rand(10) if self.state?(167)
  17.     damage += 100 + rand(10) if self.state?(168)
  18.     # 灼烧
  19.     damage += 100 + rand(10) if self.state?(200)
  20.     damage += 100 + rand(10) if self.state?(201)
  21.     damage += 100 + rand(10) if self.state?(202)
  22.     # 凋零
  23.     damage += 100 + rand(50) if self.state?(257)
  24.     damage += 250 + rand(50) if self.state?(258)
  25.     damage += 500 + rand(100) if self.state?(259)
  26.     # 缠绕
  27.     damage += 100 + rand(10) if self.state?(260)
  28.     damage += 100 + rand(10) if self.state?(261)
  29.     damage += 100 + rand(10) if self.state?(262)
  30.     # 燃烧
  31.     damage += 100 + rand(10) if self.state?(272)
  32.     damage += 100 + rand(10) if self.state?(273)  
  33.     damage += 100 + rand(10) if self.state?(274)
  34.     perform_map_damage_effect if $game_party.in_battle && damage > 0
  35.     @result.hp_damage = [damage, max_slip_damage].min
  36.     self.hp -= @result.hp_damage
  37.   end
复制代码
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
回帖
96
 楼主| 发表于 2012-12-5 14:06:09 | 显示全部楼层
protosssonny 发表于 2012-12-5 13:19

再次感谢P叔啦~
回复

使用道具 举报

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
回帖
176
发表于 2012-12-23 16:44:34 | 显示全部楼层
protosssonny 发表于 2012-12-5 13:19

如果想要跟使用者的属性挂钩呢……= = 这个略麻烦吧。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部