| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 2 | 
 
| 积分 | 1 | 
 
| 经验 | 2993 | 
 
| 最后登录 | 2016-1-16 | 
 
| 在线时间 | 130 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 130 小时
 
        - 注册时间
 - 2011-3-10
 
        - 帖子
 - 65
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 铃仙·优昙华院·因幡 于 2011-5-18 20:09 编辑  
 
以下某日版小隊跟隨系統的腳本 
因為小弟目前開發的遊戲當中有融入ARPG的元素 
此腳本只要使用,就算當前隊伍中並無其他隊員,仍然會保留3格位置在角色後方跟隨 
這個部分會導致怪物無法靠近主角,希望有大大能幫忙找出暫時停止這腳本的方法ˊˋ   
或者是,任何只要能讓那三格位置消失的方法就好 Orz!- #==============================================================================
 
 - # ■ Game_Character_re
 
 - #------------------------------------------------------------------------------
 
 - #  キャラクターを扱うクラスです。このクラスは Game_Player クラスと Game_Event
 
 - # クラスのスーパークラスとして使用されます。(再定義)
 
 - #==============================================================================
 
  
- class Game_Character
 
 -   #--------------------------------------------------------------------------
 
 -   # ● キャラクター衝突判定
 
 -   #     x : X 座標
 
 -   #     y : Y 座標
 
 -   #    プレイヤーと乗り物を含め、通常キャラの衝突を検出する。
 
 -   #--------------------------------------------------------------------------
 
 -   def collide_with_characters?(x, y)
 
 -     for event in $game_map.events_xy(x, y)          # イベントの座標と一致
 
 -       unless event.through                          # すり抜け OFF?
 
 -         return true if self.is_a?(Game_Event)       # 自分がイベント
 
 -         return true if event.priority_type == 1     # 相手が通常キャラ
 
 -       end
 
 -     end
 
 -     if @priority_type == 1                          # 自分が通常キャラ
 
 -       return true if $game_player.pos_nt?(x, y)     # プレイヤーの座標と一致
 
 -       return true if $game_subplayer1.pos_nt?(x,y)  # サブプレイヤーの座標と一致#追加
 
 -       return true if $game_subplayer2.pos_nt?(x,y)  # サブプレイヤーの座標と一致#追加
 
 -       return true if $game_subplayer3.pos_nt?(x,y)  # サブプレイヤーの座標と一致#追加
 
 -       return true if $game_map.boat.pos_nt?(x, y)   # 小型船の座標と一致
 
 -       return true if $game_map.ship.pos_nt?(x, y)   # 大型船の座標と一致
 
 -     end
 
 -     return false
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Player_re
 
 - #------------------------------------------------------------------------------
 
 - #  プレイヤーを扱うクラスです。イベントの起動判定や、マップのスクロールなどの
 
 - # 機能を持っています。このクラスのインスタンスは $game_player で参照されます。
 
 - # (再定義)
 
 - #==============================================================================
 
  
- class Game_Player < Game_Character
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 公開インスタンス変数
 
 -   #--------------------------------------------------------------------------
 
 -   attr_reader   :gather_on          # メンバー集合フラグ   #追加
 
 -   attr_reader   :member             # 強制動作を行うプレイヤー番号(0:全員)#追加
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super
 
 -     @vehicle_type = -1
 
 -     @vehicle_getting_on = false     # 乗る動作の途中フラグ
 
 -     @vehicle_getting_off = false    # 降りる動作の途中フラグ
 
 -     @transferring = false           # 場所移動フラグ
 
 -     @new_map_id = 0                 # 移動先 マップ ID
 
 -     @new_x = 0                      # 移動先 X 座標
 
 -     @new_y = 0                      # 移動先 Y 座標
 
 -     @new_direction = 0              # 移動後の向き
 
 -     @walking_bgm = nil              # 歩行時の BGM 記憶用
 
 -     @gather_on = false              # 追加
 
 -     @gather_count = 0               # 集合用カウンター   #追加
 
 -     @member = 0
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     if $game_party.members.size == 0
 
 -       @character_name = ""
 
 -       @character_index = 0
 
 -     else
 
 -       actor = $game_party.members[0]   # 先頭のアクターを取得
 
 -       @character_name = actor.character_name
 
 -       @character_index = actor.character_index
 
 -     end
 
 -       $game_subplayer1.refresh(1)#追加
 
 -       $game_subplayer2.refresh(2)#追加
 
 -       $game_subplayer3.refresh(3)#追加
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 乗り物の処理
 
 -   #--------------------------------------------------------------------------
 
 -   def update_vehicle
 
 -     return unless in_vehicle?
 
 -     vehicle = $game_map.vehicles[@vehicle_type]
 
 -     if @vehicle_getting_on                    # 乗る途中?
 
 -       if not moving?
 
 -         @direction = vehicle.direction        # 向きを変更
 
 -         @move_speed = vehicle.speed           # 移動速度を変更
 
 -         @vehicle_getting_on = false           # 乗る動作終了
 
 -         @transparent = true                   # 透明化
 
 -         $game_subplayer1.transparent = true    # 透明化    #追加
 
 -         $game_subplayer2.transparent = true    # 透明化    #追加
 
 -         $game_subplayer3.transparent = true    # 透明化    #追加
 
 -       end
 
 -     elsif @vehicle_getting_off                # 降りる途中?
 
 -       if not moving? and vehicle.altitude == 0
 
 -         @vehicle_getting_off = false          # 降りる動作終了
 
 -         @vehicle_type = -1                    # 乗り物タイプ消去
 
 -         @transparent = false                  # 透明を解除
 
 -         $game_subplayer1.moveto($game_player.x,$game_player.y)      #追加
 
 -         $game_subplayer1.transparent = false      # 透明を解除      #追加
 
 -         $game_subplayer2.moveto($game_player.x,$game_player.y)      #追加
 
 -         $game_subplayer2.transparent = false      # 透明を解除      #追加
 
 -         $game_subplayer3.moveto($game_player.x,$game_player.y)      #追加
 
 -         $game_subplayer3.transparent = false      # 透明を解除      #追加
 
 -       end
 
 -     else                                      # 乗り物に乗っている
 
 -       vehicle.sync_with_player                # プレイヤーと同時に動かす
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 乗り物から降りる
 
 -   #    現在乗り物に乗っていることが前提。
 
 -   #--------------------------------------------------------------------------
 
 -   def get_off_vehicle
 
 -     if in_airship?                                # 飛行船
 
 -       return unless airship_land_ok?(@x, @y)      # 着陸できない?
 
 -     else                                          # 小型船・大型船
 
 -       front_x = $game_map.x_with_direction(@x, @direction)
 
 -       front_y = $game_map.y_with_direction(@y, @direction)
 
 -       return unless can_walk?(front_x, front_y)   # 接岸できない?
 
 -     end
 
 -     $game_map.vehicles[@vehicle_type].get_off     # 降りる処理
 
 -     if in_airship?                                # 飛行船
 
 -       @direction = 2                              # 下を向く
 
 -     else                                          # 小型船・大型船
 
 -       force_move_forward                          # 一歩前進
 
 -       @transparent = false                        # 透明を解除
 
 -     end
 
 -     @vehicle_getting_off = true                   # 降りる動作の開始
 
 -     @move_speed = 4                               # 移動速度を戻す
 
 -     $game_subplayer1.move_speed = 4               # 移動速度を戻す# 追加
 
 -     $game_subplayer2.move_speed = 4               # 移動速度を戻す# 追加
 
 -     $game_subplayer3.move_speed = 4               # 移動速度を戻す# 追加
 
 -     @through = false                              # すり抜け OFF
 
 -     @walking_bgm.play                             # 歩行時の BGM 復帰
 
 -     make_encounter_count                          # エンカウント初期化
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 下に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_down(turn_ok = true)
 
 -     pos = []                                #追加
 
 -     if passable?(@x, @y+1)                  # 通行可能
 
 -       turn_down
 
 -       pos.push(@x,@y)                          #追加
 
 -       @y = $game_map.round_y(@y+1)
 
 -       @real_y = (@y-1)*256
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_down if turn_ok
 
 -       check_event_trigger_touch(@x, @y+1)   # 接触イベントの起動判定
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_left(turn_ok = true)
 
 -     pos = []                                #追加
 
 -     if passable?(@x-1, @y)                  # 通行可能
 
 -       turn_left
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x = $game_map.round_x(@x-1)
 
 -       @real_x = (@x+1)*256
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_left if turn_ok
 
 -       check_event_trigger_touch(@x-1, @y)   # 接触イベントの起動判定
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_right(turn_ok = true)
 
 -     pos = []                                #追加
 
 -     if passable?(@x+1, @y)                  # 通行可能
 
 -       turn_right
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x = $game_map.round_x(@x+1)
 
 -       @real_x = (@x-1)*256
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_right if turn_ok
 
 -       check_event_trigger_touch(@x+1, @y)   # 接触イベントの起動判定
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 上に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_up(turn_ok = true)
 
 -     pos = []                                #追加
 
 -     if passable?(@x, @y-1)                  # 通行可能
 
 -       turn_up
 
 -       pos.push(@x,@y)                          #追加
 
 -       @y = $game_map.round_y(@y-1)
 
 -       @real_y = (@y+1)*256
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_up if turn_ok
 
 -       check_event_trigger_touch(@x, @y-1)   # 接触イベントの起動判定
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左下に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_lower_left
 
 -     pos = []                                #追加
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y+1) and passable?(@x-1, @y+1)) or
 
 -        (passable?(@x-1, @y) and passable?(@x-1, @y+1))
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x -= 1
 
 -       @y += 1
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右下に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_lower_right
 
 -     pos = []                                #追加
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y+1) and passable?(@x+1, @y+1)) or
 
 -        (passable?(@x+1, @y) and passable?(@x+1, @y+1))
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x += 1
 
 -       @y += 1
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左上に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_upper_left
 
 -     pos = []                                #追加
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y-1) and passable?(@x-1, @y-1)) or
 
 -        (passable?(@x-1, @y) and passable?(@x-1, @y-1))
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x -= 1
 
 -       @y -= 1
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右上に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_upper_right
 
 -     pos = []                                #追加
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y-1) and passable?(@x+1, @y-1)) or
 
 -        (passable?(@x+1, @y) and passable?(@x+1, @y-1))
 
 -       pos.push(@x,@y)                          #追加
 
 -       @x += 1
 
 -       @y -= 1
 
 -       $game_subplayer1.move(pos)            #追加
 
 -       increase_steps
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● キャラクター衝突判定
 
 -   #     x : X 座標
 
 -   #     y : Y 座標
 
 -   #--------------------------------------------------------------------------
 
 -   def collide_with_characters?(x, y)
 
 -     for event in $game_map.events_xy(x, y)          # イベントの座標と一致
 
 -       unless event.through                          # すり抜け OFF?
 
 -         return true if self.is_a?(Game_Event)       # 自分がイベント
 
 -         return true if event.priority_type == 1     # 相手が通常キャラ
 
 -       end
 
 -     end
 
 -     if @priority_type == 1                          # 自分が通常キャラ
 
 -       return true if $game_map.boat.pos_nt?(x, y)   # 小型船の座標と一致
 
 -       return true if $game_map.ship.pos_nt?(x, y)   # 大型船の座標と一致
 
 -     end
 
 -     return false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 移動タイプ : カスタム
 
 -   #--------------------------------------------------------------------------
 
 -   def move_type_custom
 
 -     if stopping?
 
 -       command = @move_route.list[@move_route_index]   # 移動コマンドを取得
 
 -       @move_failed = false
 
 -       if command.code == 0                            # リストの最後
 
 -         if @move_route.repeat                         # [動作を繰り返す]
 
 -           @move_route_index = 0
 
 -         elsif @move_route_forcing                     # 移動ルート強制中
 
 -           @move_route_forcing = false                 # 強制を解除
 
 -           @move_route = @original_move_route          # オリジナルを復帰
 
 -           @move_route_index = @original_move_route_index
 
 -           @original_move_route = nil
 
 -         end
 
 -       else
 
 -         case command.code
 
 -         when 1    # 下に移動
 
 -           move_down
 
 -         when 2    # 左に移動
 
 -           move_left
 
 -         when 3    # 右に移動
 
 -           move_right
 
 -         when 4    # 上に移動
 
 -           move_up
 
 -         when 5    # 左下に移動
 
 -           move_lower_left
 
 -         when 6    # 右下に移動
 
 -           move_lower_right
 
 -         when 7    # 左上に移動
 
 -           move_upper_left
 
 -         when 8    # 右上に移動
 
 -           move_upper_right
 
 -         when 9    # ランダムに移動
 
 -           move_random
 
 -         when 10   # プレイヤーに近づく
 
 -           move_toward_player
 
 -         when 11   # プレイヤーから遠ざかる
 
 -           move_away_from_player
 
 -         when 12   # 一歩前進
 
 -           move_forward
 
 -         when 13   # 一歩後退
 
 -           move_backward
 
 -         when 14   # ジャンプ
 
 -           #以下変更
 
 -           if command.parameters[0]==0 && command.parameters[1]==0
 
 -             if @member==1
 
 -               jump(command.parameters[0], command.parameters[1])
 
 -             elsif @member==2
 
 -               $game_subplayer1.jump(command.parameters[0], command.parameters[1])
 
 -             elsif @member==3
 
 -               $game_subplayer2.jump(command.parameters[0], command.parameters[1])
 
 -             elsif @member==4
 
 -               $game_subplayer3.jump(command.parameters[0], command.parameters[1])
 
 -             elsif @member==0
 
 -               $game_subplayer3.jump(command.parameters[0], command.parameters[1])
 
 -               $game_subplayer2.jump(command.parameters[0], command.parameters[1])
 
 -               $game_subplayer1.jump(command.parameters[0], command.parameters[1])
 
 -               jump(command.parameters[0], command.parameters[1])
 
 -             end
 
 -           else
 
 -             $game_subplayer3.jump(command.parameters[0], command.parameters[1])
 
 -             $game_subplayer2.jump(command.parameters[0], command.parameters[1])
 
 -             $game_subplayer1.jump(command.parameters[0], command.parameters[1])
 
 -             jump(command.parameters[0], command.parameters[1])
 
 -           end
 
 -           #ここまで
 
 -         when 15   # ウェイト
 
 -           @wait_count = command.parameters[0] - 1
 
 -         when 16   # 下を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_down
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_down
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_down
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_down
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_down
 
 -             $game_subplayer2.turn_down
 
 -             $game_subplayer1.turn_down
 
 -             turn_down
 
 -           end
 
 -           #ここまで
 
 -         when 17   # 左を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_left
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_left
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_left
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_left
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_left
 
 -             $game_subplayer2.turn_left
 
 -             $game_subplayer1.turn_left
 
 -             turn_left
 
 -           end
 
 -           #ここまで
 
 -         when 18   # 右を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_right
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_right
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_right
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_right
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_right
 
 -             $game_subplayer2.turn_right
 
 -             $game_subplayer1.turn_right
 
 -             turn_right
 
 -           end
 
 -           #ここまで
 
 -         when 19   # 上を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_up
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_up
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_up
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_up
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_up
 
 -             $game_subplayer2.turn_up
 
 -             $game_subplayer1.turn_up
 
 -             turn_up
 
 -           end
 
 -           #ここまで
 
 -         when 20   # 右に 90 度回転
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_right_90
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_right_90
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_right_90
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_right_90
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_right_90
 
 -             $game_subplayer2.turn_right_90
 
 -             $game_subplayer1.turn_right_90
 
 -             turn_right_90
 
 -           end
 
 -           #ここまで
 
 -         when 21   # 左に 90 度回転
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_left_90
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_left_90
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_left_90
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_left_90
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_left_90
 
 -             $game_subplayer2.turn_left_90
 
 -             $game_subplayer1.turn_left_90
 
 -             turn_left_90
 
 -           end
 
 -           #ここまで
 
 -         when 22   # 180 度回転
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_180
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_180
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_180
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_180
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_180
 
 -             $game_subplayer2.turn_180
 
 -             $game_subplayer1.turn_180
 
 -             turn_180
 
 -           end
 
 -           #ここまで
 
 -         when 23   # 右か左に 90 度回転
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_right_or_left_90
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_right_or_left_90
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_right_or_left_90
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_right_or_left_90
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_right_or_left_90
 
 -             $game_subplayer2.turn_right_or_left_90
 
 -             $game_subplayer1.turn_right_or_left_90
 
 -             turn_right_or_left_90
 
 -           end
 
 -           #ここまで
 
 -         when 24   # ランダムに方向転換
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_random
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_random
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_random
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_random
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_random
 
 -             $game_subplayer2.turn_random
 
 -             $game_subplayer1.turn_random
 
 -             turn_random
 
 -           end
 
 -           #ここまで
 
 -         when 25   # プレイヤーの方を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_toward_player
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_toward_player
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_toward_player
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_toward_player
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_toward_player
 
 -             $game_subplayer2.turn_toward_player
 
 -             $game_subplayer1.turn_toward_player
 
 -             turn_toward_player
 
 -           end
 
 -           #ここまで
 
 -         when 26   # プレイヤーの逆を向く
 
 -           #以下変更
 
 -           if @member==1
 
 -             turn_away_from_player
 
 -           elsif @member==2
 
 -             $game_subplayer1.turn_away_from_player
 
 -           elsif @member==3
 
 -             $game_subplayer2.turn_away_from_player
 
 -           elsif @member==4
 
 -             $game_subplayer3.turn_away_from_player
 
 -           elsif @member==0
 
 -             $game_subplayer3.turn_away_from_player
 
 -             $game_subplayer2.turn_away_from_player
 
 -             $game_subplayer1.turn_away_from_player
 
 -             turn_away_from_player
 
 -           end
 
 -           #ここまで
 
 -         when 27   # スイッチ ON
 
 -           $game_switches[command.parameters[0]] = true
 
 -           $game_map.need_refresh = true
 
 -         when 28   # スイッチ OFF
 
 -           $game_switches[command.parameters[0]] = false
 
 -           $game_map.need_refresh = true
 
 -         when 29   # 移動速度の変更
 
 -           #以下変更
 
 -           @move_speed = command.parameters[0]
 
 -           $game_subplayer1.move_speed = command.parameters[0]
 
 -           $game_subplayer2.move_speed = command.parameters[0]
 
 -           $game_subplayer3.move_speed = command.parameters[0]
 
 -           #ここまで
 
 -         when 30   # 移動頻度の変更
 
 -           @move_frequency = command.parameters[0]
 
 -         when 31   # 歩行アニメ ON
 
 -           #以下変更
 
 -           if @member==1
 
 -             @walk_anime = true
 
 -           elsif @member==2
 
 -             $game_subplayer1.walk_anime = true
 
 -           elsif @member==3
 
 -             $game_subplayer2.walk_anime = true
 
 -           elsif @member==4
 
 -             $game_subplayer3.walk_anime = true
 
 -           elsif @member==0
 
 -             $game_subplayer3.walk_anime = true
 
 -             $game_subplayer2.walk_anime = true
 
 -             $game_subplayer1.walk_anime = true
 
 -             @walk_anime = true
 
 -           end
 
 -           #ここまで
 
 -         when 32   # 歩行アニメ OFF
 
 -           #以下変更
 
 -           if @member==1
 
 -             @walk_anime = false
 
 -           elsif @member==2
 
 -             $game_subplayer1.walk_anime = false
 
 -           elsif @member==3
 
 -             $game_subplayer2.walk_anime = false
 
 -           elsif @member==4
 
 -             $game_subplayer3.walk_anime = false
 
 -           elsif @member==0
 
 -             $game_subplayer3.walk_anime = false
 
 -             $game_subplayer2.walk_anime = false
 
 -             $game_subplayer1.walk_anime = false
 
 -             @walk_anime = false
 
 -           end
 
 -           #ここまで
 
 -         when 33   # 足踏みアニメ ON
 
 -           #以下変更
 
 -           if @member==1
 
 -             @step_anime = true
 
 -           elsif @member==2
 
 -             $game_subplayer1.step_anime = true
 
 -           elsif @member==3
 
 -             $game_subplayer2.step_anime = true
 
 -           elsif @member==4
 
 -             $game_subplayer3.step_anime = true
 
 -           elsif @member==0
 
 -             $game_subplayer3.step_anime = true
 
 -             $game_subplayer2.step_anime = true
 
 -             $game_subplayer1.step_anime = true
 
 -             @step_anime = true
 
 -           end
 
 -           #ここまで
 
 -         when 34   # 足踏みアニメ OFF
 
 -           #以下変更
 
 -           if @member==1
 
 -             @step_anime = false
 
 -           elsif @member==2
 
 -             $game_subplayer1.step_anime = false
 
 -           elsif @member==3
 
 -             $game_subplayer2.step_anime = false
 
 -           elsif @member==4
 
 -             $game_subplayer3.step_anime = false
 
 -           elsif @member==0
 
 -             $game_subplayer3.step_anime = false
 
 -             $game_subplayer2.step_anime = false
 
 -             $game_subplayer1.step_anime = false
 
 -             @step_anime = false
 
 -           end
 
 -           #ここまで
 
 -         when 35   # 向き固定 ON
 
 -           #以下変更
 
 -           if @member==1
 
 -             @direction_fix = true
 
 -           elsif @member==2
 
 -             $game_subplayer1.direction_fix = true
 
 -           elsif @member==3
 
 -             $game_subplayer2.direction_fix = true
 
 -           elsif @member==4
 
 -             $game_subplayer3.direction_fix = true
 
 -           elsif @member==0
 
 -             $game_subplayer3.direction_fix = true
 
 -             $game_subplayer2.direction_fix = true
 
 -             $game_subplayer1.direction_fix = true
 
 -             @direction_fix = true
 
 -           end
 
 -           #ここまで
 
 -         when 36   # 向き固定 OFF
 
 -           #以下変更
 
 -           if @member==1
 
 -             @direction_fix = false
 
 -           elsif @member==2
 
 -             $game_subplayer1.direction_fix = false
 
 -           elsif @member==3
 
 -             $game_subplayer2.direction_fix = false
 
 -           elsif @member==4
 
 -             $game_subplayer3.direction_fix = false
 
 -           elsif @member==0
 
 -             $game_subplayer3.direction_fix = false
 
 -             $game_subplayer2.direction_fix = false
 
 -             $game_subplayer1.direction_fix = false
 
 -             @direction_fix = false
 
 -           end
 
 -           #ここまで
 
 -         when 37   # すり抜け ON
 
 -           #以下変更
 
 -           @through = true
 
 -           $game_subplayer1.through = true
 
 -           $game_subplayer2.through = true
 
 -           $game_subplayer3.through = true
 
 -           #ここまで
 
 -         when 38   # すり抜け OFF
 
 -           #以下変更
 
 -           @through = false
 
 -           $game_subplayer1.through = false
 
 -           $game_subplayer2.through = false
 
 -           $game_subplayer3.through = false
 
 -           #ここまで
 
 -         when 39   # 透明化 ON
 
 -           #以下変更
 
 -           if @member==1
 
 -             @transparent = true
 
 -           elsif @member==2
 
 -             $game_subplayer1.transparent = true
 
 -           elsif @member==3
 
 -             $game_subplayer2.transparent = true
 
 -           elsif @member==4
 
 -             $game_subplayer3.transparent = true
 
 -           elsif @member==0
 
 -             $game_subplayer3.transparent = true
 
 -             $game_subplayer2.transparent = true
 
 -             $game_subplayer1.transparent = true
 
 -             @transparent = true
 
 -           end
 
 -           #ここまで
 
 -         when 40   # 透明化 OFF
 
 -           #以下変更
 
 -           if @member==1
 
 -             @transparent = false
 
 -           elsif @member==2
 
 -             $game_subplayer1.transparent = false
 
 -           elsif @member==3
 
 -             $game_subplayer2.transparent = false
 
 -           elsif @member==4
 
 -             $game_subplayer3.transparent = false
 
 -           elsif @member==0
 
 -             $game_subplayer3.transparent = false
 
 -             $game_subplayer2.transparent = false
 
 -             $game_subplayer1.transparent = false
 
 -             @transparent = false
 
 -           end
 
 -           #ここまで
 
 -         when 41   # グラフィック変更
 
 -           #以下変更
 
 -           if @member==1
 
 -             set_graphic(command.parameters[0], command.parameters[1])
 
 -           elsif @member==2
 
 -             $game_subplayer1.set_graphic(command.parameters[0], command.parameters[1])
 
 -           elsif @member==3
 
 -             $game_subplayer2.set_graphic(command.parameters[0], command.parameters[1])
 
 -           elsif @member==4
 
 -             $game_subplayer3.set_graphic(command.parameters[0], command.parameters[1])
 
 -           elsif @member==0
 
 -             $game_subplayer3.set_graphic(command.parameters[0], command.parameters[1])
 
 -             $game_subplayer2.set_graphic(command.parameters[0], command.parameters[1])
 
 -             $game_subplayer1.set_graphic(command.parameters[0], command.parameters[1])
 
 -             set_graphic(command.parameters[0], command.parameters[1])
 
 -           end
 
 -           #ここまで
 
 -         when 42   # 不透明度の変更
 
 -           #以下変更
 
 -           if @member==1
 
 -             @opacity = command.parameters[0]
 
 -           elsif @member==2
 
 -             $game_subplayer1.opacity = command.parameters[0]
 
 -           elsif @member==3
 
 -             $game_subplayer2.opacity = command.parameters[0]
 
 -           elsif @member==4
 
 -             $game_subplayer3.opacity = command.parameters[0]
 
 -           elsif @member==0
 
 -             $game_subplayer3.opacity = command.parameters[0]
 
 -             $game_subplayer2.opacity = command.parameters[0]
 
 -             $game_subplayer1.opacity = command.parameters[0]
 
 -             @opacity = command.parameters[0]
 
 -           end
 
 -           #ここまで
 
 -         when 43   # 合成方法の変更
 
 -           #以下変更
 
 -           if @member==1
 
 -             @blend_type = command.parameters[0]
 
 -           elsif @member==2
 
 -             $game_subplayer1.blend_type = command.parameters[0]
 
 -           elsif @member==3
 
 -             $game_subplayer2.blend_type = command.parameters[0]
 
 -           elsif @member==4
 
 -             $game_subplayer3.blend_type = command.parameters[0]
 
 -           elsif @member==0
 
 -             $game_subplayer3.blend_type = command.parameters[0]
 
 -             $game_subplayer2.blend_type = command.parameters[0]
 
 -             $game_subplayer1.blend_type = command.parameters[0]
 
 -             @blend_type = command.parameters[0]
 
 -           end
 
 -           #ここまで
 
 -         when 44   # SE の演奏
 
 -           command.parameters[0].play
 
 -         when 45   # スクリプト
 
 -           eval(command.parameters[0])
 
 -         end
 
 -         if not @move_route.skippable and @move_failed
 
 -           return  # [移動できない場合は無視] OFF & 移動失敗
 
 -         end
 
 -         @move_route_index += 1
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 移動可能判定
 
 -   #--------------------------------------------------------------------------
 
 -   def movable?
 
 -     return false if moving?                     # 移動中
 
 -     return false if @move_route_forcing         # 移動ルート強制中
 
 -     return false if @vehicle_getting_on         # 乗る動作の途中
 
 -     return false if @vehicle_getting_off        # 降りる動作の途中
 
 -     return false if $game_message.visible       # メッセージ表示中
 
 -     return false if @gather_on                  # 集合中   #追加
 
 -     return false if in_airship? and not $game_map.airship.movable?
 
 -     return true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● フレーム更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update
 
 -     last_real_x = @real_x
 
 -     last_real_y = @real_y
 
 -     last_moving = moving?
 
 -     move_by_input
 
 -     
 
 -     #以下スーパークラスのupdateメソッドをコピー
 
 -     if jumping?                 # ジャンプ中
 
 -       update_jump
 
 -     elsif moving?               # 移動中
 
 -       update_move
 
 -     else                        # 停止中
 
 -       update_stop
 
 -     end
 
 -     if @wait_count > 0          # ウェイト中
 
 -       @wait_count -= 1
 
 -     elsif @gather_on            # 追加
 
 -       update_gather             # 追加
 
 -     elsif @move_route_forcing   # 移動ルート強制中
 
 -       move_type_custom
 
 -     elsif not @locked           # ロック中以外
 
 -       update_self_movement
 
 -     end
 
 -     update_animation
 
 -     #ここまで
 
 -     
 
 -     update_scroll(last_real_x, last_real_y)
 
 -     update_vehicle
 
 -     update_nonmoving(last_moving)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● サブキャラクター集合メソッド(これを,スクリプトにより呼び出す)    #追加
 
 -   #--------------------------------------------------------------------------
 
 -   def gather
 
 -     @gather_on = true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● サブキャラクター集合更新                  #追加
 
 -   #--------------------------------------------------------------------------
 
 -   def update_gather
 
 -     return unless @gather_on
 
 -     return if $game_subplayer3.moving?
 
 -     pos = []
 
 -     pos.push(@x,@y)
 
 -     if(@gather_count==0)
 
 -       $game_subplayer1.move(pos);@gather_count+=1
 
 -     elsif(@gather_count==1)
 
 -       $game_subplayer2.move(pos);@gather_count+=1
 
 -     elsif(@gather_count==2)
 
 -       $game_subplayer3.move(pos);@gather_count+=1
 
 -     elsif(@gather_count==3)
 
 -       @gather_count=0;@gather_on=false
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 強制行動キャラクタを選択する(これを,スクリプトにより呼び出す)   #追加
 
 -   #--------------------------------------------------------------------------
 
 -   def set_member(x)
 
 -     @member = x
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Interpreter_re
 
 - #------------------------------------------------------------------------------
 
 - #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
 
 - # Game_Troop クラス、Game_Event クラスの内部で使用されます。(再定義)
 
 - #==============================================================================
 
  
- class Game_Interpreter
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 場所移動
 
 -   #--------------------------------------------------------------------------
 
 -   def command_201
 
 -     return true if $game_temp.in_battle
 
 -     if $game_player.transfer? or            # 場所移動中
 
 -        $game_message.visible                # メッセージ表示中
 
 -       return false
 
 -     end
 
 -     if @params[0] == 0                      # 直接指定
 
 -       map_id = @params[1]
 
 -       x = @params[2]
 
 -       y = @params[3]
 
 -       direction = @params[4]
 
 -     else                                    # 変数で指定
 
 -       map_id = $game_variables[@params[1]]
 
 -       x = $game_variables[@params[2]]
 
 -       y = $game_variables[@params[3]]
 
 -       direction = @params[4]
 
 -     end
 
 -     $game_player.reserve_transfer(map_id, x, y, direction)
 
 -     $game_subplayer1.reserve_transfer(map_id, x, y, direction) #追加
 
 -     $game_subplayer2.reserve_transfer(map_id, x, y, direction) #追加
 
 -     $game_subplayer3.reserve_transfer(map_id, x, y, direction) #追加
 
 -     @index += 1
 
 -     return false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 透明状態の変更
 
 -   #--------------------------------------------------------------------------
 
 -   def command_211
 
 -     $game_player.transparent = (@params[0] == 0)
 
 -     $game_subplayer1.transparent = (@params[0] == 0)  #追加
 
 -     $game_subplayer2.transparent = (@params[0] == 0)  #追加
 
 -     $game_subplayer3.transparent = (@params[0] == 0)  #追加
 
 -     return true
 
 -   end 
 
 -   #--------------------------------------------------------------------------
 
 -   # ● アニメーションの表示
 
 -   #--------------------------------------------------------------------------
 
 -   def command_212
 
 -     character = get_character(@params[0])
 
 -     if character == $game_player
 
 -       if $game_player.member == 0
 
 -         $game_player.animation_id = @params[1]
 
 -         $game_subplayer1.animation_id = @params[1]
 
 -         $game_subplayer2.animation_id = @params[1]
 
 -         $game_subplayer3.animation_id = @params[1]
 
 -       elsif $game_player.member == 1
 
 -         $game_player.animation_id = @params[1]
 
 -       elsif $game_player.member == 2
 
 -         $game_subplayer1.animation_id = @params[1]
 
 -       elsif $game_player.member == 3
 
 -         $game_subplayer2.animation_id = @params[1]
 
 -       elsif $game_player.member == 4
 
 -         $game_subplayer3.animation_id = @params[1]
 
 -       end
 
 -     elsif character != nil
 
 -       character.animation_id = @params[1]
 
 -     end
 
 -     return true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● フキダシアイコンの表示
 
 -   #--------------------------------------------------------------------------
 
 -   def command_213
 
 -     character = get_character(@params[0])
 
 -     if character == $game_player
 
 -       if $game_player.member == 0
 
 -         $game_player.balloon_id = @params[1]
 
 -         $game_subplayer1.balloon_id = @params[1]
 
 -         $game_subplayer2.balloon_id = @params[1]
 
 -         $game_subplayer3.balloon_id = @params[1]
 
 -       elsif $game_player.member == 1
 
 -         $game_player.balloon_id = @params[1]
 
 -       elsif $game_player.member == 2
 
 -         $game_subplayer1.balloon_id = @params[1]
 
 -       elsif $game_player.member == 3
 
 -         $game_subplayer2.balloon_id = @params[1]
 
 -       elsif $game_player.member == 4
 
 -         $game_subplayer3.balloon_id = @params[1]
 
 -       end
 
 -     elsif character != nil
 
 -       character.balloon_id = @params[1]
 
 -     end
 
 -     return true
 
 -   end
 
 - end
 
  
 
- #==============================================================================
 
 - # ■ Scene_File
 
 - #------------------------------------------------------------------------------
 
 - #  ファイル画面の処理を行うクラスです。
 
 - #==============================================================================
 
  
- class Scene_File < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● セーブデータの書き込み
 
 -   #     file : 書き込み用ファイルオブジェクト (オープン済み)
 
 -   #--------------------------------------------------------------------------
 
 -   def write_save_data(file)
 
 -     characters = []
 
 -     for actor in $game_party.members
 
 -       characters.push([actor.character_name, actor.character_index])
 
 -     end
 
 -     $game_system.save_count += 1
 
 -     $game_system.version_id = $data_system.version_id
 
 -     @last_bgm = RPG::BGM::last
 
 -     @last_bgs = RPG::BGS::last
 
 -     Marshal.dump(characters,           file)
 
 -     Marshal.dump(Graphics.frame_count, file)
 
 -     Marshal.dump(@last_bgm,            file)
 
 -     Marshal.dump(@last_bgs,            file)
 
 -     Marshal.dump($game_system,         file)
 
 -     Marshal.dump($game_message,        file)
 
 -     Marshal.dump($game_switches,       file)
 
 -     Marshal.dump($game_variables,      file)
 
 -     Marshal.dump($game_self_switches,  file)
 
 -     Marshal.dump($game_actors,         file)
 
 -     Marshal.dump($game_party,          file)
 
 -     Marshal.dump($game_troop,          file)
 
 -     Marshal.dump($game_map,            file)
 
 -     Marshal.dump($game_player,         file)
 
 -     Marshal.dump($game_subplayer1,     file) #追加
 
 -     Marshal.dump($game_subplayer2,     file) #追加
 
 -     Marshal.dump($game_subplayer3,     file) #追加
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● セーブデータの読み込み
 
 -   #     file : 読み込み用ファイルオブジェクト (オープン済み)
 
 -   #--------------------------------------------------------------------------
 
 -   def read_save_data(file)
 
 -     characters           = Marshal.load(file)
 
 -     Graphics.frame_count = Marshal.load(file)
 
 -     @last_bgm            = Marshal.load(file)
 
 -     @last_bgs            = Marshal.load(file)
 
 -     $game_system         = Marshal.load(file)
 
 -     $game_message        = Marshal.load(file)
 
 -     $game_switches       = Marshal.load(file)
 
 -     $game_variables      = Marshal.load(file)
 
 -     $game_self_switches  = Marshal.load(file)
 
 -     $game_actors         = Marshal.load(file)
 
 -     $game_party          = Marshal.load(file)
 
 -     $game_troop          = Marshal.load(file)
 
 -     $game_map            = Marshal.load(file)
 
 -     $game_player         = Marshal.load(file)
 
 -     $game_subplayer1     = Marshal.load(file)  #追加
 
 -     $game_subplayer2     = Marshal.load(file)  #追加
 
 -     $game_subplayer3     = Marshal.load(file)  #追加
 
 -     if $game_system.version_id != $data_system.version_id
 
 -       $game_map.setup($game_map.map_id)
 
 -       $game_player.center($game_player.x, $game_player.y)
 
 -     end
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Scene_Map_re
 
 - #------------------------------------------------------------------------------
 
 - #  マップ画面の処理を行うクラスです。(再定義)
 
 - #==============================================================================
 
  
- class Scene_Map < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● フレーム更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update
 
 -     super
 
 -     $game_map.interpreter.update      # インタプリタを更新
 
 -     $game_map.update                  # マップを更新
 
 -     $game_player.update               # プレイヤーを更新
 
 -     $game_subplayer1.update           # サブプレイヤーを更新  #追加
 
 -     $game_subplayer2.update           # サブプレイヤーを更新  #追加
 
 -     $game_subplayer3.update           # サブプレイヤーを更新  #追加
 
 -     $game_system.update               # タイマーを更新
 
 -     @spriteset.update                 # スプライトセットを更新
 
 -     @message_window.update            # メッセージウィンドウを更新
 
 -     unless $game_message.visible      # メッセージ表示中以外
 
 -       update_transfer_player
 
 -       update_encounter
 
 -       update_call_menu
 
 -       update_call_debug
 
 -       update_scene_change
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 場所移動の処理
 
 -   #--------------------------------------------------------------------------
 
 -   def update_transfer_player
 
 -     return unless $game_player.transfer?
 
 -     fade = (Graphics.brightness > 0)
 
 -     fadeout(30) if fade
 
 -     @spriteset.dispose              # スプライトセットを解放
 
 -     $game_player.perform_transfer   # 場所移動の実行
 
 -     $game_subplayer1.perform_transfer   # 場所移動の実行   #追加
 
 -     $game_subplayer2.perform_transfer   # 場所移動の実行   #追加
 
 -     $game_subplayer3.perform_transfer   # 場所移動の実行   #追加
 
 -     $game_map.autoplay              # BGM と BGS の自動切り替え
 
 -     $game_map.update
 
 -     Graphics.wait(15)
 
 -     @spriteset = Spriteset_Map.new  # スプライトセットを再作成
 
 -     fadein(30) if fade
 
 -     Input.update
 
 -   end
 
 - end
 
  
 
- #==============================================================================
 
 - # ■ Scene_Title_re
 
 - #------------------------------------------------------------------------------
 
 - #  タイトル画面の処理を行うクラスです。(再定義)
 
 - #==============================================================================
 
  
- class Scene_Title < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 各種ゲームオブジェクトの作成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_game_objects
 
 -     $game_temp          = Game_Temp.new
 
 -     $game_message       = Game_Message.new
 
 -     $game_system        = Game_System.new
 
 -     $game_switches      = Game_Switches.new
 
 -     $game_variables     = Game_Variables.new
 
 -     $game_self_switches = Game_SelfSwitches.new
 
 -     $game_actors        = Game_Actors.new
 
 -     $game_party         = Game_Party.new
 
 -     $game_troop         = Game_Troop.new
 
 -     $game_map           = Game_Map.new
 
 -     $game_player        = Game_Player.new
 
 -     $game_subplayer1    = Game_Subplayer.new     #追加
 
 -     $game_subplayer2    = Game_Subplayer.new     #追加
 
 -     $game_subplayer3    = Game_Subplayer.new     #追加
 
 -   end
 
 -   
 
 -   #--------------------------------------------------------------------------
 
 -   # ● コマンド : ニューゲーム
 
 -   #--------------------------------------------------------------------------
 
 -   def command_new_game
 
 -     confirm_player_location
 
 -     Sound.play_decision
 
 -     $game_party.setup_starting_members            # 初期パーティ
 
 -     $game_map.setup($data_system.start_map_id)    # 初期位置のマップ
 
 -     $game_player.moveto($data_system.start_x, $data_system.start_y)
 
 -     $game_player.refresh
 
 -     $game_subplayer1.moveto($data_system.start_x, $data_system.start_y)#追加
 
 -     $game_subplayer1.refresh(1)                                        #追加
 
 -     $game_subplayer2.moveto($data_system.start_x, $data_system.start_y)#追加
 
 -     $game_subplayer2.refresh(2)                                        #追加
 
 -     $game_subplayer3.moveto($data_system.start_x, $data_system.start_y)#追加
 
 -     $game_subplayer3.refresh(3)                                        #追加
 
 -     $scene = Scene_Map.new
 
 -     RPG::BGM.fade(1500)
 
 -     close_command_window
 
 -     Graphics.fadeout(60)
 
 -     Graphics.wait(40)
 
 -     Graphics.frame_count = 0
 
 -     RPG::BGM.stop
 
 -     $game_map.autoplay
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Spriteset_Map_re
 
 - #------------------------------------------------------------------------------
 
 - #  マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
 
 - # Scene_Map クラスの内部で使用されます。(再定義)
 
 - #==============================================================================
 
  
- class Spriteset_Map
 
 -   #--------------------------------------------------------------------------
 
 -   # ● キャラクタースプライトの作成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_characters
 
 -     @character_sprites = []
 
 -     for i in $game_map.events.keys.sort
 
 -       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
 
 -       @character_sprites.push(sprite)
 
 -     end
 
 -     for vehicle in $game_map.vehicles
 
 -       sprite = Sprite_Character.new(@viewport1, vehicle)
 
 -       @character_sprites.push(sprite)
 
 -     end
 
 -     @character_sprites.push(Sprite_Character.new(@viewport1, $game_subplayer3))#追加
 
 -     @character_sprites.push(Sprite_Character.new(@viewport1, $game_subplayer2))#追加
 
 -     @character_sprites.push(Sprite_Character.new(@viewport1, $game_subplayer1))#追加
 
 -     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # ■ Game_Subplayer
 
 - #------------------------------------------------------------------------------
 
 - #  サブプレイヤーを扱うクラスです。
 
 - # このクラスのインスタンスは $game_subplayer1~3で参照されます。
 
 - # Game_Playerクラスを元に作っています
 
 - #==============================================================================
 
  
- class Game_Subplayer < Game_Character
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 定数
 
 -   #--------------------------------------------------------------------------
 
 -   CENTER_X = (544 / 2 - 16) * 8     # 画面中央の X 座標 * 8
 
 -   CENTER_Y = (416 / 2 - 16) * 8     # 画面中央の Y 座標 * 8
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 公開インスタンス変数
 
 -   #--------------------------------------------------------------------------
 
 -   attr_accessor :move_speed             # 移動速度
 
 -   attr_accessor :walk_anime             # 歩行アニメ
 
 -   attr_accessor :step_anime             # 足踏みアニメ
 
 -   attr_accessor :direction_fix          # 向き固定
 
 -   attr_accessor :through                # すり抜け
 
 -   attr_accessor :opacity                # 不透明度
 
 -   attr_accessor :blend_type             # 合成方法
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super
 
 -     @transferring = false           # 場所移動フラグ
 
 -     @new_map_id = 0                 # 移動先 マップ ID
 
 -     @new_x = 0                      # 移動先 X 座標
 
 -     @new_y = 0                      # 移動先 Y 座標
 
 -     @new_direction = 0              # 移動後の向き
 
 -     @number = 0                     # 何番目のキャラか
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 場所移動の予約
 
 -   #     map_id    : マップ ID
 
 -   #     x         : X 座標
 
 -   #     y         : Y 座標
 
 -   #     direction : 移動後の向き
 
 -   #--------------------------------------------------------------------------
 
 -   def reserve_transfer(map_id, x, y, direction)
 
 -     @transferring = true
 
 -     @new_map_id = map_id
 
 -     @new_x = x
 
 -     @new_y = y
 
 -     @new_direction = direction
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 場所移動の実行
 
 -   #--------------------------------------------------------------------------
 
 -   def perform_transfer
 
 -     return unless @transferring
 
 -     @transferring = false
 
 -     set_direction(@new_direction)
 
 -     if $game_map.map_id != @new_map_id
 
 -       $game_map.setup(@new_map_id)     # 別マップへ移動
 
 -     end
 
 -     moveto(@new_x, @new_y)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ダッシュ状態判定
 
 -   #--------------------------------------------------------------------------
 
 -   def dash?
 
 -     return false if $game_player.move_route_forcing
 
 -     return false if $game_map.disable_dash?
 
 -     return false if $game_player.gather_on       # 集合中
 
 -     return Input.press?(Input::A)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● デバッグすり抜け状態判定
 
 -   #--------------------------------------------------------------------------
 
 -   def debug_through?
 
 -     return false unless $TEST
 
 -     return Input.press?(Input::CTRL)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 画面中央に来るようにマップの表示位置を設定
 
 -   #     x : X 座標
 
 -   #     y : Y 座標
 
 -   #--------------------------------------------------------------------------
 
 -   def center(x, y)
 
 -     display_x = x * 256 - CENTER_X                    # 座標を計算
 
 -     unless $game_map.loop_horizontal?                 # 横にループしない?
 
 -       max_x = ($game_map.width - 17) * 256            # 最大値を計算
 
 -       display_x = [0, [display_x, max_x].min].max     # 座標を修正
 
 -     end
 
 -     display_y = y * 256 - CENTER_Y                    # 座標を計算
 
 -     unless $game_map.loop_vertical?                   # 縦にループしない?
 
 -       max_y = ($game_map.height - 13) * 256           # 最大値を計算
 
 -       display_y = [0, [display_y, max_y].min].max     # 座標を修正
 
 -     end
 
 -     $game_map.set_display_pos(display_x, display_y)   # 表示位置変更
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 指定位置に移動
 
 -   #     x : X 座標
 
 -   #     y : Y 座標
 
 -   #--------------------------------------------------------------------------
 
 -   def moveto(x, y)
 
 -     super
 
 -     center(x, y)                                      # センタリング
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh(number)
 
 -     @number = number
 
 -     if $game_party.members.size <= number
 
 -       @character_name = ""
 
 -       @character_index = 0
 
 -     else
 
 -       actor = $game_party.members[number]   # アクターを取得
 
 -       @character_name = actor.character_name
 
 -       @character_index = actor.character_index
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 動き
 
 -   #--------------------------------------------------------------------------
 
 -   def move(xy)
 
 -     if @x==xy[0] && @y==xy[1]
 
 -       return
 
 -     elsif @x==xy[0]+1 && @y==xy[1]
 
 -       move_left
 
 -     elsif @x==xy[0]-1 && @y==xy[1]
 
 -       move_right
 
 -     elsif @x==xy[0] && @y==xy[1]+1
 
 -       move_up
 
 -     elsif @x==xy[0] && @y==xy[1]-1
 
 -       move_down
 
 -     elsif @x==xy[0]+1 && @y==xy[1]+1
 
 -       move_upper_left
 
 -     elsif @x==xy[0]-1 && @y==xy[1]+1
 
 -       move_upper_right
 
 -     elsif @x==xy[0]+1 && @y==xy[1]-1
 
 -       move_lower_left
 
 -     elsif @x==xy[0]-1 && @y==xy[1]-1
 
 -       move_lower_right
 
 -     #画面ループの端っこの時
 
 -     elsif @x==0 && xy[0]>@x+1 && @y==xy[1]
 
 -       move_left
 
 -     elsif xy[0]==0 && @x+1>xy[0] && @y==xy[1]
 
 -       move_right
 
 -     elsif @x==xy[0] && @y==0 && xy[1]>@y+1
 
 -       move_up
 
 -     elsif @x==xy[0] && xy[1]==0 && @y+1>xy[1]
 
 -       move_down
 
 -     #画面ループの端っこで,ナナメ移動の場合
 
 -     elsif @x<0 || @y<0
 
 -       temp_x = $game_map.round_x(@x)
 
 -       temp_y = $game_map.round_y(@y)
 
 -       if temp_x==xy[0]+1 && @y==xy[1]
 
 -         move_left
 
 -       elsif temp_x==xy[0]-1 && @y==xy[1]
 
 -         move_right
 
 -       elsif @x==xy[0] && temp_y==xy[1]+1
 
 -         move_up
 
 -       elsif @x==xy[0] && temp_y==xy[1]-1
 
 -         move_down
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 下に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_down(turn_ok = true)
 
 -     pos = []
 
 -     if passable?(@x, @y+1)                  # 通行可能
 
 -       turn_down
 
 -       pos.push(@x,@y)
 
 -       @y = $game_map.round_y(@y+1)
 
 -       @real_y = (@y-1)*256
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_down if turn_ok
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_left(turn_ok = true)
 
 -     pos = []
 
 -     if passable?(@x-1, @y)                  # 通行可能
 
 -       turn_left
 
 -       pos.push(@x,@y)
 
 -       @x = $game_map.round_x(@x-1)
 
 -       @real_x = (@x+1)*256
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_left if turn_ok
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_right(turn_ok = true)
 
 -     pos = []
 
 -     if passable?(@x+1, @y)                  # 通行可能
 
 -       turn_right
 
 -       pos.push(@x,@y)
 
 -       @x = $game_map.round_x(@x+1)
 
 -       @real_x = (@x-1)*256
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_right if turn_ok
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 上に移動
 
 -   #     turn_ok : その場での向き変更を許可
 
 -   #--------------------------------------------------------------------------
 
 -   def move_up(turn_ok = true)
 
 -     pos = []
 
 -     if passable?(@x, @y-1)                  # 通行可能
 
 -       turn_up
 
 -       pos.push(@x,@y)
 
 -       @y = $game_map.round_y(@y-1)
 
 -       @real_y = (@y+1)*256
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else                                    # 通行不可能
 
 -       turn_up if turn_ok
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左下に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_lower_left
 
 -     pos = []
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y+1) and passable?(@x-1, @y+1)) or
 
 -        (passable?(@x-1, @y) and passable?(@x-1, @y+1))
 
 -       pos.push(@x,@y)
 
 -       @x -= 1
 
 -       @y += 1
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右下に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_lower_right
 
 -     pos = []
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y+1) and passable?(@x+1, @y+1)) or
 
 -        (passable?(@x+1, @y) and passable?(@x+1, @y+1))
 
 -       pos.push(@x,@y)
 
 -       @x += 1
 
 -       @y += 1
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 左上に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_upper_left
 
 -     pos = []
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y-1) and passable?(@x-1, @y-1)) or
 
 -        (passable?(@x-1, @y) and passable?(@x-1, @y-1))
 
 -       pos.push(@x,@y)
 
 -       @x -=1
 
 -       @y -=1
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 右上に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def move_upper_right
 
 -     pos = []
 
 -     unless @direction_fix
 
 -       @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
 
 -     end
 
 -     if (passable?(@x, @y-1) and passable?(@x+1, @y-1)) or
 
 -        (passable?(@x+1, @y) and passable?(@x+1, @y-1))
 
 -       pos.push(@x,@y)
 
 -       @x += 1
 
 -       @y -= 1
 
 -       if @number == 1               
 
 -         $game_subplayer2.move(pos)
 
 -       elsif @number == 2
 
 -         $game_subplayer3.move(pos)
 
 -       end
 
 -       @move_failed = false
 
 -     else
 
 -       @move_failed = true
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● キャラクター衝突判定
 
 -   #     x : X 座標
 
 -   #     y : Y 座標
 
 -   #--------------------------------------------------------------------------
 
 -   def collide_with_characters?(x, y)
 
 -     for event in $game_map.events_xy(x, y)          # イベントの座標と一致
 
 -       unless event.through                          # すり抜け OFF?
 
 -         return true if self.is_a?(Game_Event)       # 自分がイベント
 
 -         return true if event.priority_type == 1     # 相手が通常キャラ
 
 -       end
 
 -     end
 
 -     if @priority_type == 1                          # 自分が通常キャラ
 
 -       return true if $game_map.boat.pos_nt?(x, y)   # 小型船の座標と一致
 
 -       return true if $game_map.ship.pos_nt?(x, y)   # 大型船の座標と一致
 
 -     end
 
 -     return false
 
 -   end
 
 - end
 
  复制代码 |   
 
 
 
 |