Project1

标题: 清除状态 [打印本页]

作者: 黑米馒头    时间: 2022-10-11 08:26
标题: 清除状态
用脚本如何写,当敌人死亡,清除敌人身上的所有状态?
作者: 我为鱼肉    时间: 2022-10-11 08:36
本帖最后由 我为鱼肉 于 2022-10-11 10:10 编辑

if enemy.dead?
for id in enemy.states
enemy.remove_state(id)
end
end
战斗场景中可用@active_battler或者@target_battlers选到敌人
sprite_battler中可用@battler选到敌人
作者: 黑米馒头    时间: 2022-10-12 21:29
我为鱼肉 发表于 2022-10-11 08:36
if enemy.dead?
for id in enemy.states
enemy.remove_state(id)

我试着写在伤害的后面,貌似没效果,写错了吗

  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (主回合步骤 5 : 显示伤害)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase4_step5
  5.     # 隐藏帮助窗口
  6.     @help_window.visible = false
  7.     # 刷新状态窗口
  8.     @status_window.refresh
  9.     # 显示伤害
  10.     for target in @target_battlers
  11.       if target.damage != nil
  12.         target.damage_pop = true
  13.         
  14.         #----------------------------
  15.         # 当战斗者死亡
  16.         if @active_battler.dead?
  17.           for id in @active_battler.states
  18.             # 清除战斗者状态
  19.             @active_battler.remove_state(id)
  20.           end
  21.         end
  22.         #-----------------------------
  23.         
  24.       end
  25.     end
  26.     # 移至步骤 6
  27.     @phase4_step = 6
  28.   end
复制代码

作者: 我为鱼肉    时间: 2022-10-13 06:05
本帖最后由 我为鱼肉 于 2022-10-13 10:09 编辑
  1. #----------------------------
  2.         # 当战斗者死亡
  3.         if target.dead?
  4.           for id in target.states
  5.             next if id == 1#战斗不能,就跳过
  6.             # 清除战斗者状态
  7.             target.remove_state(id, true)
  8.           end
  9.         end
  10.         #-----------------------------
复制代码





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