Project1

标题: 【已解决】求助大神怎么修复这个吸血脚本的BUG [打印本页]

作者: RMVXA    时间: 2024-9-3 10:19
标题: 【已解决】求助大神怎么修复这个吸血脚本的BUG
本帖最后由 RMVXA 于 2024-9-3 16:19 编辑

1.暴击时吸血无效
2.造成回复时自己会掉血...

  1. =begin
  2. #==============================================================================
  3. ** 效果: 吸血武器
  4. ------------------------------------------------------------------------------
  5. 为状态添加"吸血武器" 的效果.
  6. 当被该状态附加的对象使用攻击或技能命中目标时,吸取目标一定的hp,数值会有点浮动.

  7. 使用状态备注
  8.     <eff: vampiric_weapon x>
  9.    
  10. 其中 x 代表伤害的百分之多少会被吸收,是一个浮点数
  11. 例如: 0.5 代表你会吸收伤害的 50% ,回复自身该数值的hp.
  12. #==============================================================================
  13. =end
  14. $imported = {} if $imported.nil?
  15. $imported["Effect_VampiricWeapon"] = true
  16. #==============================================================================
  17. # ** Rest of the script
  18. #==============================================================================
  19. module Effect
  20.   module Vampiric_Weapon
  21.     Effect_Manager.register_effect(:vampiric_weapon)
  22.   end
  23. end

  24. class Game_Battler < Game_BattlerBase
  25.   
  26.   def effect_vampiric_weapon(user, obj, effect)
  27.     return if user == self
  28.     amount = [@result.hp_damage, @result.old_hp].min
  29.     amount = (amount * (eval(effect.value1[0]) rescue 1)).to_i
  30.     user.hp = [user.hp + amount, user.mhp].min
  31.     self.hp = [self.hp - amount, 0].max
  32.    
  33.     @result.effect_results.push("%s 吸取了 %d HP from %s" %[user.name, amount, self.name])
  34.     @result.success = true
  35.   end
  36.   
  37.   alias :actor_effect_vampiric_weapon_attack :effect_vampiric_weapon
  38.   alias :weapon_effect_vampiric_weapon_attack :effect_vampiric_weapon
  39.   alias :state_effect_vampiric_weapon_attack :effect_vampiric_weapon
  40. end
复制代码

作者: alexncf125    时间: 2024-9-3 11:49
RUBY 代码复制
  1. =begin
  2. #==============================================================================
  3. ** 效果: 吸血武器
  4. ------------------------------------------------------------------------------
  5. 为状态添加"吸血武器" 的效果.
  6. 当被该状态附加的对象使用攻击或技能命中目标时,吸取目标一定的hp,数值会有点浮动.
  7.  
  8. 使用状态备注
  9.     <eff: vampiric_weapon x>
  10.    
  11. 其中 x 代表伤害的百分之多少会被吸收,是一个浮点数
  12. 例如: 0.5 代表你会吸收伤害的 50% ,回复自身该数值的hp.
  13. #==============================================================================
  14. =end
  15. $imported = {} if $imported.nil?
  16. $imported["Effect_VampiricWeapon"] = true
  17. #==============================================================================
  18. # ** Rest of the script
  19. #==============================================================================
  20. module Effect
  21.   module Vampiric_Weapon
  22.     Effect_Manager.register_effect(:vampiric_weapon)
  23.   end
  24. end
  25.  
  26. class Game_Battler < Game_BattlerBase
  27.  
  28.   def effect_vampiric_weapon(user, obj, effect)
  29.     return if user == self
  30.     amount = [@result.hp_damage, @result.old_hp].min
  31.     amount = (amount * (eval(effect.value1[0]) rescue 1)).to_i
  32.     return if amount <= 0
  33.     user.hp = [user.hp + amount, user.mhp].min
  34.     self.hp = [self.hp - amount, 0].max
  35.  
  36.     @result.effect_results.push("%s 吸取了 %d HP from %s" %[user.name, amount, self.name])
  37.     @result.success = true
  38.   end
  39.  
  40.   alias :actor_effect_vampiric_weapon_attack :effect_vampiric_weapon
  41.   alias :weapon_effect_vampiric_weapon_attack :effect_vampiric_weapon
  42.   alias :state_effect_vampiric_weapon_attack :effect_vampiric_weapon
  43.   alias :actor_effect_vampiric_weapon_crit_attack :effect_vampiric_weapon
  44.   alias :weapon_effect_vampiric_weapon_crit_attack :effect_vampiric_weapon
  45.   alias :state_effect_vampiric_weapon_crit_attack :effect_vampiric_weapon
  46. end

作者: RMVXA    时间: 2024-9-3 16:19
alexncf125 发表于 2024-9-3 11:49
=begin
#==============================================================================
** 效果: 吸血 ...

感谢大神解惑!脚本真的需要考虑所有因素才会完美啊!




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