Project1

标题: 这个“队伍第一人不参战”怎么战斗结束第一人不会回来啊 [打印本页]

作者: 欧买歌    时间: 2016-7-22 22:54
标题: 这个“队伍第一人不参战”怎么战斗结束第一人不会回来啊
[pre lang="ruby"]class Scene_Map
  def call_battle
  #--------------------------------------------------------------------------
    $actor_id = []
    for actor in $game_party.actors
      $actor_id.push(actor.id)
    end
    $game_party.remove_actor($actor_id[0])
  #--------------------------------------------------------------------------
    $game_temp.battle_calling = false
    $game_temp.menu_calling = false
    $game_temp.menu_beep = false
    $game_player.make_encounter_count
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    $game_system.se_play($data_system.battle_start_se)
    $game_system.bgm_play($game_system.battle_bgm)
    $game_player.straighten
    $scene = Scene_Battle.new
  end
end
class Scene_Battle
  def battle_end(result)
  #--------------------------------------------------------------------------
    for i in 0..$actor_id.size-1
      $game_party.actors = $game_actors[$actor_id]
    end
    $game_player.refresh
  #--------------------------------------------------------------------------
    $game_temp.in_battle = false
    $game_party.clear_actions
    for actor in $game_party.actors
      actor.remove_states_battle
    end
    $game_troop.enemies.clear
    if $game_temp.battle_proc != nil
      $game_temp.battle_proc.call(result)
      $game_temp.battle_proc = nil
    end
    $scene = Scene_Map.new
  end
end[/pre]
第一人不参与战斗,但是打完了那个人就没了,球大大帮忙改一下 PS:我用了战斗换人脚本
作者: 英顺的马甲    时间: 2016-7-23 00:01
本帖最后由 英顺的马甲 于 2016-7-23 00:04 编辑

[pre lang="ruby"]$_noFirstActor_Scene_Battle = Scene_Battle.clone unless $_noFirstActor_Scene_Battle
class Scene_Battle < $_noFirstActor_Scene_Battle
  def main
    first_actor = $game_party.actors.shift
    super
    $game_party.actors.unshift(first_actor)
  end
end[/pre]
直接用这脚本就行了,不管是赢了,输了还是怎么了都保证领队绝对回归,记得确保队伍就至少有两个人
作者: 欧买歌    时间: 2016-7-23 13:18
原来是放在换人脚本之后的缘故,解决了




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