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

Project1

 找回密码
 注册会员
搜索
查看: 1860|回复: 3

[有事请教] KGC_AddEquipmentOptions脚本的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
140
在线时间
49 小时
注册时间
2011-11-22
帖子
55
发表于 2019-4-23 23:20:23 | 显示全部楼层 |阅读模式

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

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

x
这个脚本里有一个功能
ABSORB_MP MP吸收
内容是这么写的:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ○ MP 吸収効果の適用
  3.   #     user : 攻撃者
  4.   #     obj  : スキルまたはアイテム (nil なら通常攻撃)
  5.   #    結果は @hp_damage または @mp_damage に代入する。
  6.   #--------------------------------------------------------------------------
  7.   def make_absorb_mp_value(user, obj = nil)
  8.     return unless mp_absorb?(user, obj)
  9.  
  10.     # HP ダメージを MP 回復値に変換
  11.     rate = elements_max_rate( (obj == nil ? user : obj).element_set )
  12.     rate = rate.abs * calc_absorb_mp_rate / 100
  13.     @mp_damage -= [@hp_damage.abs * rate / 100, 1].max
  14.     @hp_damage = 0
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ○ MP 吸収判定
  18.   #     user : 攻撃者
  19.   #     obj  : スキルまたはアイテム (nil なら通常攻撃)
  20.   #--------------------------------------------------------------------------
  21.   def mp_absorb?(user, obj = nil)
  22.     if obj.is_a?(RPG::UsableItem)
  23.       return false if obj.base_damage < 0     # 回復なら吸収しない
  24.       if obj.is_a?(RPG::Item)
  25.         # 回復アイテムなら吸収しない
  26.         return false if obj.hp_recovery_rate > 0 || obj.hp_recovery > 0
  27.       end
  28.     end
  29.     return false if calc_absorb_mp_rate == 0  # 吸収率が 0 なら吸収しない
  30.     rate = elements_max_rate( (obj == nil ? user : obj).element_set )
  31.     return false if rate >= 0                 # 有効な属性なら吸収しない
  32.  
  33.     return true
  34.   end


但是实际写到注释后没有效果,是哪里出了问题呢?

Lv2.观梦者

梦石
0
星屑
353
在线时间
15 小时
注册时间
2019-4-14
帖子
31
发表于 2019-4-23 23:22:54 | 显示全部楼层
这个写着是吸收伤害后原本恢复hp变成mp而已
楼主想想什么情况之下人物受到伤害时会加hp,就知道怎么设置了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
140
在线时间
49 小时
注册时间
2011-11-22
帖子
55
 楼主| 发表于 2019-4-23 23:33:47 | 显示全部楼层
活气寒露 发表于 2019-4-23 23:22
这个写着是吸收伤害后原本恢复hp变成mp而已
楼主想想什么情况之下人物受到伤害时会加hp,就知道怎么设置了 ...

意思是“吸收伤害后”而不是“受到伤害后”吗……
但是我没有这种类似技能的脚本 我估计是KGC其他部分配合使用才行
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
353
在线时间
15 小时
注册时间
2019-4-14
帖子
31
发表于 2019-4-23 23:40:48 | 显示全部楼层
本帖最后由 活气寒露 于 2019-4-23 23:48 编辑
linyifei 发表于 2019-4-23 23:33
意思是“吸收伤害后”而不是“受到伤害后”吗……
但是我没有这种类似技能的脚本 我估计是KGC其他部分配 ...


是受到伤害后吸收伤害噢
看看这段你就明白了
    # HP ダメージを MP 回復値に変換
    #比率设置
    rate = elements_max_rate( (obj == nil ? user : obj).element_set )
    #比率计算
    rate = rate.abs * calc_absorb_mp_rate / 100
    #mp伤害设置
    @mp_damage -= [@hp_damage.abs * rate / 100, 1].max
    #hp伤害设置
    @hp_damage = 0

这做法的目的就是把受到的伤害清0
追加mp伤害的相反值
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 21:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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