Project1

标题: 关于这个帖子答案的bug [打印本页]

作者: 若得若失    时间: 2016-10-7 02:44
标题: 关于这个帖子答案的bug
https://rpg.blue/thread-374479-1-1.html?_dsign=0cb14e48
采用帖子里的方法,战斗会出错。
怪物的mp不为0,不会死亡。
把怪物mp设置为0,战斗报错。
急死了,请大神指教。
作者: QQ蚊子湯    时间: 2016-10-7 06:02
Game_BattlerBase裡面500行 改成這樣
  1.   def refresh
  2.     state_resist_set.each {|state_id| erase_state(state_id) }
  3.     @hp = [[@hp, mhp].min, 0].max
  4.     @mp = [[@mp, mmp].min, 0].max
  5.     @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)
  6.    if @mp == 0
  7.    add_state(death_state_id)
  8.     end
  9.   end
复制代码

作者: 若得若失    时间: 2016-10-7 09:13
本帖最后由 若得若失 于 2016-10-7 09:15 编辑

谢谢,已经测试过了。
怪物死亡后,还是会提示又站起来了。
把它mp设置成0,又会报错!心焦
作者: 若得若失    时间: 2016-10-7 09:15
QQ蚊子湯 发表于 2016-10-7 06:02
Game_BattlerBase裡面500行 改成這樣

谢谢,已经测试过了。
怪物死亡后,还是会提示又站起来了。
把它mp设置成0,又会报错!心焦
作者: QQ蚊子湯    时间: 2016-10-7 16:48
不用這麼急吧,連我都急了
改成只對人物判定吧
  1.   def refresh
  2.     state_resist_set.each {|state_id| erase_state(state_id) }
  3.     @hp = [[@hp, mhp].min, 0].max
  4.     @mp = [[@mp, mmp].min, 0].max
  5.     @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)
  6.    if @mp == 0 && actor?
  7.     add_state(death_state_id)
  8.     end
  9.   end
复制代码





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