设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2965|回复: 8
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
帖子
128
跳转到指定楼层
1
发表于 2012-9-24 11:22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4514
在线时间
5228 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4514
在线时间
5228 小时
注册时间
2009-4-29
帖子
14318

贵宾

4
发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
帖子
128
5
 楼主| 发表于 2012-9-24 20:47:50 | 只看该作者
protosssonny 发表于 2012-9-24 20:23

嘿嘿 谢谢P叔啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
帖子
128
6
 楼主| 发表于 2012-12-5 12:08:46 | 只看该作者
protosssonny 发表于 2012-9-24 20:23

P叔,还有问题请教你,我想制作多个持续掉血的技能,但是这些状态有冲突,就是掉血的时候只会掉一个状态的血量,不能叠加,怎样才能使这些掉血叠加呢?
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● HP 自动恢复
  3.   #--------------------------------------------------------------------------
  4. def regenerate_hp
  5.     # 撕裂
  6.        if self.state?(34)
  7.       damage = 100 + rand(10)
  8.     elsif self.state?(35)
  9.       damage = 100 + rand(10)  
  10.     elsif self.state?(36)
  11.       damage = 100 + rand(10)
  12.     # 毒箭      
  13.     elsif self.state?(135)
  14.       damage = 100 + rand(10)   
  15.     elsif self.state?(136)
  16.       damage = 100 + rand(10)      
  17.     elsif self.state?(137)
  18.       damage = 100 + rand(10)  
  19.     # 感染
  20.     elsif self.state?(166)
  21.       damage = 100 + rand(10)  
  22.     elsif self.state?(167)
  23.       damage = 100 + rand(10)   
  24.     elsif self.state?(168)
  25.       damage = 100 + rand(10)
  26.     # 灼烧
  27.     elsif self.state?(200)
  28.       damage = 100 + rand(10)  
  29.     elsif self.state?(201)
  30.       damage = 100 + rand(10)   
  31.     elsif self.state?(202)
  32.       damage = 100 + rand(10)
  33.     # 凋零
  34.     elsif self.state?(257)
  35.       damage = 100 + rand(50)  
  36.     elsif self.state?(258)
  37.       damage = 250 + rand(50)   
  38.     elsif self.state?(259)
  39.       damage = 500 + rand(100)
  40.     # 缠绕
  41.     elsif self.state?(260)
  42.       damage = 100 + rand(10)  
  43.     elsif self.state?(261)
  44.       damage = 100 + rand(10)   
  45.     elsif self.state?(262)
  46.       damage = 100 + rand(10)
  47.     # 燃烧
  48.     elsif self.state?(272)
  49.       damage = 100 + rand(10)  
  50.     elsif self.state?(273)
  51.       damage = 100 + rand(10)   
  52.     elsif self.state?(274)
  53.       damage = 100 + rand(10)
  54.     else   
  55.       damage = -(mhp * hrg).to_i
  56.     end
  57.     perform_map_damage_effect if $game_party.in_battle && damage > 0
  58.     @result.hp_damage = [damage, max_slip_damage].min
  59.     self.hp -= @result.hp_damage
  60.   end
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4514
在线时间
5228 小时
注册时间
2009-4-29
帖子
14318

贵宾

7
发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
143
在线时间
347 小时
注册时间
2010-7-7
帖子
128
8
 楼主| 发表于 2012-12-5 14:06:09 | 只看该作者
protosssonny 发表于 2012-12-5 13:19

再次感谢P叔啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
帖子
208
9
发表于 2012-12-23 16:44:34 | 只看该作者
protosssonny 发表于 2012-12-5 13:19

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-15 12:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表