Project1

标题: 怎样做出让特定敌人撤退的技能? [打印本页]

作者: KB.Driver    时间: 2015-5-29 22:35
标题: 怎样做出让特定敌人撤退的技能?
本帖最后由 KB.Driver 于 2015-5-29 23:06 编辑

自己也正在制作中,但是出现了BUG:
技能是这样的:

然后对应的公共事件是这样的:


然而在战斗中,还有最后一个敌人的时候圣光命中了,敌人撤退了,但是战斗并没有结束!



之后再使用攻击技能时,就因为没有敌人而报误了!
这种情况要怎样避免?
作者: howhow1314    时间: 2015-5-30 10:56
本帖最后由 howhow1314 于 2015-5-30 11:00 编辑

試不出有問題...

你找到def self.judge_win_loss,裡面p $game_troop.all_dead?看看
作者: jianyulei    时间: 2015-6-3 10:00
本帖最后由 jianyulei 于 2015-6-3 10:05 编辑

敌人全部撤退时战斗应该自动结束的,有可能是你的什么脚本影响了才导致
另外,你的公共事件与技能设定上存在问题。你这样虽然技能是单体的,但如果复数敌人存在惊吓状态,他们会一起撤退。解决方法是在技能的伤害公式里面添加b.add_state(X);命令,让其在不受一切干扰的情况下中一个异常状态,这个异常状态内容随意,目的是为了在每个对应位置而定敌人判定里面加上个这个状态的分歧判定,让电脑明白你的技能的目标是谁。当然事件的最后要解除敌人的这个判定用异常状态
如果你找不到哪里出了问题,或者发现出问题的脚本太重要,你可以尝试在技能最后再加个分歧判定,判定1-8号位置的敌人是否存在,如果都不存在就用事件命令里面的脱离战斗。如果这样都脱离不了战斗就没辙了。

仔细看了下你的技能与事件,如果只是单纯的这个技能才有惊吓效果,而且目的只是为了让敌人50%几率撤退的话到没什么问题。
作者: jianyulei    时间: 2015-6-3 23:10
jianyulei 发表于 2015-6-3 10:00
敌人全部撤退时战斗应该自动结束的,有可能是你的什么脚本影响了才导致
另外,你的公共事件与技能设定上存 ...
  1.   #--------------------------------------------------------------------------
  2.   # ● 回合结束处理
  3.   #--------------------------------------------------------------------------
  4.   def on_turn_end
  5.     @result.clear
  6.     regenerate_all
  7.     update_state_turns
  8.     update_buff_turns
  9.     remove_states_auto(2)
  10.     $game_temp.reserve_common_event(33)
  11.   end
复制代码
替换Game_Battler 805-814
每回合判定一次公共事件33,事件里面你随便写




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