Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
  • 0
Alex Tingle

Party too big---what to do?

Question

Just need some clarification on something. In my current project Parodia, I know for a fact the party will consist of at least 6 characters (2 extra characters for the player to find). I realize that the max amount of party members is only 4, and I can't script in ruby (I can do some basic scripting in python though) so I am going to try accomplishing something through common eventing. I have the idea to set up certain areas to tie a common event which allows you to choose who is in your party (saving is disabled unless you reach a save point, so I'll probably have these be where you switch your party as well). My question though, is should I make a common event or a switch (or both) for each character, that the game will check for? I need to know which would be better in this scenario, given that the plot will dictate at certain points who can and can not be in the party. (For example, a bonus boss about halfway through the game requires a certain member of your group to initiate it).

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

I'll give this a try next chance I get. Bookmarking your site also (a little bit of Quid pro quo maybe).

Share this post


Link to post
Share on other sites
  • 0

You can also use a large party script. Like this one:

#==============================================================================
# ** Large Party
#------------------------------------------------------------------------------
# Author: Dargor
# Version 1.3
# 02/08/2007
#==============================================================================

#==============================================================================
# ** Large Party Customization Module
#==============================================================================

module Dargor
module Large_Party
# Maximum number of actors allowed in the party
Max_Size = 6
# Battle status window refresh rate (used in phase5)
Battle_Refresh_Rate = 64
end
end

#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :battle_actor_index # @actor_index in battle scene
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_temp_initialize initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
large_party_temp_initialize
@battle_actor_index = 0
end
end

#==============================================================================
# ** 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_accessor :max_size # Max number of actors allowed in the party
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_initialize initialize
alias large_party_add_actor add_actor
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
large_party_initialize
@max_size = Dargor::Large_Party::Max_Size
end
#--------------------------------------------------------------------------
# * Add an Actor
# actor_id : actor ID
#--------------------------------------------------------------------------
def add_actor(actor_id)
# Original method
large_party_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 @actors.size < 5 and not @actors.include?(actor)
# Add actor
@actors.push(actor)
# Refresh player
$game_player.refresh
end
end
end

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

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_menu_status_initialize initialize
alias large_party_menu_status_refresh refresh
alias large_party_menu_status_update_cursor_rect update_cursor_rect
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Original method
large_party_menu_status_initialize
# Adjust contents height
@item_max = $game_party.actors.size
height = @item_max * 118
self.contents = Bitmap.new(width - 32, height - 32)
# Refresh
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh(*args)
# Original method
large_party_menu_status_refresh(*args)
# Adjust default height
self.height = 520
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
large_party_menu_status_update_cursor_rect
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
#--------------------------------------------------------------------------
# * Top Row
#--------------------------------------------------------------------------
def top_row
return self.oy / 116
end
#--------------------------------------------------------------------------
# * Set Top Row
# row : new row
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
# * Page Row Max
#--------------------------------------------------------------------------
def page_row_max
return 4
end
end

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...