Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Large Party

With this script you can choose the max size of the party. An RTAB and Paradog version is found further down (thanks to DerVVulfman)

Code:
class Game_Party
  
  Max_Party = 5
  
  def max_party
    return Max_Party
  end
  
  def add_actor(actor_id)
    actor = $game_actors[actor_id]
    if not @actors.include?(actor) and $game_party.actors.size < Max_Party
      @actors.push(actor)
      $game_player.refresh
    end
  end
end


class Window_BattleStatus < Window_Base
  
  def initialize
    super(0, 320, 640, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    unless $game_party.actors.size > 4
      @level_up_flags = [false, false, false, false]
    else
      @level_up_flags = []
      for i in 0...$game_party.actors.size
        @level_up_flags.push(false)
      end
    end
    refresh
  end
  
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      unless $game_party.actors.size > 4
        actor_x = i * 160 + 4
      else
        actor_x = i * (4 + (640/ $game_party.actors.size))
      end
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[i]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end


class Game_Actor < Game_Battler
  def screen_x
    if self.index != nil
      unless $game_party.actors.size > 4
        return self.index * 160 + 80
      else
        return self.index * (640/ $game_party.actors.size) + (80/($game_party.actors.size/2))
      end
    else
      return 0
    end
  end
end


class Scene_Battle
  def phase3_setup_command_window
    @party_command_window.active = false
    @party_command_window.visible = false
    @actor_command_window.active = true
    @actor_command_window.visible = true
    unless $game_party.actors.size > 4
      @actor_command_window.x = @actor_index * 160
    else
      @actor_command_window.x = @actor_index * (640/$game_party.actors.size)
      if @actor_command_window.x > 480
        @actor_command_window.x = 480
      end
    end
    @actor_command_window.index = 0
  end
end

class Window_MenuStatus < Window_Selectable
  
  def initialize
    unless $game_party.actors.size > 4
      super(0, 0, 480, 480)
    else
      super(0, 0, 480, 160 * $game_party.actors.size)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  
  alias large_refresh refresh
  def refresh
    large_refresh
    self.height = 480
  end
  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  
  def top_row
    return self.oy / 116
  end
  
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
  
  def page_row_max
    return 4
  end
end

And you need to make some changes to spriteset battle or copy the example if yours is the default.

If you just want a copy and paste put this above main and below spriteset battle
Code:
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :viewport1                # enemy viewport
  attr_reader   :viewport2                # actor viewport
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 320)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 101
    @viewport3.z = 200
    @viewport4.z = 5000
    # Make battleback sprite
    @battleback_sprite = Sprite.new(@viewport1)
    # Make enemy sprites
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
    end
    # Make actor sprites
    
    
    @actor_sprites = []
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    
    
    for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end
    
    
    
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = []
    for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update actor sprite contents (corresponds with actor switching)
    #@actor_sprites[0].battler = $game_party.actors[0]
    #@actor_sprites[1].battler = $game_party.actors[1]
    #@actor_sprites[2].battler = $game_party.actors[2]
    #@actor_sprites[3].battler = $game_party.actors[3]
    
    for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end
    
    # If battleback file name is different from current one
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
      @battleback_sprite.src_rect.set(0, 0, 640, 320)
    end
    # Update battler sprites
    for sprite in @enemy_sprites + @actor_sprites
      sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
      sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport4.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport2.update
    @viewport4.update
  end
end

Otherwise in spriteset battle find:
Code:
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
And replace it with:
Code:
    for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end

Then find:
Code:
    @actor_sprites[0].battler = $game_party.actors[0]
    @actor_sprites[1].battler = $game_party.actors[1]
    @actor_sprites[2].battler = $game_party.actors[2]
    @actor_sprites[3].battler = $game_party.actors[3]

And replace it with:

Code:
    for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end

And your done to set the max party size go to the top of the script and find (not in spriteset battle the main script):
Code:
Max_Party = 5
And change it to whatever you want.

END OF SCRIPT UNLESS YOU WANT IT COMPATABLE WITH RTAB AND PARADOG
Edit:
Revised: 05/04/2007 (DD/MM/YYYY)
DerVVulfman has done that thing I don't do (make scripts compatible with RTAB and the ParaDog system) to this script:


Code:
#===============================================================================
# ** Large Party System                                                 
#    by Fomar0153  
#-------------------------------------------------------------------------------
#  This system allows you to break the 4 team barrier setup by RPGMaker XP.  By
#  using this code, you can have 5, 6 or even 10 member parties.
#
#  NOTE:  You may experience difficulties w/ 'draw_actor_hp' and 'draw_actor_sp'
#  in combat due to the 'if... elsif...' block that controls the width of the
#  HP and SP blocks.  This problem will typically start with parties over five
#  in size.  Editing these defs is the only way to cancel this error.
#
#-------------------------------------------------------------------------------
#  Part 1:  General Systems
#-------------------------------------------------------------------------------
#
#  (This script must be placed 'above' any Custom Battle System you're using.)
#
#  This page of the code can enhance your project  to allow parties of over four
#  members.   The controls are  very simple.   To establish  a default number of
#  party members,  edit the PARTY SIZE value in the configuration section below.
#  If you wish to alter the party size limit while the game is running,  call on
#  the $game_party.party_size value  from a map event and change it there.  But,
#  remember that you'll need to run '$game_party.refresh' for the change to take
#  effect.
#
#-------------------------------------------------------------------------------
#  To Limit Parties below Four:
#
#  "Only needed if you were to force parties to have fewer than four."
#
#  By default, the party is set up for four team members and the default battle-
#  system and most other systems are already designed to accomdate this.  While
#  this system allows you to increase the number of team members beyond four, it
#  requires a minor edit to your default system (or custom battlesystem) to have
#  parties forced to three or fewer members.
#
#  In the Spriteset_Battle's update def, please remove/comment-out the following
#  lines of code:
#    @actor_sprites[0].battler = $game_party.actors[0]
#    @actor_sprites[1].battler = $game_party.actors[1]
#    @actor_sprites[2].battler = $game_party.actors[2]
#    @actor_sprites[3].battler = $game_party.actors[3]
#  These lines insert your party members into four preset slots.  But, if you 
#  were to force a party smaller than four, an error would certainly occur.
#  Fortunately, the Large Party system has this covered, and only by removing
#  these lines is all that is needed to fix this error.
#
#  You may need to remove these same lines in custom battlesystems as well...
#
#===============================================================================


PARTY_SIZE = 4


#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold 
#  and items. Refer to "$game_party" for the instance of this class.
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :party_size               # Current size of the party
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias fomar_init initialize
  def initialize
    fomar_init
    @party_size = PARTY_SIZE
  end
  #--------------------------------------------------------------------------
  # * Add an Actor
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def add_actor(actor_id)
    # Get Actor
    actor = $game_actors[actor_id]
    # If the party has less than 4 members and this actor is not in the party
    if not @actors.include?(actor) and $game_party.actors.size < $game_party.party_size
      # Add actor
      @actors.push(actor)
      # Refresh player
      $game_player.refresh
    end
  end
  #--------------------------------------------------------------------------
  # * Adjust the maximum party value (permits addition & keeps within range)
  #--------------------------------------------------------------------------
  def party_size=(party_size)
    # Prevent Nil values
    @party_size = 4 if party_size == nil
    # Set party size
    @party_size = party_size
    # Reset to default if an incorrect value
    @party_size = 4 if party_size < 1
  end
end


#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    unless $game_party.actors.size > 4
      super(0, 0, 480, 480)
    else
      super(0, 0, 480, 160 * $game_party.actors.size)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------  
  alias large_refresh refresh
  def refresh
    large_refresh
    self.height = 480
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  #--------------------------------------------------------------------------
  # * Get Top Row
  #--------------------------------------------------------------------------  
  def top_row
    return self.oy / 116
  end
  #--------------------------------------------------------------------------
  # * Set Top Row
  #     row : row shown on top
  #--------------------------------------------------------------------------  
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
  #--------------------------------------------------------------------------
  # * Get Number of Rows Displayable on 1 Page
  #--------------------------------------------------------------------------  
  def page_row_max
    return 4
  end
end


#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Actor Command Window Setup
  #--------------------------------------------------------------------------
  alias fomar_p3_scw phase3_setup_command_window
  def phase3_setup_command_window
    fomar_p3_scw
    unless $game_party.actors.size > 4
      @actor_command_window.x = @actor_index * 160
    else
      @actor_command_window.x = @actor_index * (640/$game_party.actors.size)
      if @actor_command_window.x > 480
        @actor_command_window.x = 480
      end
    end
  end
end
Code:
#===============================================================================
# ** Large Party System                                                 
#    by Fomar0158  
#-------------------------------------------------------------------------------
#  This system allows you to break the 4 team barrier setup by RPGMaker XP.  By
#  using this code, you can have 5, 6 or even 10 member parties.
#
#  NOTE:  You may experience difficulties w/ 'draw_actor_hp' and 'draw_actor_sp'
#  in combat due to the 'if... elsif...' block that controls the width of the
#  HP and SP blocks.  This problem will typically start with parties over five
#  in size.  Editing these defs is the only way to cancel this error.
#
#-------------------------------------------------------------------------------
#  Part 2:  Battlesystem Code
#-------------------------------------------------------------------------------
#
#  (This script must be placed 'below' any Custom Battle System you're using.)
#  (Only the 1st half for the RTAB system. Not for use with ParaDog's system.)
#
#  This page of the code is designed for use with the battlesystem you are using
#  at the time.  By default, it was originally set up for the default battlesys-
#  tem alone.  It has since been edited for use with the RTAB battle systems.
#
#  To use with RTAB,  remove or comment out the Window_BattleStatus code  at the
#  bottom of this script.   It has been clearly marked.   The ParaDog script has
#  already been designed for large party scripts,  so the use  of this system is
#  not required.   RTAB on the  other hand  has a unique  scrolling battlestatus
#  window and would require another script to replace its own.
#===============================================================================


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------  
  attr_accessor :bstat_pos                # To adjust the battlestatus window
  #--------------------------------------------------------------------------
  # * Get Battle Screen X-Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    # Return after calculating x-coordinate by order of members in party
    if self.index != nil
      unless $game_party.actors.size > 4
        return self.index * 160 + 80
      else
        return self.index * (640/ $game_party.actors.size) +
          (80/($game_party.actors.size/2))
      end
    else
      return 0
    end
  end
end


#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias fomar_update update
  def update
    # Added routine to load battlers during combat
    unless @battlers_loaded
      @actor_sprites = []
      for i in 0...$game_party.party_size
        @actor_sprites.push(Sprite_Battler.new(@viewport2))
      end
      @battlers_loaded = true
    end      
    # Perform the original call
    fomar_update  
    # 'Re-'Update actor sprite contents (corresponds with actor switching)
    for i in 0...$game_party.party_size
      @actor_sprites[i].battler = $game_party.actors[i]
    end
  end
end


#==============================================================================
#==============================================================================
#
#   ****      REMOVE FROM HERE DOWN TO WORK WITH THE RTAB SYSTEM      ****
#
#==============================================================================
#==============================================================================


#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
#  This window displays the status of all party members on the battle screen.
#==============================================================================

class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias fomar_init initialize
  def initialize
    fomar_init
    unless $game_party.actors.size > 4
      @level_up_flags = [false, false, false, false]
    else
      @level_up_flags = []
      for i in 0...$game_party.actors.size
        @level_up_flags.push(false)
      end
    end
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  alias fomar_refresh refresh
  def refresh
    @bstat_width = (640 / $game_party.actors.size ) - 32
    # Determine if the 1st position, 2nd position, 3rd...
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      actor.bstat_pos = (i * @bstat_width) + (32 * i) 
    end
    # Call original
    fomar_refresh
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # * Draw Name
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------
  alias fomar_da_name draw_actor_name
  def draw_actor_name(actor, x, y)
    x2 = actor.bstat_pos
    fomar_da_name(actor, x2, y)
  end
  #--------------------------------------------------------------------------
  # * Draw State
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias fomar_da_state draw_actor_state
  def draw_actor_state(actor, x, y, width = 120)
    # Reset the width
    if width > @bstat_width
      width = @bstat_width
    end
    x2 = actor.bstat_pos
    fomar_da_state(actor, x2, y, width)
  end
  #--------------------------------------------------------------------------
  # * Draw HP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias fomar_da_hp draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 120)
    # Reset the width
    if width > @bstat_width
      width = @bstat_width
    end
    x2 = actor.bstat_pos
    if $game_party.actors.size < 6
      fomar_da_hp(actor, x2, y, width)
    else
      fomar_da_hp(actor, x2, y, 48)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw SP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  alias fomar_da_sp draw_actor_sp
  def draw_actor_sp(actor, x, y, width = 120)
    # Reset the width
    if width > @bstat_width
      width = @bstat_width
    end
    x2 = actor.bstat_pos
    if $game_party.actors.size < 6    
      fomar_da_sp(actor, x2, y, width)
    else
      fomar_da_sp(actor, x2, y, 48)
    end
  end
end

Also apparently it's SDK complient according to DerVVulfman.

You can change the party size from a map event by using:
Code:
@>Script: $game_party.party_size = 5
 :      : $game_party.refresh
Don't forgot to credit DerVVulfman aswell as me if you use this version of the script.
 
Ok I'll make a demo for you with Minkoff's sideview battlesystem and this script.

Edit: The RTAB wouldn't work with it and it's a big script full of places that probably need editing. But I had no problem getting Minkoff's sideview CBS to work with it. In this example you can upto 8 people and people 5-8 go in the back row (graphically).
 
is it possible to set what party members are going to battle? if i have 10 party members, is it possible to set 5 of them to battle and put 5 of them on reserve using this?
 
I'm using this script and when I go into battle with five characters, I only see 4 people HP, SP. It will display the fifth character's Battler, name, and state then the words HP and SP but I can't see how much HP, SP the fifth character has... Someone help!
 
You are using BOTH pages 1 and 2, right?

The first version that fomar0153 posted... and the recent version that I gave him (further down the post) ... are separated into TWO parts. The first one handles the party size and main menu system. The second part deals with the Scene_Battle system and the battlestatus window.
 
The script you gave fomar0153 was meant for CBS's while I am for now, just using the default battle system.

In case it helps any, the only other script I'm using is fukuyama's Caterpillar script. I've managed to get the fifth character to follow the hero. The only problem I'm having is with the battle system. I just can't get the HP and SP amount to show on screen for the fifth character.
 
Well try this:
Remove the current script (the large party) and then paste this above main:
Code:
class Game_Party
  
  Max_Party = 5
  
  def max_party
    return Max_Party
  end
  
  def add_actor(actor_id)
    actor = $game_actors[actor_id]
    if not @actors.include?(actor) and $game_party.actors.size < Max_Party
      @actors.push(actor)
      $game_player.refresh
    end
  end
end


class Window_BattleStatus < Window_Base
  
  def initialize
    super(0, 320, 640, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    unless $game_party.actors.size > 4
      @level_up_flags = [false, false, false, false]
    else
      @level_up_flags = []
      for i in 0...$game_party.actors.size
        @level_up_flags.push(false)
      end
    end
    refresh
  end
  
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      unless $game_party.actors.size > 4
        actor_x = i * 160 + 4
      else
        actor_x = i * (4 + (640/ $game_party.actors.size))
      end
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[i]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end


class Game_Actor < Game_Battler
  def screen_x
    if self.index != nil
      unless $game_party.actors.size > 4
        return self.index * 160 + 80
      else
        return self.index * (640/ $game_party.actors.size) + (80/($game_party.actors.size/2))
      end
    else
      return 0
    end
  end
end


class Scene_Battle
  def phase3_setup_command_window
    @party_command_window.active = false
    @party_command_window.visible = false
    @actor_command_window.active = true
    @actor_command_window.visible = true
    unless $game_party.actors.size > 4
      @actor_command_window.x = @actor_index * 160
    else
      @actor_command_window.x = @actor_index * (640/$game_party.actors.size)
      if @actor_command_window.x > 480
        @actor_command_window.x = 480
      end
    end
    @actor_command_window.index = 0
  end
end

class Window_MenuStatus < Window_Selectable
  
  def initialize
    unless $game_party.actors.size > 4
      super(0, 0, 480, 480)
    else
      super(0, 0, 480, 160 * $game_party.actors.size)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  
  alias large_refresh refresh
  def refresh
    large_refresh
    self.height = 480
  end
  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  
  def top_row
    return self.oy / 116
  end
  
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
  
  def page_row_max
    return 4
  end
end

#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :viewport1                # enemy viewport
  attr_reader   :viewport2                # actor viewport
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 320)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 101
    @viewport3.z = 200
    @viewport4.z = 5000
    # Make battleback sprite
    @battleback_sprite = Sprite.new(@viewport1)
    # Make enemy sprites
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
    end
    # Make actor sprites
    
    
    @actor_sprites = []
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    
    
    for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end
    
    
    
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = []
    for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update actor sprite contents (corresponds with actor switching)
    #@actor_sprites[0].battler = $game_party.actors[0]
    #@actor_sprites[1].battler = $game_party.actors[1]
    #@actor_sprites[2].battler = $game_party.actors[2]
    #@actor_sprites[3].battler = $game_party.actors[3]
    
    for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end
    
    # If battleback file name is different from current one
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
      @battleback_sprite.src_rect.set(0, 0, 640, 320)
    end
    # Update battler sprites
    for sprite in @enemy_sprites + @actor_sprites
      sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
      sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport4.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport2.update
    @viewport4.update
  end
end
 
It didn't work... I tried adding a sixth person to see what that would do and only five peoples HP and SP show up... It seems the last person continues to get cut off...

I'll try adding a CBS and see what that does, If I still have the same problem I'll report here right away.
 
Oh I know what's wrong...
At the top of the script find this line:
Code:
Max_Party = 5
And change that 5 to the maximum number of people in your party at anytime.
 
I am only using 5 people and I get the same problem...
No matter what I do, the last persons Name, Status, HP and HP shows up but not the HP and SP values as seen with five people in my picture. The only difference is that HP SP are nearly overlapping and you can see the fifth person's HP and SP values. Any idea what my problem is?
 
Sorry about the wait:
Code:
class Game_Party
  
  Max_Party = 5
  
  def max_party
    return Max_Party
  end
  
  def add_actor(actor_id)
    actor = $game_actors[actor_id]
    if not @actors.include?(actor) and $game_party.actors.size < Max_Party
      @actors.push(actor)
      $game_player.refresh
    end
  end
end


class Window_BattleStatus < Window_Base
  
  def initialize
    super(0, 320, 640, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    unless $game_party.actors.size > 4
      @level_up_flags = [false, false, false, false]
    else
      @level_up_flags = []
      for i in 0...$game_party.actors.size
        @level_up_flags.push(false)
      end
    end
    refresh
  end
  
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      unless $game_party.actors.size > 4
        actor_x = i * 160 + 4
      else
        actor_x = i * (120)
      end
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[i]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end


class Game_Actor < Game_Battler
  def screen_x
    if self.index != nil
      unless $game_party.actors.size > 4
        return self.index * 160 + 80
      else
        return self.index * (640/ $game_party.actors.size) + (80/($game_party.actors.size/2))
      end
    else
      return 0
    end
  end
end


class Scene_Battle
  def phase3_setup_command_window
    @party_command_window.active = false
    @party_command_window.visible = false
    @actor_command_window.active = true
    @actor_command_window.visible = true
    unless $game_party.actors.size > 4
      @actor_command_window.x = @actor_index * 160
    else
      @actor_command_window.x = @actor_index * (640/$game_party.actors.size)
      if @actor_command_window.x > 480
        @actor_command_window.x = 480
      end
    end
    @actor_command_window.index = 0
  end
end

class Window_MenuStatus < Window_Selectable
  
  def initialize
    unless $game_party.actors.size > 4
      super(0, 0, 480, 480)
    else
      super(0, 0, 480, 160 * $game_party.actors.size)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  
  alias large_refresh refresh
  def refresh
    large_refresh
    self.height = 480
  end
  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  
  def top_row
    return self.oy / 116
  end
  
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
  
  def page_row_max
    return 4
  end
end

#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :viewport1                # enemy viewport
  attr_reader   :viewport2                # actor viewport
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 320)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 101
    @viewport3.z = 200
    @viewport4.z = 5000
    # Make battleback sprite
    @battleback_sprite = Sprite.new(@viewport1)
    # Make enemy sprites
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
    end
    # Make actor sprites
    
    
    @actor_sprites = []
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    
    
    for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end
    
    
    
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = []
    for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update actor sprite contents (corresponds with actor switching)
    #@actor_sprites[0].battler = $game_party.actors[0]
    #@actor_sprites[1].battler = $game_party.actors[1]
    #@actor_sprites[2].battler = $game_party.actors[2]
    #@actor_sprites[3].battler = $game_party.actors[3]
    
    for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end
    
    # If battleback file name is different from current one
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
      @battleback_sprite.src_rect.set(0, 0, 640, 320)
    end
    # Update battler sprites
    for sprite in @enemy_sprites + @actor_sprites
      sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
      sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport4.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport2.update
    @viewport4.update
  end
end
 
I know I've posted this before Formar but I've ran into a new problem concerning your script.
problem 1:
here is the menu script I'm using:
Code:
#==============================================================================
# Window_Gold
#==============================================================================
class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization 
  #--------------------------------------------------------------------------
  def initialize
    super(439, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh 
  #--------------------------------------------------------------------------
  def refresh
    #Advanced Gold Display mini-script by Dubealex.
    self.contents.clear     
    case $game_party.gold
      when 0..9999
        gold = $game_party.gold
      when 10000..99999
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
      when 100000..999999 
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
      when 1000000..9999999 
        gold = $game_party.gold.to_s
        array = gold.split(//)
        gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
      end
  
    self.contents.font.color = system_color 
    gold_word = $data_system.words.gold.to_s + "-"
    cx = contents.text_size(gold_word).width
    cx2=contents.text_size(gold.to_s).width
    self.contents.draw_text(4, 0, 160-cx-2, 32, gold_word)
    self.contents.font.color = text_color(0) 
    self.contents.draw_text(164-cx2+2, 0, cx2, 32, gold.to_s, 2)
  end
end


#==============================================================================
# Window_PlayTime
#==============================================================================
class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization 
  #--------------------------------------------------------------------------
  def initialize
    super(239, 413, 200, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh 
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 120, 32, "Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 160, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end


#============================================================================== 
# **Game_Map 
#============================================================================== 
class Game_Map    
  def name
     $map_infos[@map_id]
  end   
end


#========================================
# **Scene_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end

#==============================================================================
# Window_MapName
#==============================================================================
class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization 
  #--------------------------------------------------------------------------
  def initialize
    super(0, 413, 239, 64)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh 
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear    
    self.contents.font.color = normal_color
    #if $scene.current_location = ""
      self.contents.draw_text(4, 0, 200, 32, $game_map.name.to_s, 1)
    #else
      #self.contents.draw_text(4, 32, 120, 32, $scene.current_location.to_s, 1)
    #end
  end  
end


#==============================================================================
# Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization 
  #--------------------------------------------------------------------------
  def initialize
    $game_party.actors.size < 4 ? i = 14 : i = 0
    $game_party.actors.size == 1 ? i = 24 : i = i
    super(177, 0, 462, ($game_party.actors.size * 72)+i)
    #Create Bitmap
    self.contents = Bitmap.new(width - 32, height - 32)
    #Z-Pos
    self.z = 100
    #Refresh and add the contents to window    
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh 
  #--------------------------------------------------------------------------
  def refresh
    #Clear Bitmap
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 16
      y = i*64
      actor = $game_party.actors[i]
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)      
      draw_actor_state(actor, x + 260, y )
      draw_actor_level(actor, x, y + 32)
      draw_actor_hp(actor, x + 98, y + 32)
      draw_actor_sp(actor, x + 254, y + 32)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
    end
  end
end


#==============================================================================
# Scene_Menu
#==============================================================================
class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
    commands_init
    @changer = 0 #Change Party Order by Yargovish
    @where = 0 #
    @checker = 0  #
  end
  #--------------------------------------------------------------------------
  # * Set Commands
  #--------------------------------------------------------------------------
  def commands_init
    # MenuCommand
    @commands = []
    s1 = "Item"
    s2 = "Skill"
    s3 = "Equip"
    s4 = "Status"
    s5 = "Order"
    s6 = "System"
    @commands.push(s1, s2, s3, s4, s5, s6).flatten!
    
    @system_commands = []
    o1 = "CEG"
    o2 = "Help"
    o3 = "Save"
    o4 = "Load"
    o5 = "Exit"
    @system_commands.push(o1, o2, o3, o4, o5).flatten!
  end
  #--------------------------------------------------------------------------
  # * Main - Handles drawing/disposing windows and the main loop 
  #--------------------------------------------------------------------------
  def main
    #Draw Windows
    main_command_window
    system_command_window
    main_draw
    #Execute transition
    Graphics.transition
    #Main Loop
    loop do
      #Main Loop
      main_loop
      break if main_scenechange?
    end
    #Prepare for transition
    Graphics.freeze
    #Dispose Windows
    main_dispose
  end
  #--------------------------------------------------------------------------
  # * Main Draw - Handles drawing windows
  #--------------------------------------------------------------------------
  def main_draw
    #Draw Background
    @background = Spriteset_Map.new
    #Draw Windows   
    @gold_window = Window_Gold.new
    @gold_window.x = 439
    @gold_window.y = 413
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 239
    @playtime_window.y = 413    
    @map_window = Window_MapName.new
    @map_window.x = 0
    @map_window.y = 413
    @map_window.z = 100
    @status_window = Window_MenuStatus.new        
  end
  #--------------------------------------------------------------------------
  # * Main Command Window
  #--------------------------------------------------------------------------
  def main_command_window  
    @command_window = Window_Command.new(160, @commands)
    @command_window.index = @menu_index
    # If number of party members is 0
    if $game_party.actors.size == 0
      # Disable items, skills, equipment, and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    
    if $game_party.actors.size <= 1 #
      @command_window.disable_item(4)
    end   
  end
    
  def system_command_window
    @load_enabled = false
    @sys_command_window = Window_Command.new(160, @system_commands)
    @sys_command_window.visible = false
    @sys_command_window.active = false
    @sys_command_window.x = 100
    @sys_command_window.y = 180
    @sys_command_window.z = 0
    if $game_system.save_disabled
      @sys_command_window.disable_item(2)
    end
    for i in 0..3
      if (FileTest.exist?("Save#{i+1}.rxdata"))        
        @load_enabled = true
      end
    end  
    if !@load_enabled
      @sys_command_window.disable_item(3)
    end
  end    
  #--------------------------------------------------------------------------
  # * Main Scene Change 
  #--------------------------------------------------------------------------
  def main_scenechange?
    # Abort loop if screen is changed
    if $scene != self
      return true
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Main Dispose 
  #--------------------------------------------------------------------------
  def main_dispose
    #Dispose Background
    @background.dispose
    # Dispose All Windows
    @gold_window.dispose
    @playtime_window.dispose
    @map_window.dispose
    @status_window.dispose
    @command_window.dispose
    @sys_command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Main Loop 
  #--------------------------------------------------------------------------
  def main_loop
    # Update game screen
    Graphics.update
    # Update input information
    Input.update
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Update 
  #--------------------------------------------------------------------------
  def update
    # Update Windows
    update_windows
    #update_command if @command_window.active and @command_window.visible
    #update_sys_command if @sys_command_window.active and @sys_command_window.visible
    #update_status if @status_window.active
    
    if @sys_command_window.active
      @sys_command_window.z = +500
    end
    
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If system window is active: call update_sys_command
    if @sys_command_window.active
      update_sys_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Window Update 
  #--------------------------------------------------------------------------
  def update_windows    
    @command_window.update if @command_window.visible
    @sys_command_window.update if @sys_command_window.visible
    @gold_window.update
    @playtime_window.update
    @map_window.update
    @status_window.update
  end
  #--------------------------------------------------------------------------
  # * Update Command Window
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If command other than save or end game, and party members = 0
      if $game_party.actors.size == 0 and @command_window.index < 4
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Branch by command window cursor position
      case @command_window.index
      when 0 # Item      
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to item screen
        $scene = Scene_Item.new
      when 1 # Skill
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2 # Equip
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0      
      when 3 # Status
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0          
      when 4 # Order
        #Change Party Order by Yargovish
        $game_system.se_play($data_system.decision_se)
        @checker = 0
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0      
      when 5 # System
        $game_system.se_play($data_system.decision_se)
        @sys_command_window.active = true
        @sys_command_window.visible = true
        @command_window.active = false         
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update SysCommand Window
  #--------------------------------------------------------------------------
  def update_sys_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @sys_command_window.active = false
      @sys_command_window.visible = false
      @sys_command_window.index = 0
      @sys_command_window.z = 0
      return
    end
    
    if Input.trigger?(Input::C)
      case @sys_command_window.index      
      when 0 #Over Soul
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to Espers screen
        #$scene = Scene_Esper.new
      when 1
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_MonsterGuide.new
      when 2
        # # If saving is forbidden
        if $game_system.save_disabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to save screen
        $scene = Scene_Save.new
      when 3
        if !@load_enabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to load screen
        $scene = Scene_Load.new
      when 4
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to end game screen
        $scene = Scene_End.new
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when status window is active)
  #--------------------------------------------------------------------------
  def update_status
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Make command window active
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by command window cursor position
      case @command_window.index
      when 1  # skill
        # If this actor's action limit is 2 or more
        if $game_party.actors[@status_window.index].restriction >= 2
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to skill screen
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to equipment screen
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to status screen
        $scene = Scene_Status.new(@status_window.index)
      when 4
        #Change Party Order by Yargovish
        $game_system.se_play($data_system.decision_se)
        if @checker == 0
          @changer = $game_party.actors[@status_window.index]
          @where = @status_window.index
          @checker = 1
        else
          $game_party.actors[@where] = $game_party.actors[@status_window.index]
          $game_party.actors[@status_window.index] = @changer
          @checker = 0
          @status_window.refresh
          $game_player.refresh #
        end        
      end
      return
    end
  end  
end


class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias load_initialize initialize
  alias load_on_cancel on_cancel
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @scene = $scene
    load_initialize
  end
  #--------------------------------------------------------------------------
  # * Cancel Processing
  #--------------------------------------------------------------------------
  def on_cancel
    load_on_cancel
    $scene = @scene
  end
end

problem 2:
here is the SVB system i'm using:
Code:
  #==============================================================================
  # ++ サイドビューバトル(歩行グラフィック版) ver. 1.14 ++
  #  Script by パラ犬
  #  http://para.j-mx.com/
  #------------------------------------------------------------------------------
  # バトルフィールドに歩行グラフィックを表示します。
  #==============================================================================
  
  module SDVA
    
    X_LINE = 500        # 横位置のバトラー表示座標
    Y_LINE = 200        # 縦位置のバトラー表示座標
    X_SPACE = 15        # 横位置のバトラー同士の間隔
    Y_SPACE = 40        # 縦位置のバトラー同士の間隔
    X_POSITION = 25     # 隊列[前衛・中衛・後衛]の横間隔
    Y_POSITION = 0      # 隊列[前衛・中衛・後衛]の縦間隔
    
    ATTACK_MOVE = true  # 攻撃時に前へ踏み出すか( true / false )
    SKILL_MOVE = true   # スキル使用時に前へ踏み出すか( true / false )
    ITEM_MOVE = false   # アイテム使用時に前へ踏み出すか( true / false )
    MOVE_STEP = 2       # 移動歩数
    MOVE_PIXEL = 10     # 一歩あたりのピクセル数
    
    PARTY_POS = 1       # キャラクターの向き( 0:下 / 1:左 / 2:右 / 3:上 )
  
    WINDOWPOS_CHANGE = true   # コマンドウインドウをバトラーの横に表示するか( true / false )
  
    end
    
  #==============================================================================
  # â–  Game_Actor
  #==============================================================================
  
  class Game_Actor < Game_Battler
    #--------------------------------------------------------------------------
    # ● バトル画面 X 座標の取得
    #--------------------------------------------------------------------------
    def screen_x
      if self.index != nil
        # 隊列を取得
        pos = $data_classes[self.class_id].position
        x_pos = pos * SDVA::X_POSITION
        scr_x = self.index * SDVA::X_SPACE + SDVA::X_LINE + x_pos
        # 移動アクションのとき
        if self.current_action.move_action == true
          # 横に移動
          scr_x += @shift_x
        end
        return scr_x
      else
        return 0
      end
    end
    #--------------------------------------------------------------------------
    # ● バトル画面 Y 座標の取得
    #--------------------------------------------------------------------------
    def screen_y
      if self.index != nil
        # 隊列を取得
        pos = $data_classes[self.class_id].position
        y_pos = pos * SDVA::Y_POSITION
        scr_y = self.index * SDVA::Y_SPACE + SDVA::Y_LINE + y_pos
        # 移動アクションのとき
        if self.current_action.move_action == true
          # 縦に移動
          scr_y += @shift_y
        end
        return scr_y
      else
        return 0
      end
    end
    #--------------------------------------------------------------------------
    # ● バトル画面 Z 座標の取得
    #--------------------------------------------------------------------------
    def screen_z
      if self.index != nil
        return self.index
      else
        return 0
      end
    end
  end
  
  #==============================================================================
  # ■ Game_Battler (分割定義 1)
  #==============================================================================
  
  class Game_Battler
    #--------------------------------------------------------------------------
    # ● 公開インスタンス変数
    #--------------------------------------------------------------------------
    attr_reader   :pattern        # 歩行パターン
    attr_reader   :trans_x        # X方向の移動距離
    attr_reader   :moving         # 移動中フラグ
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    alias initialize_sdva initialize
    def initialize
      initialize_sdva
      move_reset
    end
    #--------------------------------------------------------------------------
    # ○ 移動カウント
    #--------------------------------------------------------------------------
    def move
      @moving = 1
        if @step < SDVA::MOVE_STEP
          # 歩数を満たすまで移動
          @pattern = (@pattern + 1) % 4
          @step += 1
          move_step
        else
          # 移動終了
          @pattern = 1
          @moving = 2
        end
    end
    #--------------------------------------------------------------------------
    # ○ 移動処理
    #--------------------------------------------------------------------------
    def move_step
    # パーティの向きによって移動座標を変える
    case SDVA::PARTY_POS
      when 0
        @shift_y = @step * SDVA::MOVE_PIXEL
      when 1
        @shift_x = -(@step * SDVA::MOVE_PIXEL)
      when 2
        @shift_x = @step * SDVA::MOVE_PIXEL
      when 3
        @shift_y = -(@step * SDVA::MOVE_PIXEL)
      end       
    end
    #--------------------------------------------------------------------------
    # ○ 移動のリセット
    #--------------------------------------------------------------------------
    def move_reset
      @moving = 0
      @pattern = 0
      @step = 0
      @shift_x = 0
      @shift_y = 0
    end
  end
  
  #==============================================================================
  # â–  Game_BattleAction
  #==============================================================================
  
  class Game_BattleAction
    #--------------------------------------------------------------------------
    # ● 公開インスタンス変数
    #--------------------------------------------------------------------------
    attr_accessor :move_action             # 移動するアクションか
    #--------------------------------------------------------------------------
    # ● クリア
    #--------------------------------------------------------------------------
    alias clear_sdva clear
    def clear
      clear_sdva
      @move_action = false
    end
  end
  
  #==============================================================================
  # â–  Sprite_Battler
  #==============================================================================
  
  class Sprite_Battler < RPG::Sprite
    #--------------------------------------------------------------------------
    # ● フレーム更新
    #--------------------------------------------------------------------------
    alias update_sdva update
    def update
      # バトラーがアクターに含まれるとき
      if @battler.is_a?(Game_Actor)
        # ファイル名か色相が現在のものと異なる場合
        # 行動中の場合
        if @battler.battler_name != @battler_name or
           @battler.battler_hue != @battler_hue or
           @battler.current_action.basic == 0 or
           @battler.current_action.kind != 3
          # ビットマップを取得、設定
          @character_name = @battler.character_name
          @character_hue = @battler.character_hue
          # 歩行グラフィックを描画
          self.bitmap = RPG::Cache.character(@character_name, @character_hue)
          cw = self.bitmap.width / 4
          ch = self.bitmap.height / 4
          @width = cw
          @height = ch
          if @battler.current_action.move_action == true
            # 歩かせる
            @battler.move
          else
            @battler.move_reset
          end
          # 転送元の矩形を設定
          sx = @battler.pattern * cw
          sy = SDVA::PARTY_POS * ch
          self.src_rect.set(sx, sy, cw, ch)
          self.ox = @width / 2
          self.oy = @height
          # 隠れ状態なら不透明度を 0 にする
          if @battler.hidden
            self.opacity = 0
          end
        end
      end
      update_sdva
    end
  end
    
  #==============================================================================
  # â–  Scene_Battle
  #==============================================================================
  
  class Scene_Battle
    #--------------------------------------------------------------------------
    # ● アクターコマンドウィンドウのセットアップ
    #--------------------------------------------------------------------------
    alias phase3_setup_command_window_sdva phase3_setup_command_window
    def phase3_setup_command_window
      phase3_setup_command_window_sdva
      if SDVA::WINDOWPOS_CHANGE
        # アクターコマンドウィンドウの位置を設定
        case SDVA::PARTY_POS
          when 0
            x_pos = @active_battler.screen_x - (@actor_command_window.width/2)
            y_pos = @active_battler.screen_y
          when 1
            x_pos = @active_battler.screen_x - @actor_command_window.width - 16
            y_pos = @active_battler.screen_y - @actor_command_window.height
          when 2
            x_pos = @active_battler.screen_x + 16
            y_pos = @active_battler.screen_y - @actor_command_window.height
          when 3
            x_pos = @active_battler.screen_x - (@actor_command_window.width/2)
            y_pos = @active_battler.screen_y - @actor_command_window.height - 48
        end
        @actor_command_window.x = x_pos >= 0 ? x_pos : 0
        @actor_command_window.x = x_pos+@actor_command_window.width <= 640 ? x_pos : 640-@actor_command_window.width
        @actor_command_window.y = y_pos >= 0 ? y_pos : 0
        @actor_command_window.y = y_pos+@actor_command_window.height <= 480 ? y_pos : 480-@actor_command_window.height
        # ステータスウインドウに隠れないように
        @actor_command_window.z = 9999
      end
    end
    #--------------------------------------------------------------------------
    # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
    #--------------------------------------------------------------------------
    alias update_phase4_step3_sdva update_phase4_step3
    def update_phase4_step3
      if SDVA::ATTACK_MOVE
        if @active_battler.current_action.basic == 0
          @active_battler.current_action.move_action = true
        end
      end
      if SDVA::SKILL_MOVE
        if @active_battler.current_action.kind == 1
          @active_battler.current_action.move_action = true
        end
      end
      if SDVA::ITEM_MOVE
        if @active_battler.current_action.kind == 2
          @active_battler.current_action.move_action = true
        end
      end
      # バトラーがアクターに含まれ、移動アクション中
      if @active_battler.is_a?(Game_Actor) and
       @active_battler.current_action.move_action
        # 移動終了時
        if @active_battler.moving == 2
          update_phase4_step3_sdva
        end
      elsif @active_battler.moving == 0
        update_phase4_step3_sdva
      end
    end
    #--------------------------------------------------------------------------
    # ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
    #--------------------------------------------------------------------------
    alias update_phase4_step6_sdva update_phase4_step6
    def update_phase4_step6
      @active_battler.current_action.move_action = false
      @active_battler.move_reset
      update_phase4_step6_sdva
    end
  end
  
  #==============================================================================
  # â–  Spriteset_Battle
  #==============================================================================
  
  class Spriteset_Battle
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    alias initialize_sdva initialize
    def initialize
      initialize_sdva
      @viewport2.z = 1
    end
  end
  
  #==============================================================================
  # â–  Arrow_Actor
  #==============================================================================
  
  class Arrow_Actor < Arrow_Base
    #--------------------------------------------------------------------------
    # ● フレーム更新
    #--------------------------------------------------------------------------
    alias update_sdva update
    def update
      update_sdva
      # カーソル下
      if Input.repeat?(Input::DOWN)
        $game_system.se_play($data_system.cursor_se)
        @index += 1
        @index %= $game_party.actors.size
      end
      # カーソル上
      if Input.repeat?(Input::UP)
        $game_system.se_play($data_system.cursor_se)
        @index += $game_party.actors.size - 1
        @index %= $game_party.actors.size
      end
    end
  end
  
  #==============================================================================
  # â–  Arrow_Enemy
  #==============================================================================
  
  class Arrow_Enemy < Arrow_Base
    #--------------------------------------------------------------------------
    # ● フレーム更新
    #--------------------------------------------------------------------------
    alias update_sdva update
    def update
      update_sdva
      # カーソル下
      if Input.repeat?(Input::DOWN)
        $game_system.se_play($data_system.cursor_se)
        $game_troop.enemies.size.times do
          @index += 1
          @index %= $game_troop.enemies.size
          break if self.enemy.exist?
        end
      end
      # カーソル上
      if Input.repeat?(Input::UP)
        $game_system.se_play($data_system.cursor_se)
        $game_troop.enemies.size.times do
          @index += $game_troop.enemies.size - 1
          @index %= $game_troop.enemies.size
          break if self.enemy.exist?
        end
      end
    end
  end

What could be conflicting with your script?
and please could you fix this cause it's for my master game i'm workin on
 
To Chaos_Prime:
Well, tell you the truth... I got it working.

I have the following scripts... in this order:
Fomar's Large Party Script (My edit... further down the 1st page)... part 1 (General)
The Custom Menu you posted...
ParaDog's CBS (which you are also using for the battlestat & Bars) :D
ParaDog's Sideview script (I recognized your posting)
Eladia's Battle Equipment Menu (Am I right?)


Do NOT use the 2nd part (Battlestatus) as ParaDog's system has a Party Size system built into it already. My mistake for typing that into my edit... O_o The 2nd page should be used for the default styled (left-to-right) systems, and only the 1st half of it for the RTAB script.

You must also have
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top