The RPG Maker Resource Kit

RMRK RPG Maker Creation => RPG Maker General => General Scripting => Topic started by: Blizzard on September 18, 2006, 02:49:38 PM

Title: [MISSING] Easy Party Switcher v1.7b
Post by: Blizzard on September 18, 2006, 02:49:38 PM
lol, gone
Title: Re: Easy Party Switcher v1.21b
Post by: Mia the Rabbit on September 22, 2006, 03:00:11 PM
That's a really cool script :D
But when I use it, it doesn't seem to like the 8th and 9th party member, when I try to disable them or not include them in the party it brings a message up saying 'Syntax error'
Title: Re: Easy Party Switcher v1.21b
Post by: Nightwolf on September 23, 2006, 04:28:17 AM
Great script Blizzard
OO WHAT AM I SAYING! ALl you're scripts are kewl
Title: Re: Easy Party Switcher v1.21b
Post by: thingy on September 23, 2006, 01:49:07 PM
That's a really cool script :D
But when I use it, it doesn't seem to like the 8th and 9th party member, when I try to disable them or not include them in the party it brings a message up saying 'Syntax error'
Mia which one and what did you put in the call script thing? I was having some problems with it but I managed to fix them.
Title: Re: Easy Party Switcher v1.21b
Post by: Mia the Rabbit on September 23, 2006, 06:01:41 PM
That's a really cool script :D
But when I use it, it doesn't seem to like the 8th and 9th party member, when I try to disable them or not include them in the party it brings a message up saying 'Syntax error'
Mia which one and what did you put in the call script thing? I was having some problems with it but I managed to fix them.

I' m using XP and I put in the call script
$scene = Scene_PartySwitcher.new
$game_actors[007].disabled_for_party = true
(I change the number obviously)
With the 8th and 9th party member, when I use it for any of the three things it says 'Syntax error' and with the 10th and 11th member for anything they still appear and the setting aren't applied >.<
Title: Re: Easy Party Switcher v1.21b
Post by: thingy on September 23, 2006, 06:18:29 PM
works if I try all but one of my characters disabled but when I made an 8th and the face for it and set that one as disabled I got the same problem   :-\

doesn't seem to like any number above 7 with any of the syntaxes
Title: Re: Easy Party Switcher v1.21b
Post by: Mia the Rabbit on September 23, 2006, 06:33:37 PM
May have to cut my extra characters out then >.<
Title: Re: Easy Party Switcher v1.21b
Post by: thingy on September 23, 2006, 07:07:26 PM
make the characters you get first # 8, 9 ,10 ,11 and you won't have to remove them from the list :P
Title: Re: Easy Party Switcher v1.21b
Post by: Mia the Rabbit on September 23, 2006, 07:30:06 PM
I won't be able to switch them round later though >.<
Doesn't matter, 7s a good number
Title: Re: Easy Party Switcher v1.21b
Post by: thingy on September 23, 2006, 08:04:04 PM
if you want them disabled later in for multiple party stuff you can disable the entire party with the other syntaxes
Title: Re: Easy Party Switcher v1.21b
Post by: SexualBubblegumX on September 23, 2006, 08:34:48 PM
I might use this eventually.
Title: Re: Easy Party Switcher v1.21b
Post by: Blizzard on September 25, 2006, 10:53:03 AM
It should be

$game_actors[7].disabled_for_party = true

without the leading zeros. That could be it.
Title: Re: Easy Party Switcher v1.21b
Post by: Mia the Rabbit on September 25, 2006, 12:12:33 PM
I tried that and it worked, thanks  ;D
Title: Re: Easy Party Switcher v1.5b
Post by: Blizzard on November 04, 2006, 02:14:23 AM
Updated the code.
Title: Some Help Would Be Niiice.
Post by: Serika on November 29, 2006, 02:09:00 AM
I'm using this script:

Code: [Select]
#==============================================================================
# Easy Party Switcher by Blizzard
# Version 1.21b
# Date: 21.05.2006
# Date v1.1: 25.05.2006
# Date v1.2b: 27.05.2006
# Date v1.21b: 12.08.2006
#
#
# This is the official Party Switcher of:
# Chaos Project - The Three Moons™
#
#
# Special Thanks to:
# Zeriab for pointing out a few glitches and shortening the code. =D
#
#
# IMPORTANT NOTE:
#
# Be sure to set the $party_max_size to the maximum size of your party.
# There is already a preconfiguration of 4.
#
#
# Compatibility:
#
# 99% chance of full compatibility with SDK, not tested altough. Can cause
# incompatibility with Party Change Systems. WILL corrupt your old savegames.
#
#
# Features:
#
# - Set party members for "not _available" (shown transparent in the reserve)
# - Remove party members from the reserve list ("disabled_for_party")
# - Set party members, who MUST be in the party (shown transparent in the
# current party, "must_be_in_party")
# - option either to wipe the party (for multi-party use) or only remove every
# member (except 1) from the party.
# - Easy to use and easy to switch party members
# - also supports small parties (2 or 3 members) and large parties (5 or more)
#
#
# How to use:
#
# To call this script, make a "Call script" command in an event. The syntax is:
#
# $scene = Scene_PartySwitcher.new
# or
# $scene = Scene_PartySwitcher.new(XXX)
# or
# $scene = Scene_PartySwitcher.new(XXX, 1)
# or
# $scene = Scene_PartySwitcher.new(XXX, YYY, ZZZ)
#
# - If you use the first syntax, no extra feature will be applied and you can
# switch the party as you wish.
# - If you use the second syntax, you can replace XXX for 1 to remove all party
# members except one (either one, who must be in the party or a random one), or
# replace XXX with 2, to cause a wipe party. Wiping a party will disable the
# of the current members and a NEW party of the remaining members must be
# formed. If you replace it with 3, the current party configuration will be
# stored for a later fast switch-back.
# - If you use the third sytnax, you can use the XXX as described above or just
# set it to 0 to disable it. Also the "1" in the syntax will reset any
# disabled_for_party and is made to be used after multi-party use.
# - If you use the fourth syntax you can replace ZZZ with 1 to replace the
# party with a stored one AND store the current or replace it with 2 to replace
# the party with a stored one, but without storing the current. USE THIS ONLY
# IF YOU ASSUME TO HAVE A STORED PARTY READY! This syntax will not open the
# Party Switcher and it will override the commands XXX and YYY, so you can
# replace these with any number.
#
# - Character faces go into a "Faces" folder in "Characters" and they have the
# same name as the character spritesets have.
#
#
# Other syntaxes:
# $game_actors[XXX].not_available = true/false
# $game_actors[XXX].disabled_for_party = true/false
# $game_actors[XXX].must_be_in_party = true/false
#
# - not_available will disable the possibility of an already unlocked character
# to be in th current party.
# - disabled for party will cause the character NOT to appear in the party
# switch screen.
# - must_be_in_party will cause the character to be automatically moved into
# the current party, while switching parties and also he cannot be put in the
# reserve.
#
#
# Additional note:
#
# For your own sake, do not apply the attribute "must_be_in_party" to a
# character at the same time with "not_available" or "disabled_for_party" as
# this WILL disrupt your party and party switch system.
#
#==============================================================================

$party_max_size = 4

#==============================================================================
# Game_Actor
#==============================================================================

class Game_Actor < Game_Battler

  attr_accessor   :must_be_in_party
  attr_accessor   :disabled_for_party
  attr_accessor   :not_available

  alias setup_eps_later setup
  def setup(actor_id)
    @must_be_in_party = false
    @disabled_for_party = false
    @not_available = false
    setup_eps_later(actor_id)
  end
 
end

#==============================================================================
# Game_Party
#==============================================================================

class Game_Party

  def actors=(actors)
    @actors = actors
  end
 
end

#==============================================================================
# Window_Base
#==============================================================================

class Window_Base

  def draw_actor_face(actor, x, y)
    if actor != nil and actor.character_name != nil and actor.character_name != ""
      bitmap = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
      cw = 80
      ch = 80
      src_rect = Rect.new(0, 0, cw, ch)
      if actor.not_available or actor.must_be_in_party
        self.contents.blt(x, y, bitmap, src_rect, 128)
      else
        self.contents.blt(x, y, bitmap, src_rect)
      end
    end
  end
 
end

#==============================================================================
# Window_Current
#==============================================================================

class Window_Current < Window_Selectable

  def initialize
    if $party_max_size > 4
      super(0, 0, 240 + 32, 480)
    else
      super(0, 0, 240 + 32, $party_max_size * 120)
    end
    @item_max = $party_max_size
    self.contents = Bitmap.new(width - 32, 480 - 32 + (@item_max - 4) * 120)
    if $fontface != nil
      self.contents.font.name = $fontface
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
    end
    self.contents.font.size = 24
    refresh
    self.active = false
    self.index = -1
  end
 
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      x = 0
      y = i * 120 - 4
      actor = $game_party.actors[i]
      self.contents.font.color = normal_color
      if actor != nil
        draw_actor_face(actor, x, y + 8)
        draw_actor_name(actor, x + 160, y)
        draw_actor_level(actor, x + 96, y)
        draw_actor_hp(actor, x + 96, y + 32)
        draw_actor_sp(actor, x + 96, y + 64)
      end
    end
  end

  def setactor(index_1, index_2)
    temp = $game_party.actors[index_1]
    $game_party.actors[index_1] = $game_party.actors[index_2]
    $game_party.actors[index_2] = temp
    refresh
  end

  def getactor(index)
    return $game_actors[$game_party.actors[index].id]
  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
    x = 0
    y = (@index / @column_max) * 120 - self.oy
    self.cursor_rect.set(x, y, self.width - 32, 88)
  end

  def clone_cursor
    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
    x = 0
    y = (@index / @column_max) * 120
    src_rect = Rect.new(0, 0, self.width, 88)
    bitmap = RPG::Cache.windowskin("Cursor_Current")
    self.contents.blt(x, y, bitmap, src_rect, 192)
  end
 
  def top_row
    return self.oy / 116
  end

  def top_row=(row)
    row = row % row_max
    self.oy = row * 120
  end

  def page_row_max
    return (self.height / 120)
  end

end

#==============================================================================
# Window_Reserve
#==============================================================================

class Window_Reserve < Window_Selectable
 
  def initialize
    super(0, 0, 400 - 32, 320)
    setup
    @column_max = 3
    if (@item_max / @column_max) >= 3
      self.contents = Bitmap.new(width - 32, @item_max / @column_max * 96)
    else
      self.contents = Bitmap.new(width - 32, height - 32)
    end
    if $fontface != nil
      self.contents.font.name = $fontface
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
    end
    self.contents.font.size = 24
    self.active = false
    self.index = -1
    refresh
  end
 
  def setup
    @actors = []
    for i in 0...$data_actors.size
      flag = false
      for j in 0...$game_party.actors.size
        if $game_actors[i] == $game_party.actors[j]
          flag = true
        end
      end
      if flag == false
        unless $game_actors[i] == nil or $game_actors[i].disabled_for_party
          @actors.push($game_actors[i])
        end
      end
    end
    @item_max = (@actors.size + $game_party.actors.size + 3) / 3 * 3
  end
 
  def refresh
    self.contents.clear
    for i in 0... @actors.size
      drawing(@actors[i], i)
    end
  end
 
  def drawing(actor, i)
    x = (i % 3) * 112 + 16
    y = (i / 3) * 96 - 8
    self.contents.font.color = normal_color
    draw_actor_face(actor, x, y + 18)
  end
   
  def getactor(index)
    return @actors[index]
  end
 
  def setactor(index_1, index_2)
    temp = @actors[index_1]
    @actors[index_1] = @actors[index_2]
    @actors[index_2] = temp
    refresh
  end

  def setparty(index_1, index_2)
    temp = @actors[index_1]
    @actors[index_1] = $game_party.actors[index_2]
    $game_party.actors[index_2] = temp
    refresh
  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
    x = (@index % @column_max) * 112 + 8
    y = (@index / @column_max) * 96 - self.oy
    self.cursor_rect.set(x, y, 96, 96)
  end

  def clone_cursor
    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
    x = (@index % @column_max) * 112 + 8
    y = (@index / @column_max) * 96
    src_rect = Rect.new(0, 0, 96, 96)
    bitmap = RPG::Cache.windowskin("Cursor_Reserve")
    self.contents.blt(x, y, bitmap, src_rect, 192)
  end
 
  def top_row
    return self.oy / 96
  end

  def top_row=(row)
    row = row % row_max
    self.oy = row * 96
  end

  def page_row_max
    return (self.height - 32) / 96
  end

end

#==============================================================================
# Window_HelpStatus
#==============================================================================

class Window_HelpStatus < Window_Base

  def initialize(gotactor)
    super(0, 0, 400 - 32, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    if $fontface != nil
      self.contents.font.name = $fontface
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
    end
    self.contents.font.size = 24
    refresh(gotactor)
    self.active = false
  end
 
  def refresh(actor)
    self.contents.clear
    if actor != nil
      x = 0
      y = 0
      self.contents.font.color = normal_color
      if actor.not_available
        self.contents.draw_text(x + 8, y, 160, 32, "not available", 0)
      end
      draw_actor_face(actor, x, y + 40)
      draw_actor_name(actor, x + 160, y + 32)
      draw_actor_level(actor, x + 96, y + 32)
      draw_actor_hp(actor, x + 96, y + 64)
      draw_actor_sp(actor, x + 96, y + 96)
    end
  end

end

#==============================================================================
# Window_Warning
#==============================================================================

class Window_Warning < Window_Base

  def initialize
    super(0, 0, 320, 96)
    self.visible = false
    self.contents = Bitmap.new(width - 32, height - 32)
    if $fontface != nil
      self.contents.font.name = $fontface
    elsif $defaultfonttype != nil
      self.contents.font.name = $defaultfonttype
    end
    self.contents.font.size = 24
    self.x = 320 - (width / 2)
    self.y = 240 - (height / 2)
    self.z = 9999
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, 288, 32, "You cannot remove", 1)
    self.contents.draw_text(0, 32, 288, 32, "the last party member!", 1)
  end

end

#==============================================================================
# Scene_PartySwitcher
#==============================================================================

class Scene_PartySwitcher
 
  def initialize(wipe_party = 0, reset = 0, store = 0)
    @wipe_party = wipe_party
    @store = store
    @reset = reset
    @current_window_temp = 0
    @reserve_window_temp = 0
    @canceler = false
    @temp_window = ""
  end
 
  def main
    if @store == 0
      if @wipe_party == 1
        setup_forced_party
      elsif @wipe_party == 2
        wipe_party
      elsif @wipe_party == 3
        store_party
        wipe_party
      end
      @current_window = Window_Current.new
      @current_window.index = 0
      @current_window.active = true
      @reserve_window = Window_Reserve.new
      @reserve_window.x = 240 + 32
      @reserve_window.y = 160
      @warning_window = Window_Warning.new
      actor = @reserve_window.getactor(0)
      @help_window = Window_HelpStatus.new(actor)
      @help_window.x = 240 + 32
      if @reset == 1
        actor.not_available = false
      end
      Graphics.transition
      loop do
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @current_window.dispose
      @reserve_window.dispose
      @help_window.dispose
    else
      swap_parties(@store)
      $scene = Scene_Map.new
    end
    sort_party
    $game_player.refresh
    Graphics.transition
  end
 
  def update
    check = @reserve_window.index
    if @reserve_window.active
      reserve_update
      @reserve_window.update
    end
    if check != @reserve_window.index
      if @reserve_window.active
        actor = @reserve_window.getactor(@reserve_window.index)
      elsif @current_window.active
        actor = @reserve_window.getactor(@reserve_window_temp)
      end
      if @temp_window == "Current" or @temp_window == ""
        @help_window.refresh(actor)
      end
    end
    if @current_window.active
      current_update
      @current_window.update
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      if @canceler == false
        $scene = Scene_Map.new
      elsif @canceler == true
        @temp_window = ""
        @canceler = false
        if @reserve_window.active
          actor = @reserve_window.getactor(@reserve_window.index)
        elsif @current_window.active
          actor = @reserve_window.getactor(@reserve_window_temp)
        end
        if @temp_window == "Current" or @temp_window == ""
          @help_window.refresh(actor)
        end
        @current_window.refresh
        @reserve_window.refresh
      end
      return
    end
    if Input.trigger?(Input::A)
      sort_party
      @current_window.refresh
    end
  end
   
  def current_update
    if Input.trigger?(Input::C)
      if @canceler == false
        $game_system.se_play($data_system.decision_se)
        @canceler = true
        @temp_actor_index = @current_window.index
        @temp_window = "Current"
        @current_window.clone_cursor
      elsif @canceler == true
        switch_members
      end
      return
    end
    if Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @current_window.active = false
      @reserve_window.active = true
      @current_window_temp = @current_window.index
      actor = @reserve_window.getactor(@reserve_window_temp)
      @current_window.index = -1
      @reserve_window.index = @reserve_window_temp
      if @canceler == false
        @help_window.refresh(actor)
      end
      return
    end
  end
 
  def reserve_update
    if Input.trigger?(Input::C)
      if @canceler == false
        $game_system.se_play($data_system.decision_se)
        @canceler = true
        @temp_actor_index = @reserve_window.index
        @temp_window = "Reserve"
        @reserve_window.clone_cursor
      elsif @canceler == true
        switch_members
      end
      return
    end
    if (@reserve_window.index % 3) == 0
      if Input.repeat?(Input::LEFT)
        $game_system.se_play($data_system.cursor_se)
        @reserve_window.active = false
        @current_window.active = true
        @reserve_window_temp = @reserve_window.index
        @reserve_window.index = -1
        @current_window.index = @current_window_temp
      end
      return
    end
  end
 
  def switch_members
    if @temp_window == "Reserve" and @reserve_window.active
      @reserve_window.setactor(@temp_actor_index, @reserve_window.index)
      actor = @reserve_window.getactor(@reserve_window.index)
      @help_window.refresh(actor)
    end
    if @temp_window == "Current" and @current_window.active
      @current_window.setactor(@temp_actor_index, @current_window.index)
    end
    if @temp_window == "Reserve" and @current_window.active
      actor1 = @current_window.getactor(@current_window.index)
      actor2 = @reserve_window.getactor(@temp_actor_index)
      if call_warning(@current_window.index, actor2)
        if actor1 != nil and actor1.must_be_in_party
          $game_system.se_play($data_system.buzzer_se)
          @canceler = false
          @temp_window = ""
          actor = @reserve_window.getactor(@reserve_window_temp)
          @current_window.refresh
          @reserve_window.refresh
          @help_window.refresh(actor)
          return
        end
        if actor2 != nil and actor2.not_available
          $game_system.se_play($data_system.buzzer_se)
          @canceler = false
          @temp_window = ""
          actor = @reserve_window.getactor(@reserve_window_temp)
          @current_window.refresh
          @reserve_window.refresh
          @help_window.refresh(actor)
          return
        end
        @reserve_window.setparty(@temp_actor_index, @current_window.index)
        @current_window.refresh
        actor = @reserve_window.getactor(@reserve_window_temp)
        @help_window.refresh(actor)
      else
        warning
      end
    end
    if @temp_window == "Current" and @reserve_window.active
      actor1 = @current_window.getactor(@temp_actor_index)
      actor2 = @reserve_window.getactor(@reserve_window.index)
      if call_warning(@temp_actor_index, actor2)
        if actor1 != nil and actor1.must_be_in_party
          $game_system.se_play($data_system.buzzer_se)
          @canceler = false
          @temp_window = ""
          actor = @reserve_window.getactor(@reserve_window.index)
          @current_window.refresh
          @reserve_window.refresh
          @help_window.refresh(actor)
          return
        end
        if actor2 != nil and actor2.not_available
          $game_system.se_play($data_system.buzzer_se)
          @canceler = false
          @temp_window = ""
          actor = @reserve_window.getactor(@reserve_window.index)
          @current_window.refresh
          @reserve_window.refresh
          @help_window.refresh(actor)
          return
        end
        @reserve_window.setparty(@reserve_window.index, @temp_actor_index)
        @current_window.refresh
        actor = @reserve_window.getactor(@reserve_window.index)
        @help_window.refresh(actor)
      else
        warning
      end
    end
    $game_system.se_play($data_system.decision_se)
    @canceler = false
    @temp_window = ""
    return
  end
   
  def sort_party
    actors = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor != nil
        actors.push($game_actors[actor.id])
      end
    end
    $game_party.actors = actors
    for i in 0...$data_actors.size
      actor = $game_actors[i]
      if actor != nil
        actor.must_be_in_party = false
      end
    end
  end
   
  def wipe_party
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor != nil
        actor.not_available = true
      end
    end
    actors = []
    $game_party.actors = actors
    for i in 0...$data_actors.size
      actor = $game_actors[i]
      if actor != nil and actor.must_be_in_party and not actor.not_available
        $game_party.add_actor(actor.id)
      end
    end
    if $game_party.actors.size == 0
      for i in 0...$data_actors.size
        actor = $game_actors[i]
        unless actor == nil or actor.not_available or actor.disabled_for_party
          $game_party.add_actor(actor.id)
          return
        end
      end
    end
  end
 
  def setup_forced_party
    actors = []
    $game_party.actors = actors
    for i in 0...$data_actors.size
      actor = $game_actors[i]
      if actor != nil and actor.must_be_in_party and
            not actor.disabled_for_party and not actor.not_available
        $game_party.add_actor(actor.id)
      end
    end
  end 
 
  def store_party
    $stored_party = $game_party.actors
  end
 
  def swap_parties(swap)
    temp = $game_party.actors
    for i in 0...temp.size
      if temp[i] != nil
        temp[i].not_available = true
      end
    end
    for i in 0...$stored_party.size
      if $stored_party[i] != nil
        $stored_party[i].not_available = false
      end
    end
    $game_party.actors = $stored_party
    if swap == 1
      $stored_party = temp
    else
      $stored_party = nil
    end
  end
 
  def call_warning(index, actor2)
    actor1 = $game_party.actors[index]
    if actor1 != nil and actor2 == nil
      count = 0
      for i in $game_party.actors
        if i != nil
          count += 1
        end
      end
      if count <= 1
        return false
      end
    end
    return true
  end
 
  def warning
    $game_system.se_play($data_system.buzzer_se)
    @warning_window.visible = true
    loop do
      Graphics.update
      Input.update
      if Input.trigger?(Input::C)
        @warning_window.visible = false
        @current_window.refresh
        @reserve_window.refresh
        break
      end
    end
    return
  end
 
end

And I'm having some trouble with it.  Like... How do I make a faces folder in characters?  I'm not understanding that.  Do I just use the folder in my game file (That's the "C:/...Games/..." one?) Okay, it seems like that's it.  My original party has only 1 person, but all the faces pop up already.  What should I do, folks? D:  Sorry if this has already been asked or if this is in the wrong section. 
Title: Re: Some Help Would Be Niiice.
Post by: Falcon on November 29, 2006, 02:16:07 AM
Download the demo.

It probably would have been smarter to post this in the topic.
Title: Re: Some Help Would Be Niiice.
Post by: :) on November 29, 2006, 02:40:26 AM
C:\Program Files\Enterbrain\Games\Legend of Dragoon\Graphics\Characters

thats where you need to go...and then make new folder in that folder...(Legend of dragoon is the name of the game folder I opened.

So open your game folder, go to Fraphics, then Chatacters and right click and make new folder named Faces...mine would look like

C:\Program Files\Enterbrain\Games\Legend of Dragoon\Graphics\Characters\Faces
Title: Re: Some Help Would Be Niiice.
Post by: Serika on November 29, 2006, 04:49:52 AM
Download the demo.

It probably would have been smarter to post this in the topic.

I didnt take it from a demo. 
Title: Re: Some Help Would Be Niiice.
Post by: Serika on November 29, 2006, 05:01:44 AM
C:\Program Files\Enterbrain\Games\Legend of Dragoon\Graphics\Characters

thats where you need to go...and then make new folder in that folder...(Legend of dragoon is the name of the game folder I opened.

So open your game folder, go to Fraphics, then Chatacters and right click and make new folder named Faces...mine would look like

C:\Program Files\Enterbrain\Games\Legend of Dragoon\Graphics\Characters\Faces
Alright.  Any idea how to address the second part?
Title: Re: Some Help Would Be Niiice.
Post by: :) on November 29, 2006, 05:05:52 AM
whats the second part?

and what darkloard ment, is that usually where you get the script in the same post they normally make a demo..it helps much
Title: Re: Easy Party Switcher v1.51b
Post by: Blizzard on November 29, 2006, 10:29:46 AM
Lol, typos!

Just like the others said, make a new folder inside Graphics/Characters in your project folder and name it Faces. Put all the face graphic files in there. I'll merge the topics.

BTW, I've updated the code version 1.5b quite some time ago.

EDIT: I've just noticed something I've had to change. Code is the same like in 1.5b, so no worries, no update neccesary.
Title: Re: Easy Party Switcher v1.51b
Post by: Serika on November 30, 2006, 03:42:48 AM
Hoa man.  I didn't get it from this topic, and..yeah..  Hahah.  Um. 

What syntax should I use so that only the available party is..available, and the other party members are not even VISIBLE in the party switcher thing?
Title: Re: Easy Party Switcher v1.51b
Post by: Blizzard on November 30, 2006, 10:12:47 AM
$game_actors[X].disabled_for_party = true

where X is the ID of the hero in the database.
You can find all possible syntaxes in the instructions.
Title: Re: Easy Party Switcher v1.51b
Post by: Bigoron_Link on December 01, 2006, 01:36:03 AM
Just to let you know, your demo download isn't working...

"File not found".
Title: Re: Easy Party Switcher v1.51b
Post by: Blizzard on December 01, 2006, 08:49:04 AM
I've re-uploaded the demo.
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on December 06, 2006, 09:08:44 PM
Fixed a glitch.
Title: Re: Easy Party Switcher v1.52b
Post by: Decadent Sympozium on December 17, 2006, 01:28:54 PM
Warm greetings.

I'm pretty new with the scripting and therefore there are certain things that confuse me, regarding this script.

How does this actually work? While reading instructions they say, for example,
"# $game_actors[XXX].disabled_for_party = true/false"

Am I supposed to write specific syntax for each playable character and if so, where should I write that? If I write, how does it really affect the game? I mean, if I write for a specific character that it is disabled for the party so that it is not available on the screen, how will that (your scrip) actually affect the game? Is it enabled automatically with game events, adn appears visible, so that syntax in your script actually "changes" and sets a new value, or I am supposed to link something with the script and change it or...?

Please do help and do understand I'm new at it and not even really sure can eventing affect script.
Title: Re: Easy Party Switcher v1.52b
Post by: Me™ on December 17, 2006, 03:35:52 PM
When you go to the database (in the editor, not the scripts) in the first tab you can see the actors list. Each actor has a certain id. These actors are stored in $data_actors, and then in $game_actors.

You can use the systaxes in the Call script command (tab 3 of the events command list)

Code: [Select]
$game_actors[XXX].not_available = BOOL
XXX must be replaced with the ID, without the leading zero's
BOOL must be replaced with true or false.

so, what happens if we do:

Code: [Select]
$game_actors[1].must_be_in_party = true
Now, Arshes/Axulus (id = 1) MUST be in the party. You can not switch him to the reserved list.

Code: [Select]
$game_actors[2].not_available = true
Now, Basil (id = 2) can NOT be in the party. You can not switch him to the party list.

Code: [Select]
$game_actors[7].disabled_for_party = true
Now, Gloria (id = 7) will not show up in both the party list and both the reserverd list.

Code: [Select]
$game_actors[1].must_be_in_party = false
$game_actors[2].disabled_for_party = false
$game_actors[7].not_available = false
Now, Arshes can be in the reserved list again, Basil can be in the party again, and Gloria will show up in the list again.

I Hope you understand.
Title: Re: Easy Party Switcher v1.52b
Post by: Decadent Sympozium on December 17, 2006, 07:15:59 PM
Ah yes, yes, so, in additional words, I can use an event tu pull off call script to, for example, acquire a character for play that was originaly disabled?
Title: Re: Easy Party Switcher v1.52b
Post by: Me™ on December 18, 2006, 10:48:40 AM
Exactly, that is the idea.
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on December 18, 2006, 05:06:59 PM
Just like Me said, only this part is swapped

Code: [Select]
$game_actors[2].disabled_for_party = true
Now, Basil (id = 2) can NOT be in the party. You can not switch him to the party list.

Code: [Select]
$game_actors[7].not_available = true
Now, Gloria (id = 7) will not show up in both the party list and both the reserverd list.

It should be

Quote
Code: [Select]
$game_actors[7].not_available = true
Now, Basil (id = 7) can NOT be in the party. You can not switch him to the party list.

Code: [Select]
$game_actors[2].disabled_for_party = true
Now, Gloria (id = 2) will not show up in both the party list and both the reserverd list.
Title: Re: Easy Party Switcher v1.52b
Post by: Me™ on December 18, 2006, 08:24:45 PM
Woops sorry for that, please fix the ID numbers in the post above Blizzard ;)
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on December 19, 2006, 05:38:00 PM
Sure. That happens when you post in a hurry, lol!
Title: Re: Easy Party Switcher v1.52b
Post by: Edwin VanCleef on January 10, 2007, 01:24:15 PM
I have a load of characters in my game, so this is very useful, thanks.

Edit: It says it can't find the faces folder when I try to start it...
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on January 10, 2007, 03:03:27 PM
Read the instructions. You need to make a folder called "Faces" inside the "Characters" folder.
Title: Re: Easy Party Switcher v1.52b
Post by: Edwin VanCleef on January 10, 2007, 06:58:07 PM
yeah, I did. even gone through the annoying process of renaming my character portraits to the same names as the spritesets, but i still get the error.
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on January 11, 2007, 10:28:28 AM
Lol, for some reason there still was the glitch I actually fixed in version 1.21b!
Just re-copy the code and you will be fine.
Title: Re: Easy Party Switcher v1.52b
Post by: noian on February 12, 2007, 11:48:30 PM
I personally like the Xk8's better since it looks more professional and doesn't have the wierd character faces..
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on February 18, 2007, 05:40:13 PM
ACTUALLY you have to make your character faces yourself. I only used the battlers in the demo, because I was too lazy to make them. :P
And if you seek professionality, this party switcher actually looks a lot like FF9's one while Xk8's has a more confusing interface. ::)
Title: Re: Easy Party Switcher v1.52b
Post by: Blizzard on February 23, 2007, 06:20:24 PM
*updates*
Now compatible with Tons of Add-ons. ;8
Title: Re: Easy Party Switcher v1.7b
Post by: Halestorm5 on March 04, 2007, 11:47:49 PM
Ive put it in my game, I've put in my faces and I don't know how to make it work XD
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on March 05, 2007, 12:22:19 PM
Code: [Select]
# Character faces go into the "Characters" folder and they have the same name
# as the character spritesets have with _face added.
#
# Example:
#
# sprite - Marlen.png
# face   - Marlen_face.png
Title: Re: Easy Party Switcher v1.7b
Post by: Halestorm5 on March 05, 2007, 04:33:55 PM
Code: [Select]
# Character faces go into the "Characters" folder and they have the same name
# as the character spritesets have with _face added.
#
# Example:
#
# sprite - Marlen.png
# face   - Marlen_face.png
Yeh I know, except how do you use it? Like how do I add it into the game?
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on March 06, 2007, 11:30:41 AM
Quote
Character faces go into the "Characters" folder and they have the same name as the character spritesets have with _face added.

What's so hard with copy-pasting a few files intl the Graphics/Characters folder and renaming them?!
Title: Re: Easy Party Switcher v1.7b
Post by: Halestorm5 on March 17, 2007, 08:35:49 PM
...I don't understand all these and some things I want to use it good.

Don't understand:
How to make it show up
How to remove the options of players
How to add the options of players

Things I want:
How to add it to my menu (Default) over the default choice of saving
----------------
Blizzard I hope you are on to help me :)
Title: Re: Easy Party Switcher v1.7b
Post by: Karo Rushe on March 17, 2007, 08:51:24 PM
...I don't understand all these and some things I want to use it good.

Don't understand:
How to make it show up
How to remove the options of players
How to add the options of players

Things I want:
How to add it to my menu (Default) over the default choice of saving
----------------
Blizzard I hope you are on to help me :)
To SHow it up: Make an Event, scroll to Page 3 and Add Call Script, Add this Sintax:

Quote
$scene = Scene_PartySwitcher.new

Or azny of the sintaxes given in the Instructions, the instructions say what each one does.
To Remove add this:

Quote
$scene = Scene_PartySwitcher.new
$game_actors[ID].disabled_for_party = true/false

ID is the Character in the Database. Set to True so he Is Disabled from the Party Switcher.
To add that character simply set it "false"

How to add to the menu as an option...I don't know, since I rather want them to go to the save point to switch/save =P


Title: Re: Easy Party Switcher v1.7b
Post by: Rune on March 29, 2007, 07:33:34 PM
ooooh... squirrel likes
squirrel will use
Title: Re: Easy Party Switcher v1.7b
Post by: SolutionNyne on April 10, 2007, 03:26:50 AM
My question isn't face-related (suprise!!!)

And if there is an option for this and I've overlooked it, then just point me in the right direction and my apologies. 

But.. is there a way to make the first position, always stay the same?  Like.. I understand you can set it so that say.. Player A cannot go to the reserve.  But is there a way to make it so Player A will STAY in the main heros position on the roster?   Because as it is, you can interchange all the members that are in the current party, and put them at any position... but the problem begins, when you remove  Player A from that first spot.. and insert Player B there.  Then, after you exit the party change screen.. you will walk around as Player B, instead of Player A, as was intended.

This proves very problematic, when all the cutscenes proceed with one certain character in mind for the player to control.

I hope that wasn't _too_ confusing.
Title: Re: Easy Party Switcher v1.7b
Post by: Karo Rushe on April 10, 2007, 03:29:40 AM
you could always Remove all player except player one And make the others as Events =/

Easy as that for each cutscene.
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on April 10, 2007, 11:41:55 AM
Just like Sion said. Or you can just always make this hero be "must_be_in_party", nobody won't be able to change his position.
Title: Re: Easy Party Switcher v1.7b
Post by: SolutionNyne on April 10, 2007, 05:33:31 PM
If I use the "must_be_in_party" command, the hero will be forced to stay in the party, sure enough.  But you are still able to change his order, within the current party.

Like say, we have.

HERO 1
HERO 2
HERO 3                     RESERVE
HERO 4

While it's true that Hero one is unable to go to the reserve... in the party switch screen, you can still reform the party so it is:

HERO 4
HERO 2
HERO 3                     RESERVE
HERO 1

And in this case, the sprite for Hero 4 will be walking around the game maps, and not Hero 1, as it is supposed to be.


I suppose I could just remove everybody and then just add back Hero 1, to force him into the first position, but that is a bit cumbersome to add in a few dozen times.

I'll just make due with what I can, if there is no simple script fix to lock that player in the first position.

Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on April 10, 2007, 05:35:53 PM
Ah, I understand now. That's a good idea. I'll update the version next time and add the option to optionally enforce a position if the hero is "must_be_in_party". That's what you wanted, right?
Title: Re: Easy Party Switcher v1.7b
Post by: Irock on April 10, 2007, 05:47:04 PM
Would it be possible to make a hero have to be the leader? If it is then I overlooked it <_<;

EDIT: Did he just ask that? :D
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on April 10, 2007, 05:48:51 PM
Nope. That's what I will add.
Title: Re: Easy Party Switcher v1.7b
Post by: Irock on April 10, 2007, 05:50:15 PM
I didn't see him ask that. What a coincidence. ::)
Title: Re: Easy Party Switcher v1.7b
Post by: SolutionNyne on April 10, 2007, 06:46:02 PM
Aye, that's exactly what I was looking for. :thumbsup:

And lol, about the second question.
Title: Re: Easy Party Switcher v1.7b
Post by: Rune on April 12, 2007, 08:56:35 PM
When I try allowing a character to be used... the game crashes... no error report or anything... it just stops working O_o Any idea what I could be doing wrong? I'm using the right syntaxes and all that... but it won't work ...
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on April 12, 2007, 09:00:16 PM
I'll look into it.
Title: Re: Easy Party Switcher v1.7b
Post by: Rune on April 12, 2007, 09:11:00 PM
Thanks ;) It might just be me being stupid as always =P

[EDIT]
Yep... it was... I forgot the 'return true' at the end of the call script >.<
Title: Re: Easy Party Switcher v1.7b
Post by: TheBlob on April 16, 2007, 03:32:37 AM
Uhh.

This'll be the first script I have used, so I need some help. I added the entire code to the script "Main", above everything else, then I made an event and added the call script like you said, and it says that it couldn't load the face graphic.

What did I do wrong?
Title: Re: Easy Party Switcher v1.7b
Post by: Blizzard on April 16, 2007, 10:14:30 AM
I have typed out instructions in the header of the script. Just read them, I explained everything what you need to do in there.
Title: Re: Easy Party Switcher v1.7b
Post by: TheBlob on April 16, 2007, 02:52:27 PM
Well, last time I did the configurations and made an event that called the party switcher, it didn't work. I went back and looked at it, and found the error of my ways! I had done this: "FACESETS = true".

I had no face sets, lol. So I set it to false to make the sprites pop up.

Thanks man, this rocks!
Title: Re: [MISSING] Easy Party Switcher v1.7b
Post by: Edwin VanCleef on June 14, 2007, 08:45:25 PM
lol, gone

so why is this script gone? i need it
Title: Re: [MISSING] Easy Party Switcher v1.7b
Post by: Rune on June 14, 2007, 10:43:41 PM
You can find it on his site, check his sig
Title: Re: [MISSING] Easy Party Switcher v1.7b
Post by: Edwin VanCleef on June 15, 2007, 12:11:39 AM
ok, thanks for the info
Title: Re: [MISSING] Easy Party Switcher v1.7b
Post by: Edwin VanCleef on June 15, 2007, 01:55:03 AM
would you also happen to know how big the portraits should be? mine are 96x96 now and theyre reaching outta the marker wich looks kinda stupid
Title: Re: [MISSING] Easy Party Switcher v1.7b
Post by: Rune on June 15, 2007, 09:36:57 AM
I'm not sure... it's a long time since I used this :D
Just keep making them smaller and smaller until they fit :)