Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Sign in to follow this  
bum_199

(XP) need party members to count for more than 1 member

Recommended Posts

does anyone know of a script or how to make one that would make certain party members count for more than 1 member? basically my idea is powerful people can join your party but the catch is they count for more than 1 party member and take up more room. help would be appreciated.

Share this post


Link to post
Share on other sites

does anyone know of a script or how to make one that would make certain party members count for more than 1 member? basically my idea is powerful people can join your party but the catch is they count for more than 1 party member and take up more room. help would be appreciated.

 

I not quite understood that needs you, but me it seems to, that you need Party Changer.

 

Here a link to you:

LINK

Share this post


Link to post
Share on other sites

i get it, he wants a system like...

 

Character A = 1 spot Character B = 1 spot character C= 2 spots Character D = 1 Spot

 

if character A B and C are in the party then you have "4" spots taken, so D can not be in the party...

 

 

 

um doing this would be weird through events... i suggest learning script =D other than that, know that you'd need a common event based on variables, where the character with more spots would +2 that variable's constant....

 

the theory in my head would be a long and complicated process...

Share this post


Link to post
Share on other sites

I actually don't know much about scripting so i guess i'm screwed. i am also currently looking for a large party script. Whatever scripts i end up using just need to be compatible with that and gubids tactical battle system script (as far i know now) which i'm already using. But thanks. On a side note if you had some really powerful characters join a group any ideas how you would penalize the party to keep the game tougher? Not thinking tougher enemies cause they would be the powerful characters joining you. Was originally thinking having tougher characters would reduce the party size considerably. I know this is moving in a different direction now so it may have to be moved.

Share this post


Link to post
Share on other sites

I actually don't know much about scripting so i guess i'm screwed. i am also currently looking for a large party script. Whatever scripts i end up using just need to be compatible with that and gubids tactical battle system script (as far i know now) which i'm already using. But thanks. On a side note if you had some really powerful characters join a group any ideas how you would penalize the party to keep the game tougher? Not thinking tougher enemies cause they would be the powerful characters joining you. Was originally thinking having tougher characters would reduce the party size considerably. I know this is moving in a different direction now so it may have to be moved.

Oh, you wanna some Large Party Script?

That is here. I'm give a code:

#==============================================================================
# ** 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 = 9
   # 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 < @max_size and not @actors.include?(actor)
     # Add actor
     @actors.push(actor)
     # Refresh player
     $game_player.refresh
   end
 end
end

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display the battler.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias large_party_sprite_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   # Original method
   large_party_sprite_update
   # Set sprite coordinates
   if @battler.is_a?(Game_Actor)
     self.x = @battler.screen_x - ($game_temp.battle_actor_index / 4) * 640
   end
 end
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias large_party_spriteset_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   # Cycle through all extra actors (4+)
   # Create/update sprites
   for i in 4...$game_party.actors.size
     if @actor_sprites[i].nil?
       @actor_sprites.push(Sprite_Battler.new(@viewport2))
     end
     @actor_sprites[i].battler = $game_party.actors[i]
   end
   # Original method
   large_party_spriteset_update
 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 = 480
 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

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

class Window_BattleStatus < Window_Base
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias large_party_battle_status_initialize initialize
 alias large_party_battle_status_refresh refresh
 alias large_party_battle_status_update update
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   @column_max = 4
   large_party_battle_status_initialize
   width = $game_party.actors.size * 160
   self.contents = Bitmap.new(width - 32, height - 32)
   self.width = 640
   @level_up_flags = []
   for i in 0...$game_party.actors.size
     @level_up_flags << false
   end
   @item_max = $game_party.actors.size
   refresh
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   # Refresh contents when actors are added/removed in-battle
   if $game_party.actors.size != @item_max
     @item_max = $game_party.actors.size
     width = @item_max * 160
     self.contents = Bitmap.new(width - 32, height - 32)
     self.width = 640
   end
   large_party_battle_status_refresh
   column = $game_temp.battle_actor_index / 4
   self.ox = column * 640
 end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
 #--------------------------------------------------------------------------
 # * Alias Listing
 #--------------------------------------------------------------------------
 alias large_party_phase3_setup_command_window phase3_setup_command_window
 alias large_party_update_phase4_step2 update_phase4_step2
 alias large_party_start_phase5 start_phase5
 alias large_party_update_phase5 update_phase5
 #--------------------------------------------------------------------------
 # * Actor Command Window Setup
 #--------------------------------------------------------------------------
 def phase3_setup_command_window
   $game_temp.battle_actor_index = @actor_index
   @status_window.refresh
   large_party_phase3_setup_command_window
   @actor_command_window.x = (@actor_index%4) * 160
 end
 #--------------------------------------------------------------------------
 # * Frame Update (main phase step 2 : start action)
 #--------------------------------------------------------------------------
 def update_phase4_step2
   if @active_battler.is_a?(Game_Actor)
     $game_temp.battle_actor_index = @active_battler.index
     @status_window.refresh
   end
   large_party_update_phase4_step2
 end
 #--------------------------------------------------------------------------
 # * Start After Battle Phase
 #--------------------------------------------------------------------------
 def start_phase5
   @actor_index = 0
   @status_wait = Graphics.frame_count
   large_party_start_phase5
 end
 #--------------------------------------------------------------------------
 # * Frame Update (after battle phase)
 #--------------------------------------------------------------------------
 def update_phase5
   refresh_rate = Dargor::Large_Party::Battle_Refresh_Rate
   if Graphics.frame_count >= @status_wait + refresh_rate
     $game_temp.battle_actor_index = @actor_index
     @status_window.refresh
     @status_wait = Graphics.frame_count
     max = ($game_party.actors.size.to_f/4).ceil * 4
     @actor_index = (@actor_index+1) % max
   end
   large_party_update_phase5
 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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...