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.

[VX] Party Changer

Hi, I was trying to use the script, but when I enter the party changer in the menu or enter a battle, it says an error:

"Script 'Party_Changer' line 810: ArgumentError occurred.

wrong number of arguments(4 for 3)"

for help, the line 810 says:

    draw_actor_graphic(actor, 16, rect.y + 32, opacity)

I have installed the large party script and the commands script in the last version. Can anyone help with this?

EDIT: I put it on a new game without other scripts and it works. Now I want to know what script is incompatible.  :crazy:

List of scripts:
Bestiary (Dargor)
Advanced title (Dargor)
Battle Result (Woratana)
Antilag (Anaryu)
GameOver Edit (CociCookie)
E'S Character info (Enyo)
On-Screen Shop (Woratana)
Action Order(Dargor)

It isn't fully-necessary, 'cause i'm testing scripts for my game, but if one of these is incompatible (and you already know) you will help me.
 
You probably have a script that rewrites draw_actor_graphic. (Probably the Antilag or E'S Character info)
Try putting the party changer below every other scripts.
 
Hi, I'm using the multiple parties script, but I was wondering if there is a way to disallow switching parties with a button and instead use a command to force a party switch. I'm making a game where I'm using multiple parties, but I don't want the player being able to switch to any of the other parties manually and instead I can control when the game switches to another party.

Thank you.
 
You can't disallow the party switching but I will add an option for that in the next version of the multiple parties script.
However, you can manually switch to the previous/next party by using these lines of code:
Code:
$game_parties.next_party
$game_parties.prior_party
You can't say "change to party 5 and then go back to party 2", but I will also add that in the next version ;)

Take care!
-Dargor
 
Yeah, it goes! Thanks so much, I think this script is all I need for start now the game. Thanks a lot for it!

If I notice something strange with the script, I won't meditate about posting here.
 
ummm, one more thing I noticed about the multiple parties script:
When I recombine all the parties with:
Code:
$game_system.multiple_parties = false
Any of the items and gold that were obtained by any of the parties, except for the one that activated the event, were not added to the final inventory. Is there anyway you could fix that as well?

Thanks for the awesome script!
 
How goes making it compatibler with DerVVulfman's animated battlers script? It may help you to know Im just using still battlers you know, like RTP Battlers, meaning, they aren't animated?

It may also be easier on you to post the scripts into code boxes, well here goes

This animated battler formations. I am having problems with line 124
Code:
#==============================================================================
# ** Animated Battlers VX Add-On #1:
#    Animated Battler Formations
#------------------------------------------------------------------------------
#    by DerVVulfman
#    version 1.0
#    05-20-2008
#    RGSS2 / RPGMaker VX
#============================================================================== 
#
#  INTRODUCTION:
#
#  Rather than reinstitute  the formation system  I included and hardwired into
#  "Minkoff's Animated Battlers - Enhanced", I decided to use an outside script
#  that is highly customizable.  With this add-on,  the end user can design the
#  battle formations  for the actor battlers.   They will start out  and remain
#  lined up in the order the end user sets up.
#
#  The system recognizes the  'Mirror Effect'  system  in Animated Battlers VX,
#  and will adjust and reverse the battler positions accordingly.  You need not
#  worry about  creating duplicate  formation entries  for both left  and right
#  sided formations.
#
#------------------------------------------------------------------------------
#  
#  CREATING THE FORMATIONS:
#
#  This system allows you to create multiple formations.   This is accomplished
#  by the way you use the 'ABATVX_FORMATION' array.  The syntax is as follows:
#
#  ABATVX_FORMATION = { id => [ formation set ], id => [formation set],... }
#
#  So...  with that,  you can make  multiple sets  of formations  which you can
#  switch to while the game is running..
#
#  Now...  each formation set holds the x and y position for each actor battler
#  in combat.  Not by their 'Actor ID' mind you,  merely by party member order.
#  So the first member in your party,regardless of their position in your actor
#  database, will be first battler position defined in the formation set.  The
#  layout for each formation set is as follows:
#
#             [ [Battler 1's X & Y], [Battler 2's X & Y],... ]
#
#  Most people would set a formation set with allowances for 4 battlers. But if
#  you wanted to use a large party script  to increase the number of members in
#  your battle party, you can add more than 4 battler arrays like so:
#
#  ...ON = { 0 => [ [350,200], [395,235], [440,270], [485,305], [530,340] ],
#            1 => [ [530,200], [485,235], [440,275], [395,305], [350,340] ]  }
#  
#------------------------------------------------------------------------------
#
#  SCRIPT CALL:
#
#  There's only one script call you should be familiar with right now, and that
#  is the script call that changes the formation you want to use in battle.  By
#  default, the system uses the formation set by ID #0.  But you can change the
#  formation being used with the following call:
#
#
#  The call is simple:  $game_system.abatvx_form_id = number
#
#  Where the number is the ID number of your formation.  That's it.
#
#
#------------------------------------------------------------------------------
#
#  TERMS AND CONDITIONS:
#
#  Free to use, even in commercial projects.  Just note that I need some form
#  of due credit... even a mere mention in some end titles.
#
#==============================================================================

  # THE  FORMATION
  # SETTING  ARRAY
  # ==============
  #                   ID      Battler 1   Battler 2   Battler 3   Battler 4
  ABATVX_FORMATION = { 0 => [ [300, 200], [350, 235], [410, 270], [485, 305] ],
                       1 => [ [485, 200], [440, 235], [395, 270], [350, 305] ] }

  
  
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  This class handles system-related data. Also manages vehicles and BGM, etc.
# The instance of this class is referenced by $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :abatvx_form_id           # Formation ID
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias init_game_system initialize
  def initialize
    init_game_system
    @abatvx_form_id = 0                # Initial formation
  end
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Actor X Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    return self.abatvx_bypass_x if self.abatvx_form_bypass == true
    if $game_system.abatvx_mirror
      return 544 - ABATVX_FORMATION[$game_system.abatvx_form_id][self.index][0]
    else
      return ABATVX_FORMATION[$game_system.abatvx_form_id][self.index][0] #This line is the problem.
    end
  end
  #--------------------------------------------------------------------------
  # * Actor Y Coordinate
  #--------------------------------------------------------------------------
  def screen_y
    return self.abatvx_bypass_y if self.abatvx_form_bypass == true
    return ABATVX_FORMATION[$game_system.abatvx_form_id][self.index][1]
  end
end

Actor battler graphics

Code:
#==============================================================================
# ** Actor Battler Graphics
#------------------------------------------------------------------------------
#    by DerVVulfman
#    version 1.0
#    03-25-2008
#    RGSS2
#============================================================================== 
#
#  INTRODUCTION:
#
#  This system permits you to include 'Actor Battler' graphics that were not
#  included in the RPGMaker VX system.   This script mimics many of the lost
#  features, and includes a new one:  Actor Battler Centering.
#  
#------------------------------------------------------------------------------
#
#  USAGE:
#
#  --Positioning--
#   A nice feature to this system  is the ability to adjust the left/right & 
#   up/down position of your battlers.
#
#   Actually, the vertical up/down position  can be adjusted by changing the
#   value of the SCREEN_Y variable.   The left/right positioning is a little
#   different.
#
#   The CENTER_X value is a true/false value  that sets whether the battlers
#   line up from the left and space themselves out  in the manner of the de-
#   fault RPGMaker XP  or whether the system calculates and centers them ac-
#   ross the screen.
#
#   The DEFAULT_X value establishes  how many actors  are typically shown in
#   the battlefield. While this is the default value, the maximum value used
#   can be changed with a script call.
#
#   Finally,  the TRANSPARENT value is another true/false value that you can
#   use to make the battlers lightly transparent until they're about to per-
#   form an attack.  Another feature from RPGMaker XP.
#
#  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
#
#  --The Actor List--
#  This system DOES require you to edit the configuration system to list all
#  of the 'actor' battlers  that you  are using.   It is assumed  that these
#  battlers will be in the  'Graphics\Battlers'  folder with the rest of the
#  enemy battlers.
#
#  Each value in the ACTOR array holds two values:   filename and hue.  This 
#  not only allows you to add battle graphics  for your heroes,  but adjusts
#  the character's hue as well.  If you do not include the hue setting, it
#  goes to the default setting of '0'.
#
#------------------------------------------------------------------------------
#
#  SCRIPT CALLS:
#
#  There's only two script calls that you need to know.
#
#  --Changing Battlers--
#  Given that this system allows you to use 'Actor' battlers, you may find a
#  need to 'change' the battler in-game.  Unfortunately, this cannot be done
#  with a pre-rendered map event, so I had to make a script call:
#
#           $game_actors[ID].set_battler("filename", hue)
#  
#  By using this call, you can change the graphic and hue of a battler while
#  the game is running.  
#
#  As an example:  $game_actors[1].set_battler("Ylva")
#  
#  ...would set actor #1's battler to use "Ylva.png" as the graphic desired.
#  You may note that the 'hue' was not included  in this call.   The default 
#  value of '0' was used.
#
#  NOTE:  Just calling $game_actors[2].set_battler() would erase the battler
#         from actor #2, rendering it invisible on the battlefield.
#
#  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
#
#  --Changing Position Value--
#  This script allows you to have the battlers centered in the battlefield
#  and spaced out evenly.  Under most circumstances, you have four members
#  in your party.  But what if you want to increase the number of members
#  to 5 or 6?
#
#  Now, this system does not increase the number of members in your party,
#  but it is already set up to adjust the spacing of your members in the
#  battlefield.  With a simple script call:
#
#           $game_system.actorbattler_max = 7
#
#  You can make the system space the battlers on the field with the under-
#  standing that up to 7 members are in the party.
#
#------------------------------------------------------------------------------
#
#  EDITS AND MODIFICATIONS:
#  
#  This system Aliases the following methods:
#  * initialize                     (RPG::Actor)
#  * initialize                     (Game_Temp)
#  * initialize                     (Game_System)
#  * initialize                     (Game_Actor)
#  * update                         (Sprite_Battler)
#  * start                          (Scene_Battle)
#  * start_party_command_selection  (Scene_Battle)
#  * process_victory                (Scene_Battle)
#  * execute_action                 (Scene_Battle)
#
#  This system redefines the following methods:
#  * use_sprite?                    (Game_Actor)
#  * create_actors                  (Spriteset_Battle)
#  * update_actors                  (Spriteset_Battle)
#  
#
#------------------------------------------------------------------------------
#
#  TERMS AND CONDITIONS:
#
#  Free to use, even in commercial projects.  Just note that I need some form
#  of due credit... even a mere mention in some end titles.
#
#==============================================================================



#==============================================================================
# ** Actor_Battler Module
#------------------------------------------------------------------------------
#  A module containing configurable data for the Actor Battler Graphic system.
#==============================================================================

module Actor_Battler
  # Actor battler array
  ACTOR = Array.new  # Do not touch -_^

   #========================================================================
   #  **  C  O  N  F  I  G  U  R  A  T  I  O  N      S  Y  S  T  E  M  **  #
   #========================================================================  
  
  # --Positioning-- 
  # Actor Battler positioning system
  #
    CENTER_X    = true    # If true, centers actors rather than default lineup.
    DEFAULT_X   = 5       # Default party Max
    SCREEN_Y    = 400     # Vertical height of battlers
    TRANSPARENT = false   # If true, makes lightly transparent until attacking.
  
    
  # --Actor List--
  # Add your actor battlers here
  #
  # Actor#      Filename,   Hue (optional)
    ACTOR[1] = ["Cid"]
    ACTOR[2] = ["Auron"]
    ACTOR[3] = ["Rikku"]
    ACTOR[4] = ["Tifa"]
    ACTOR[5] = ["Watts"]
    ACTOR[6] = ["Mal"]
    
    
   #========================================================================
   #  **  E  N  D     O  F     C  O  N  F  I  G  U  R  A  T  I  O  N   **  #
   #========================================================================  
end



#==============================================================================
# ** RPG Module
#------------------------------------------------------------------------------
#  A module containing RPGVX Data Structures.
#==============================================================================
module RPG
  #============================================================================
  # ** Actor
  #----------------------------------------------------------------------------
  #  Data class for actors
  #============================================================================  
  class Actor
    #------------------------------------------------------------------------
    # * Alias Listings
    #------------------------------------------------------------------------  
    alias actorbattler_init initialize
    #------------------------------------------------------------------------
    # * Object Initialization
    #------------------------------------------------------------------------  
    def initialize
      # Perform the original call
      actorbattler_init
      @battler_name = ""
      @battler_hue = 0
    end
  end
end



#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
# The instance of this class is referenced by $game_temp.
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :battle_main_phase        # battle flag: main phase
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------   
  alias actorbattler_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Perform the original call
    actorbattler_initialize
    # Set the main phase flag to false
    @battle_main_phase = false
  end
end



#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  This class handles system-related data. Also manages vehicles and BGM, etc.
# The instance of this class is referenced by $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :actorbattler_max         # Max. size for centered battlers
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------   
  alias actorbattler_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Perform the original call
    actorbattler_initialize
    # Set 'Centered' battler max to 4 (default)
    @actorbattler_max = Actor_Battler::DEFAULT_X
  end
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------  
  attr_accessor :screen_x                 # battle screen X coordinate
  attr_accessor :screen_y                 # battle screen Y coordinate
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_init initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_id)
    # Perform the original call
    actorbattler_init(actor_id)
    # Apply battler graphic
    @battler_name = Actor_Battler::ACTOR[actor_id][0]
    # Apply battler hue if exists, else default of '0'
    if Actor_Battler::ACTOR[actor_id][1] != nil
      @battler_hue  = Actor_Battler::ACTOR[actor_id][1]
    else
      @battler_hue  = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Change Battler
  #     battler_name  : new battler graphic filename
  #     battler_hue   : new battler hue setting (default = 0)
  #--------------------------------------------------------------------------
  def set_battler(battler_name = "", battler_hue = 0)
    @battler_name = battler_name
    @battler_hue = battler_hue
  end  
  #--------------------------------------------------------------------------
  # * Use Sprites?
  #--------------------------------------------------------------------------
  def use_sprite?
    return true
  end  
  #--------------------------------------------------------------------------
  # * Get Battle Screen X-Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    if self.index != nil
      if Actor_Battler::CENTER_X
        # Return after calculating x-coords of centered party members
        return self.index * (544 / $game_system.actorbattler_max) + 
              ($game_system.actorbattler_max - $game_party.members.size) * 
              (272 / $game_system.actorbattler_max) + 
              (272 / $game_system.actorbattler_max)
      else
        # Return after calculating x-coords of default-aligned party members
        return self.index * 136 + 68
      end
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Y-Coordinate
  #--------------------------------------------------------------------------
  def screen_y
    return Actor_Battler::SCREEN_Y
  end  
  #--------------------------------------------------------------------------
  # * Get Battle Screen Z-Coordinate
  #--------------------------------------------------------------------------
  def screen_z
    # Return after calculating z-coordinate by order of members in party
    if self.index != nil
      return $game_party.members.size - self.index
    else
      return 0
    end
  end
end



#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Perform the original call
    actorbattler_update
    # If the actor battlers are lightly transparent until they act
    if Actor_Battler::TRANSPARENT == true
      # If the battler is a visible actor battler
      if @battler.is_a?(Game_Actor) and @battler_visible
        # Bring opacity level down a bit when not in main phase
        if $game_temp.battle_main_phase
          self.opacity += 3 if self.opacity < 255
        else
          self.opacity -= 3 if self.opacity > 207
        end
      end    
    end
  end
end



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

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Create Actor Sprite
  #    Removes the 'empty' battler image used by the default system and 
  #    replaces it.  It also observes the actual size of the party and 
  #    not a predetermined 4-party limit.
  #--------------------------------------------------------------------------
  def create_actors
    @actor_sprites = []
    for actor in $game_party.members.reverse
      @actor_sprites.push(Sprite_Battler.new(@viewport2, actor))
    end
  end  
  #--------------------------------------------------------------------------
  # * Update Actor Sprite
  #--------------------------------------------------------------------------
  def update_actors
    # Reset actor battler sprites if party size increases
    if $game_party.members.size > @actor_sprites.size
      dispose_actors
      create_actors
    end
    for sprite in @actor_sprites
      sprite.update
    end
  end  
end



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

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Alias Listings
  #-------------------------------------------------------------------------- 
  alias actorbattler_s start
  alias actorbattler_spcs start_party_command_selection 
  alias actorbattler_pv process_victory
  alias actorbattler_ea execute_action
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    actorbattler_s
    $game_temp.battle_main_phase = false
  end
  #--------------------------------------------------------------------------
  # * Start party command selection
  #--------------------------------------------------------------------------
  def start_party_command_selection
    actorbattler_spcs    
    if $game_temp.in_battle
      $game_temp.battle_main_phase = false
    end
  end
  #--------------------------------------------------------------------------
  # * Victory Processing
  #--------------------------------------------------------------------------
  def process_victory
    $game_temp.battle_main_phase = false
    actorbattler_pv
  end
  #--------------------------------------------------------------------------
  # * Start Execution of Battle Processing
  #--------------------------------------------------------------------------
  def execute_action
    actorbattler_ea
    $game_temp.battle_main_phase = true
  end
end

The main configuration

Code:
#==============================================================================
# ** Animated Battlers VX   ver. 2.4                               (05-11-2008)
#
#------------------------------------------------------------------------------
#  * (1) Configuration:  The Sprite Battler Class (initialize system)
#============================================================================== 


  #==========================================================================
  #   ****                    GENERAL CONTROLS                       ****   #
  #==========================================================================
  
  # * Default Battler Style Switches
  #--------------------------------------------------------------------------        
  DEFAULT_ENEMY           = true   # If true, these switches allows the use 
  DEFAULT_ACTOR           = true   # of RTP battlers for actors/enemies
  DEFAULT_ENEMY_ID        = []      # Ids of enemies using RTP battlers
  DEFAULT_ACTOR_ID        = []      # Ids of actors using RTP battlers
  DEFAULT_COLLAPSE_ACTOR  = true   # If true, restores the old 'red fade'
  DEFAULT_COLLAPSE_ENEMY  = true   #   collapse effect (using spritesheets)  

  # * Animation Frames and Animation Speed
  #--------------------------------------------------------------------------    
  MNK_SPEED               = 4       # Framerate speed of the battlers
  MNK_RUSH_SPEED          = 1.5     # Melee/Skill/Item motion speed of the battlers
  MNK_POSES               = 11      # Maximum # of poses (stances) in the template
  MNK_FRAMES              = 4       # Maximum # of frames in each pose
  MNK_FRAMES_STANDARD     = 4       # Standard # of frames played in each pose.

  # Individual Spritesheet Control Center
  #--------------------------------------------------------------------------        
  MNK_POSES_ENEMY         = {6 => 7}  # ID and # of poses for each enemy
  MNK_FRAMES_ENEMY        = nil       # ID and # of frames for each enemy
  MNK_POSES_ACTOR         = {3 => 4}  # ID and # of poses for each actor
  MNK_FRAMES_ACTOR        = nil       # ID and # of frames for each actor.  

  # * Wooziness Rates 
  #--------------------------------------------------------------------------
  MNK_LOW_HP_PERCENTAGE   = 0.25                    # Health% for WOOZY pose.
  MNK_LOW_HP_ACTOR        = {7 => 0.50, 8 => 0.75}  # Ind. health% for actors.
  MNK_LOW_HP_ENEMY        = {1 => 0.50}             # Ind. health% for enemies.
  MNK_LOW_HP_FLAT         = false                   # If true, flat rate hp
  
  
  
  #==========================================================================
  #   ****                   POSE CONTROL CENTER                     ****   #
  #==========================================================================
    
  # Editable Template (Some people wanted to change their template design)
  #--------------------------------------------------------------------------  
  MNK_POSE1   = 1   # Ready
  MNK_POSE2   = 2   # Struck
  MNK_POSE3   = 3   # Woozy
  MNK_POSE4   = 4   # Block
  MNK_POSE5   = 5   # Charge
  MNK_POSE6   = 6   # Retreat
  MNK_POSE7   = 7   # Attack
  MNK_POSE8   = 8   # Item
  MNK_POSE9   = 9   # Skill
  MNK_POSE10  = 10  # Victory
  MNK_POSE11  = 11  # Defeat
  
  # Editable Template (for Custom Actor Spritesheets) 
  #--------------------------------------------------------------------------
  MNK_APOSE1   =   {3 => 2} 
  MNK_APOSE2   =   {3 => 2}   # Bennett is using a Charset graphic as a battler.
  MNK_APOSE3   =   {3 => 2}   # The battler was copied into the Battler folder.
  MNK_APOSE4   =   {3 => 2}   # This setup allows you to use Charactersets for 
  MNK_APOSE5   =   {3 => 2}   # battlers battlers.
  MNK_APOSE6   =   {3 => 3} 
  MNK_APOSE7   =   {3 => 2} 
  MNK_APOSE8   =   {3 => 2} 
  MNK_APOSE9   =   {3 => 2} 
  MNK_APOSE10  =   {3 => 1} 
  MNK_APOSE11  =   {3 => 4}
    
  # Editable Template (for Custom Enemy Spritesheets)
  #--------------------------------------------------------------------------
  MNK_EPOSE1   =   {6 => 2} 
  MNK_EPOSE2   =   {6 => 4}   # I set up one of the enemies to use a Cybersam
  MNK_EPOSE3   =   {6 => 7}   # battler.
  MNK_EPOSE4   =   {6 => 3}   
  MNK_EPOSE5   =   {6 => 1}   
  MNK_EPOSE6   =   {6 => 4} 
  MNK_EPOSE7   =   {6 => 5} 
  MNK_EPOSE8   =   {6 => 6} 
  MNK_EPOSE9   =   {6 => 6} 
  MNK_EPOSE10  =   {6 => 3}
  MNK_EPOSE11  =   {6 => 7}  

  
  
  #==========================================================================
  #   ****               EXPANDED POSE CONTROL CENTER                ****   #
  #==========================================================================

  # Looping Poses
  #--------------------------------------------------------------------------
  # These arrays merely hold the ID  of actors or enemies whose poses loop at
  # the end of combat.  Enemies have no 'winning' animation pose.
  MNK_LOOPS_WINNING_ACTOR   = []      # Actor IDs if their victory pose loops
  MNK_LOOPS_WINNING_ENEMY   = []      # Enemy IDs if their victory pose loops
  MNK_LOOPS_DEFEATED_ACTOR  = []      # Actor IDs if their defeat pose loops
  MNK_LOOPS_DEFEATED_ENEMY  = []      # Enemy IDs if their defeat pose loops
    
  # Non-Default Poses (can expand beyond the default 11 poses here)
  # (New system mimics the revised Template system.  Can use 'custom' sheets)
  #--------------------------------------------------------------------------
  # The first value in each set indicates the index number  in a spritesheet.
  # This value is  overrided by a value  in one of the other two accompanying
  # arrays... one for actor battlerss, the other for enemy battlers.
  #
  # To define a pose linked to a specific battler, the syntax is...
  # '' hash array '' = { battler.id => pose# }
  # Where Aluxes and the Ghost (RTP)  would be  the 1st battlers (per array),
  # and the pose# would be the pose in your spritesheet.
  #
  # Combinations in the  hash arrays  are possible,  so if the MNK_POSES_DYING_E
  # array has {1 => 5, 9 => 2},  then the GHOST (enemy #1) would be using the
  # 6th pose (index 5) and the 9th enemy battler would be using the 3rd pose.
  #--------------------------------------------------------------------------
  MNK_POSES_SETUP       = 7          # Choose animation pose for 'preparation'
  MNK_POSES_SETUP_A     = {2 => 4}
  MNK_POSES_SETUP_E     = {1 => 4}    
  MNK_POSES_CASTPREP    = 4          # Set 'casting' pose for skill preparation
  MNK_POSES_CASTPREP_A  = {}          
  MNK_POSES_CASTPREP_E  = {9 => 3}    
  MNK_POSES_DYING       = 7          # Choose animation pose for dying throws.
  MNK_POSES_DYING_A     = {}          
  MNK_POSES_DYING_E     = {9 => 5}    
  MNK_POSES_ESCAPE      = 2          # Set 'coward' pose for fleeing monsters)    
  MNK_POSES_ESCAPE_A    = {}         
  MNK_POSES_ESCAPE_E    = {9 => 5}   
  MNK_POSES_CRITICAL    = nil        # Set pose for BIG hits 
  MNK_POSES_CRIT_A      = {}
  MNK_POSES_CRIT_E      = {9 =>5}
  MNK_POSES_WINNING     = nil        # Set winning (Victory Dance before pose)
  MNK_POSES_WINNING_A   = {3 => 9}
  MNK_POSES_WINNING_E   = {}  
  
  # Non-Default Pose Hashes (poses dependant on .id values)
  # (New system mimics the revised Template system.)
  #--------------------------------------------------------------------------
  # The first hash in each set  indicates the id number (be it skill, item or
  # otherwise, and the pose it brings up.   These mimic the 2nd array type in
  # the above Non-Default poses.   As such, a hash value of {1 => 10) for the
  # MNK_POSES_WEAPONS hash would make  the 'Bronze Sword' use the 10th index (or
  # 11th spritesheet) pose... aka the 'Defeat' pose.
  #
  # To define an advanced pose linked to a specific battler, the syntax is...
  #  = { battler.id => { item/skill.id => pose#  } }
  # ...so this gets  more complicated.   But this does allow  each battler to
  # have his or her own unique pose, regardless of spritesheet type.
  #--------------------------------------------------------------------------
  MNK_POSES_CASTED     = {61 => 6}  # Set a specific skill to use a pose
  MNK_POSES_CASTED_A   = {}         
  MNK_POSES_CASTED_E   = {}
  MNK_POSES_STATUS     = {7 => 3}   # Set status values to poses here
  MNK_POSES_STAT_A     = {}  
  MNK_POSES_STAT_E     = {}
  MNK_POSES_SKILLS     = {33 => 4}  # Default: #57(Cross Cut) does 'Attack'
  MNK_POSES_SKILLS_A   = {}  
  MNK_POSES_SKILLS_E   = {}
  MNK_POSES_ITEMS      = {13 => 4}  # Default: #13(Sharp Stone) does 'Block'
  MNK_POSES_ITEMS_A    = {}         
  MNK_POSES_ITEMS_E    = {}         
  MNK_POSES_WEAPONS    = {}         # Didn't set any weapons to any poses
  MNK_POSES_WEAPS_A    = {}
  MNK_POSES_WEAPS_E    = {}         # Non-functional (Enemies don't use 'em.)
  
  # Non-Default Pose Hashes (Hits & Critical Hits)
  # (Just like above, but pertains to specific hits and critical hits)
  #--------------------------------------------------------------------------
  MNK_STRUCK_WEAPS     = {}         # Set a specific 'Struck' to a weapon attack
  MNK_STRUCK_WEAPS_A   = {}         
  MNK_STRUCK_WEAPS_E   = {6 => {4 => 3}}         
  MNK_STRUCK_SKILLS    = {}         # Set a specific 'Struck' to a skill
  MNK_STRUCK_SKILLS_A  = {3 => {33 => 4 }, 5 => {7 => 7}}
  MNK_STRUCK_SKILLS_E  = {}
  MNK_STRUCK_ITEMS     = {}         # Set a specific 'Struck' to an item attack
  MNK_STRUCK_ITEMS_A   = {}
  MNK_STRUCK_ITEMS_E   = {}
  MNK_CRIT_WEAPS       = {}         # Set a specific 'Critical Hit' to a weapon
  MNK_CRIT_WEAPS_A     = {}
  MNK_CRIT_WEAPS_E     = {}       
  MNK_CRIT_SKILLS      = {}         # Set a specific 'Critical Hit' to a skill
  MNK_CRIT_SKILLS_A    = {}
  MNK_CRIT_SKILLS_E    = {}
  MNK_CRIT_ITEMS       = {}         # Set a specific 'Critical Hit' to an item
  MNK_CRIT_ITEMS_A     = {}
  MNK_CRIT_ITEMS_E     = {}  


  
  #========================================================================== 
  #   ****                   FRAME CONTROL CENTER                    ****   #
  #==========================================================================

  # * Frames Control 
  #--------------------------------------------------------------------------    
  MNK_FRAMES_PER_POSE    = {}               # Set #of frames to pose(by index)

  # Advanced Individual Pose/Frame Hashes   # Advanced Individual Poses  uses
                                            # hashes within hashes. As a demo 
  MNK_POSES_FR_ACTOR = {}                   # you can see that enemy #1 has 2
  MNK_POSES_FR_ENEMY = {}                   # sets of controls:  index 0 (for
                                            # a ready pose is set to 1 frame,
  # while index 3 (block) is set to 'two' frames.   Likewise, for the actor's
  # hash, Actor #7 (Gloria) has only 1 control hash.   It sets index pose '0' 
  # (the ready pose again) to use four frames of animation (even though I had
  # set the ready pose to just use '2' with the MNK_FRAMES_PER_POSE hash earlier.
  
  
  
  #========================================================================== 
  #   ****                   MOVEMENT CONTROL CENTER                 ****   #
  #==========================================================================
      
  # * Offset / Battler Overlap System
  #--------------------------------------------------------------------------    
  MNK_OFFSET            = 0       # How much additional space between battlers
  MNK_OFFSET_ACTOR      = {1 => -75}
  MNK_OFFSET_ENEMY      = nil
  
  # * Forward Step System (Final Fantasy-Style)
  #--------------------------------------------------------------------------    
  MNK_STEP_ATTACK       = false   # If true, battler steps forward to attack
  MNK_STEP_SKILL        = false    # If true, battler steps forward to use skill
  MNK_STEP_ITEM         = false    # If true, battler steps forward to use item
  
  # * Movement Arrays (Arrays for skill/weapon/item IDs that affect movement)
  #--------------------------------------------------------------------------    
  MNK_MOVING_ITEM       = []     # Examples are items that need to be applied.
  MNK_MOVING_SKILL      = []    # Examples are martial-arts and sneak attacks
  MNK_MOVE2CENTER_ATK   = []      # Moves battler to center based on weapon id!
  MNK_MOVE2CENTER_ITEM  = []     # Moves battler to center for a big item atk!
  MNK_MOVE2CENTER_SKILL = []     # Moves battler to center for a big skill atk!
  #
  # * Remember, do not supply Skill or Item ID#'s that have 'None' scopes into
  #   either the MNK_MOVING_ITEM or MNK_MOVING_SKILL hashes.  These skills &
  #   item attacks have no target and would cause an error when trying to find
  #   an enemy to move towards.
  
  
  
  #==========================================================================
  #   ****                STATIONARY CONTROL CENTER                  ****   #
  #==========================================================================
  
  # * Stationary Battlers (simple True/False settings)
  #--------------------------------------------------------------------------    
  MNK_STATIONARY_ENEMIES = false    # If the enemies don't move while attacking
  MNK_STATIONARY_ACTORS  = false    # If the actors don't move while attacking
  
  # * Arrays filled with skill/weapon/item IDs that halt movement
  #--------------------------------------------------------------------------    
  MNK_STATIONARY_ENEMY_IDS  = []               # Individual enemies that don't move
  MNK_STATIONARY_WEAPONS    = [6, 12, 18, 24]  # Weapons that prevent movement
  MNK_STATIONARY_SKILLS     = []               # Skills that prevent movement
  MNK_STATIONARY_ITEMS      = []               # Items that prevent movement

  
  
  #==========================================================================
  #   ****               TRANSPARENCY CONTROL CENTER                 ****   #
  #==========================================================================
  MNK_TRANSLUCENCY      = 127      # Degree of transparency
  MNK_TRANSLUCENT_ACTOR = []       # ID of actor at translucency settings
  MNK_TRANSLUCENT_ENEMY = []       # ID of enemy at translucency settings
  MNK_PHASING           = false    # If battlers fade in/out while charging
  MNK_PHASING_ACTOR     = []       # IDs of actors that fade in/out if charging
  MNK_PHASING_ENEMY     = []       # IDs of enemies that fade in/out if charging
  
  
  
  #==========================================================================
  #   ****                CUSTOM FEATURE CENTER                      ****   #
  #==========================================================================
  MNK_PHASING           = false    # Battlers phase in & out when moving
  MNK_MIRROR_ENEMIES    = false    # Enemy battlers use reversed image
  MNK_CALC_SPEED        = false    # System calculates a mean/average speed

The other scripts can be found here http://www.rpgrevolution.com/forums/?showtopic=10238

If I had the time to upload it, I'd post my game too... but I'm on dial up and upload at 7kb

you can probably tell by looking at those scripts anyway

you could always download the Animated Battlers VX demo and paste your scripts into it, and then experiment with switching party members in and out of battle...

I'm also using some other scripts, though I doubt this will help, it may, so I'll give you the links, names and authors names

Neoface system by Woratana
Enemy HP bars and Values by Jens009
Puppeto4's [Now YanXie] Evasion state script
KGC_Steal, by Touchfuzzy, Mr anonymous and whoever made it in the first place [I don't know]
Battle face Graphics [I don't know who made it, if you do, please tell me so i can add it in the credits] as I don't have a link, I'll post the script in a spoiler

Code:
class Window_Base < Window
  def draw_face(face_name, face_index, x, y, size = 96, opacity = 255)
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + (96 - size) / 2
    rect.y = face_index / 4 * 96 + (96 - size) / 2
    rect.width = size
    rect.height = size
    self.contents.blt(x, y, bitmap, rect,opacity)
    bitmap.dispose
  end
    def draw_actor_face(actor, x, y, size = 96, opacity = 255)
    draw_face(actor.face_name, actor.face_index, x, y, size, opacity)
  end
end

class Window_BattleStatus < Window_Selectable
  
  def initialize
    super(0, 0, 416, 128)
    @column_max = 4
    @spacing = 0
    refresh
    self.active = false
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for i in 0...@item_max
      draw_faces(i)
    end
    for i in 0...@item_max
      draw_item(i)
    end
  end
  def draw_faces(index)
    actor = $game_party.members[index]
    draw_actor_face(actor, actor.index * 96 + 2, 0, 96, 100)
  end
  def draw_item(index)
    self.contents.font.color = normal_color
    actor = $game_party.members[index]
    draw_actor_name(actor, index * 96 + 2, 0)
    draw_actor_state(actor, index * 96 + 2, 18, 48)
    draw_actor_hp(actor, index * 96 + 2, 56, 86)
    draw_actor_mp(actor, index * 96 + 2, 74, 86)
  end
end

I also with DerVVulfman's script removed the #Remove battle window and skill/item animation scripts, if that helps. I also have a game_interpreter fix, but i doubt thats a problem, since I had the problem before I got it

I hope you can help me fix this, I needs FFX style in battle switching, I don't care if the party members don't run out and then come back in, aslong as it works :)
 
It's all explained in the script header
#    6)  To lock an actor in the party, use :
#            - $game_actors[actor_id].party_locked = true/false
#    7)  To lock an actor in the reserve, use :
#            - $game_actors[actor_id].reserve_locked = true/false

@BizarreMonkey
Thanks a lot for all the infos. I tried to work on it this weekend but I was way too busy with other more "important" things. (Sucks... >_>)
As soon as I have the chance, I'll update the script to versin 4.0.
 
I'm still having trouble with saving. It looks like the multiple party data isn't being saved.

'Multiple Parties' line 371: NoMethodError
undefined method 'data' for nil:nilClass
 
What if I don't want to change party members in battle, or split into groups? Is there anyway to do that? Also, how do you assign which character is locked in the party, and which isn't?
 
Ok, never mind. When I fixed the battle party to only have four at once, I lost the ability to see my other characters in the menu... So in general, I need these things.

1. How to alter lock and unlock characters in the middle of a game?

2. How to lock and unlock party changer in both menu and battle in the middle of a game?

3. How to have only four members in a battling party, without losing access to the other characters in the menu?
 
First of all, sorry if I'm asking something what was already mentioned..
So, I tried out your scripts,(Custom, PartyChanger, Large Party) but I'm experiencing a problem.. Well, it's the problem is that I'm having icons in the menu for Equip, Skills, and so on. But I have no icons for Party and Order. I don't really want icons for my menu, so how can I erase them from all the menupoints? (To make it look like in the demo)

Again, sorry if I was asking something that was mentioned before, but I checked out those topics and didn't find a solve. Maybe I missed it, sorry.
Thanks if you reply!

(PS: Good job with yer scripts ^^ You helped me a lot, Because my game has 5 main heroes + companions like traders and so on - So, thankie again, you will be credited for sure)

Edit: Oh, an one more thing. How can I call the party-split option thing, (party 1, party 2) and how to lock members? Because I don't wanna let players to drop out characters in the middle of the dungeon...)
And I think I also found a bug in the demo (I don't know if it's fixed now or not) the bug is, when you are asked to split to 3 parties, if I put too much ppl in the first 2 parties, and nobody is left for the third party, I can't quit from that menu at all.
 
Everything you asked is explained in the scripts header (the comments at the begining of the scripts)
have a good reading! :P

-Dargor
 
Errr... I will read it, but I cannot be sure that I will understand it though  :lol:
I don't even understand what to do with your Skill Subset script...you know, I'm really new to scripting.. But I will try it... (I created a new project to try these out: I don't wanna mess up with my ongoing project, hehe..  :crazy: :thumb:)

Edit: Ok, I read it. I still don't really get what to put where (Haha, scripting virgin  :lol:)
But I will ask my friend, he may help me. Thank you the reply, btw  :smile:
 
Same. It doesn't tell me how to enable them in the middle of a game. And whenever I change the number of party members allowed in the battle, I lose access to them in the game's main menu.
 
Anko4t6":1ycn0lse said:
And whenever I change the number of party members allowed in the battle, I lose access to them in the game's main menu.
If the initial party size is set to 8, then you turn it to 4 for a battle, you still need to set it back to 8 when the battle is over.

Most of the variables should be used with a Script Call Event Command
#  INSTRUCTIONS:
#    1)  To change the maximum # of actors allowed in the party, use:
#          - $game_party.max_members = x
#  Instructions:
#    1)  Place this script below the Custom Commands script and after
#          the Large Party script
#    2)  To call the scene, use $scene = Scene_PartyChanger.new
#    3)  To enable/disable the party changer in battle, use:
#            - $game_system.battle_party_changer = true/false
#    4)  To force an actor to be in the party, use:
#            - $game_system.forced_party = [actor1_id,actor2_id, etc.]
#          NOTE: When an actor is included in this array, his party_locked
#                flag will automatically be set to true.
#    5)  You must import the 'locked' icon into the
#          system folder and name it locked.png
#    6)  To lock an actor in the party, use :
#            - $game_actors[actor_id].party_locked = true/false
#    7)  To lock an actor in the reserve, use :
#            - $game_actors[actor_id].reserve_locked = true/false
#    8)  To change the % of exp gained by actors in the reserve, use :
#            - $game_actors[actor_id].reserve_exp_rate = x (percent)
#    9)  To display detailed status of a member, press SHIFT when a
#          member is selected. Also available in battle.
#    10) Use L/R (PageUP/PageDOWN) to cycle through party actors on map
#    11) You can enable/disable the on-map party switcher by using
#            - $game_system.map_party_switcher = true/false
#    5) To call the multiple party changer screen, use the
#        following line of code:
#          - $scene = Scene_Parties.new
Also, I strongly suggest to take a look at the events in the demo. Some of them are using Script Calls.
I'll make another, better demo as soon as possible.

By the way, the Custom Commands, Party Changer, Large Party and Multiple Party scripts are all different scripts so I'd like if you could ask questions about them in their right topic as much as possible.

Thank you.
-Dargor
 

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