Project1

标题: 战斗结束后清除队员 [打印本页]

作者: 企鹅达达    时间: 2010-10-2 08:47
标题: 战斗结束后清除队员
本帖最后由 八云紫 于 2010-10-8 13:24 编辑

想做一个召唤师的职业,用技能呼唤公用事件加入队员,但是得到经验值之后怎么把这些队员清除出去呢?假设我设置的召唤兽的主角id号是101以后的号码
作者: wsmyzc    时间: 2010-10-2 08:51
在每张地图都放入一个事件进行判断是否有这些召唤出来的队员,然后对应地进行增减。。
或者直接批量减少ID 101以后的队员
(建议用后者。。反正没多大影响)
作者: 企鹅达达    时间: 2010-10-2 08:57
回复 wsmyzc 的帖子
    不可以在脚本里面回到地图界面之前清除吗?因为如果是在地图上清除,如果我使用人物跟随之类的脚本时会有一段时间显示出那些召唤兽的行走图吧?而且并行处理事件太多的话,我怕拖慢游戏速度……
作者: Rion幻音    时间: 2010-10-2 09:14
在Scene Battle中的def process_victory插入 脚本/公共事件 即可
作者: 企鹅达达    时间: 2010-10-2 09:27
本帖最后由 企鹅达达 于 2010-10-2 10:15 编辑

回复 Rion幻音 的帖子
逃走和失败(主要是针对boss战等可以失败的事件)的场合也应该要吧?而且,与其特地在脚本中呼唤公用事件,为什么不直接用脚本……
  1. #------------------------------------------------------------------------------
  2. #  這個類用來執行顯示作戰畫面的程式。
  3. #==============================================================================

  4. class Scene_Battle < Scene_Base

  5.   #--------------------------------------------------------------------------
  6.   # * 結束作戰
  7.   #     result : 作戰結果 (0: 得勝, 1: 撤退, 2: 我方全滅)
  8.   #--------------------------------------------------------------------------
  9.   def battle_end(result)
  10.     if result == 2 and not $game_troop.can_lose
  11.       call_gameover
  12.     else
  13.       $game_party.clear_actions
  14.       $game_party.remove_states_battle
  15.       $game_troop.clear
  16.       if $game_temp.battle_proc != nil
  17.         $game_temp.battle_proc.call(result)
  18.         $game_temp.battle_proc = nil
  19.       end
  20.       unless $BTEST
  21.         $game_temp.map_bgm.play
  22.         $game_temp.map_bgs.play
  23.       end
  24.       #==================追加===============================
  25.       remove_helper
  26.       #=======================================================
  27.       $scene = Scene_Map.new
  28.       @message_window.clear
  29.       Graphics.fadeout(30)
  30.     end
  31.     $game_temp.in_battle = false
  32.   end
  33.   #======================追加===================================
  34.   def remove_helper
  35.     for i in 101..200
  36.       $game_party.remove_actor(i)
  37.     end
  38.   end
  39.   #=============================================================
  40. end
复制代码
……自己想出来了,不知道会不会有bug 囧
作者: Rion幻音    时间: 2010-10-2 10:14
def process_victory 获胜处理
def process_escape 逃跑处理
def process_defeat 失败处理
全部插入脚本 $game_party.remove_actor(*)即可(*为角色ID)




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