Project1

标题: 領隊更換腳本無法運行 [打印本页]

作者: 囧兔    时间: 2015-3-29 15:34
标题: 領隊更換腳本無法運行
我的遊戲只有兩個人物,想要用不同的人物領隊有不同的劇情,所以用了"领队更换系统 by SailCat"的腳本,
並在分支條件的腳本中用了$game_party.leader == (序号),運行時用一開始的人物帶領是沒問題的,
但當更換領隊就會說腳本出問題......

新人求解......
作者: howhow1314    时间: 2015-3-29 15:47
出什麼問題呢?
作者: 囧兔    时间: 2015-3-29 15:52
第55行,發生TypeError
作者: 囧兔    时间: 2015-3-29 21:18
以下腳本


#==============================================================================
# 领队更换系统 by SailCat
#------------------------------------------------------------------------------
# 添加此脚本后,在地图画面按下X键更换当前的领队。
# 领队更改不会造成战斗队伍、菜单队伍次序的更改。
# 若要在条件分歧中调用领队,请用脚本:$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
    # 按下 X 键的情况下
    if Input.trigger?(Input::X)
      # 更换领队
      $game_party.switch_leader
      refresh
    end
    sailcat_update
  end
end

作者: david_ng223    时间: 2015-3-29 21:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 囧兔    时间: 2015-3-30 18:58
原來如此!!终於行了!
謝謝大大的解答!!




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