Project1

标题: 求改代码!战斗后召唤兽离队!! [打印本页]

作者: 雷影    时间: 2015-4-11 12:47
标题: 求改代码!战斗后召唤兽离队!!
之前用公共事件的方式实现战斗中召唤兽加入的效果,
不过战斗后离队的话需要在地图上或者战斗群组离队事件,感觉太繁琐,
找了一下发现有个脚本是战斗后指定角色强行离队的,可惜是VX的,VA似乎用不了,能不能帮改成VA能用的呢?
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 结束战斗
  9.   #     result : 结果(0:胜利,1:逃跑,2:失败)
  10.   #--------------------------------------------------------------------------
  11.   def battle_end(result)
  12.     $game_party.remove_actor(9)        # 战斗结束后删除被召唤的队员
  13.     $game_party.remove_actor(10)        # 战斗结束后删除被召唤的队员
  14.     $game_party.remove_actor(11)        # 战斗结束后删除被召唤的队员
  15.     if result == 2 and not $game_troop.can_lose
  16.       call_gameover
  17.     else
  18.       $game_party.clear_actions
  19.       $game_party.remove_states_battle
  20.       $game_troop.clear
  21.       if $game_temp.battle_proc != nil
  22.         $game_temp.battle_proc.call(result)
  23.         $game_temp.battle_proc = nil
  24.       end
  25.       unless $BTEST
  26.         $game_temp.map_bgm.play
  27.         $game_temp.map_bgs.play
  28.       end
  29.       $scene = Scene_Map.new
  30.       @message_window.clear
  31.       Graphics.fadeout(30)
  32.     end
  33.     $game_temp.in_battle = false
  34.   end
  35.   end
复制代码

作者: 诡异の猫    时间: 2015-4-11 18:31
  1. module BattleManager
  2.   def self.setup(troop_id, can_escape = true, can_lose = false)
  3.     init_members
  4.     $game_troop.setup(troop_id)
  5.     @can_escape = can_escape
  6.     @can_lose = can_lose
  7.     make_escape_ratio
  8.     # ========================================
  9.     @ini_party_size = $game_party.members.size
  10.     # ========================================
  11.   end
  12.    
  13.   def self.battle_end(result)
  14.     # ========================================
  15.     new_size = $game_party.members.size
  16.     gap = new_size - @ini_party_size
  17.     if gap > 0
  18.       for i in 0...gap
  19.         $game_party.remove_actor(new_size-i)
  20.       end
  21.     end
  22.     # =========================================
  23.     @phase = nil
  24.     @event_proc.call(result) if @event_proc
  25.     $game_party.on_battle_end
  26.     $game_troop.on_battle_end
  27.     SceneManager.exit if $BTEST
  28.   end
  29. end
复制代码
好久没写代码 你看看能不能用吧
不过以下几种情况不适用:
1. 战斗中更换队员位置
2. 战斗中有其他队员加入或者离开

如果需要有以上需求那改脚本要涉及比较多东西
如果不涉及上面提到的2点那应该够用了
作者: tan12345    时间: 2015-4-12 21:53
记得图书馆有个召唤兽系统,不知道能不能满足你?




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