Project1

标题: 如何实现:消灭敌人后,触发事件? [打印本页]

作者: 迷你及其人    时间: 2017-9-8 17:36
标题: 如何实现:消灭敌人后,触发事件?
各位好,小弟在制作游戏时,遇到了不知如何实现的效果。
我设计了一个技能【食尸鬼】,效果是对单个敌人造成伤害,如果敌人被此技能击杀,则恢复自己少量HP值。
我想的是,做一个公共事件,判定敌人被此技能击杀后,给自己回血。但是不知道如何判定。
想请教大家这个问题,或者有没有其他的实现方法,谢谢啦~
作者: 魔法丶小肉包    时间: 2017-9-8 18:43
如果敌人被第100号技能击杀,则恢复使用者自身hp100点,技能ID和恢复量可以自由修改
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   def item_apply(user, item)
  3.     @result.clear
  4.     @result.used = item_test(user, item)
  5.     @result.missed = (@result.used && rand >= item_hit(user, item))
  6.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  7.     if @result.hit?
  8.       unless item.damage.none?
  9.         @result.critical = (rand < item_cri(user, item))
  10.         make_damage_value(user, item)
  11.         execute_damage(user)
  12.       end
  13.       if item.is_a?(RPG::Skill) && item.id == 100
  14.         if self.dead?
  15.           user.hp += 100
  16.         end
  17.       end
  18.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  19.       item_user_effect(user, item)
  20.     end
  21.   end
  22. end

作者: gm_ok1982    时间: 2017-9-8 21:37
这个好啊,学习了
作者: 迷你及其人    时间: 2017-9-9 15:37
魔法丶小肉包 发表于 2017-9-8 18:43
如果敌人被第100号技能击杀,则恢复使用者自身hp100点,技能ID和恢复量可以自由修改
class Game_Battler <  ...

受教了,感谢帮助!




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