| 
 
| 赞 | 0 |  
| VIP | 1 |  
| 好人卡 | 28 |  
| 积分 | 9 |  
| 经验 | 59980 |  
| 最后登录 | 2025-9-25 |  
| 在线时间 | 1683 小时 |  
 Lv2.观梦者 
	梦石0 星屑946 在线时间1683 小时注册时间2009-7-25帖子534 
 | 
| 复制代码#==============================================================================
# 领队更换系统 by SailCat
#------------------------------------------------------------------------------
# 添加此脚本后,在地图画面按下Z键更换当前的领队。
# 领队更改不会造成战斗队伍、菜单队伍次序的更改。
# 若要在条件分歧中调用领队,请用脚本:$game_party.leader == 序号
# 序号为0-3的值,最大不会超过队伍的角色数目减1。
#==============================================================================
class Game_Party
  #--------------------------------------------------------------------------
  # ● 追加实例变量
  #--------------------------------------------------------------------------
  attr_reader   :leader
  alias sailcat_initialize initialize
  alias sailcat_setup_starting_members setup_starting_members
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    # 生成领队
    @leader = 0
    sailcat_initialize
  end
  #--------------------------------------------------------------------------
  # ● 设置初期同伴
  #--------------------------------------------------------------------------
  def setup_starting_members
    sailcat_setup_starting_members
    # 生成领队
    @leader = 0
  end
  #--------------------------------------------------------------------------
  # ● 设置领队
  #--------------------------------------------------------------------------
  def switch_leader
    @leader += 1
    @leader %= @actors.size
  end
end
class Game_Player
  alias sailcat_update update
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    # 同伴人数为 0 的情况下
    if $game_party.actors.size == 0
      # 清除角色的文件名及对像
      @character_name = ""
      @character_hue = 0
      # 分支结束
      return
    end
    # 获取带头的角色
    actor = $game_party.actors[$game_party.leader]
    # 设置角色的文件名及对像
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    # 初始化不透明度和合成方式
    @opacity = 255
    @blend_type = 0
  end
  #--------------------------------------------------------------------------
  # ● 画面更新
  #--------------------------------------------------------------------------
  def update
    # 按下 TAB 键的情况下    
    unless $game_temp.menu_calling or 
      $game_system.menu_disabled or 
      $game_system.map_interpreter.running? or
      if Input.repeat?(Input::A)
        # 更换领队
        $game_party.switch_leader
        refresh
      end
      sailcat_update
    end
  end
end
 | 
 |