RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
need help, do anybody know how i can like save a character like in the computer.

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 86
Yea, I'm not sure if anyone knows but, I wanted to know that if anybody know how can I like deposit a character into like some kind of bank. I mean, don't know if that make sense, haha. For example, like in the pokemon game, how can you like deposit a pokemon into a system, and have the pokemon continue to have the same level and whatever whenever a player decide to take it out and put it back on the team. You know, like, save a character somewhere or leave it somewhere then be able to go back and put the character on the team whenever you want to and the character still have the same level and everything when you left it to take it off the team. I'm not sure how to do it but i seen people doing it. Haha. And it's rpgmaker 2k3. i'm not sure if any of you can do it but if you do can you please help. Thanks. like deposit a pokemon then take it out to use it whenever i want to take it out and put it on the team again. So thanks, for reading this, sorry to bug anyone, haha.

Peace and thanks.  haha.

*
Shooting for the "MEMBER MODERATOR OF THE YEAR 2007" Award
Rep:
Level 89
Hi, there.
Here is a simple Script for storing items. All you have to do is make some sort of event that when you store an item it removes a player from your party and vise versa.

Each one is a different type of storage system

Here you got (Not Mine)

Keyboard Input Module
Spoiler for:
Code: [Select]
#==============================================================================
# Keyboard Input Module
#----------------------------------------------------------------------------
# Script by Cybersam
#==============================================================================

module Input
  @keys = []
  @pressed = []
  Mouse_Left = 1
  Mouse_Right = 2
  Mouse_Middle = 4
  Back= 8
  Tab = 9
  Enter = 13
  Shift = 16
  Ctrl = 17
  Alt = 18
  Esc = 27
  Space = 32
  Numberkeys = {}
  Numberkeys[0] = 48        # => 0
  Numberkeys[1] = 49        # => 1
  Numberkeys[2] = 50        # => 2
  Numberkeys[3] = 51        # => 3
  Numberkeys[4] = 52        # => 4
  Numberkeys[5] = 53        # => 5
  Numberkeys[6] = 54        # => 6
  Numberkeys[7] = 55        # => 7
  Numberkeys[8] = 56        # => 8
  Numberkeys[9] = 57        # => 9
  Numberpad = {}
  Numberpad[0] = 45
  Numberpad[1] = 35
  Numberpad[2] = 40
  Numberpad[3] = 34
  Numberpad[4] = 37
  Numberpad[5] = 12
  Numberpad[6] = 39
  Numberpad[7] = 36
  Numberpad[8] = 38
  Numberpad[9] = 33
  Letters = {}
  Letters["A"] = 65
  Letters["B"] = 66
  Letters["C"] = 67
  Letters["D"] = 68
  Letters["E"] = 69
  Letters["F"] = 70
  Letters["G"] = 71
  Letters["H"] = 72
  Letters["I"] = 73
  Letters["J"] = 74
  Letters["K"] = 75
  Letters["L"] = 76
  Letters["M"] = 77
  Letters["N"] = 78
  Letters["O"] = 79
  Letters["P"] = 80
  Letters["Q"] = 81
  Letters["R"] = 82
  Letters["S"] = 83
  Letters["T"] = 84
  Letters["U"] = 85
  Letters["V"] = 86
  Letters["W"] = 87
  Letters["X"] = 88
  Letters["Y"] = 89
  Letters["Z"] = 90
  Fkeys = {}
  Fkeys[1] = 112
  Fkeys[2] = 113
  Fkeys[3] = 114
  Fkeys[4] = 115
  Fkeys[5] = 116
  Fkeys[6] = 117
  Fkeys[7] = 118
  Fkeys[8] = 119
  Fkeys[9] = 120
  Fkeys[10] = 121
  Fkeys[11] = 122
  Fkeys[12] = 123
  Collon = 186        # => \ |
  Equal = 187         # => = +
  Comma = 188         # => , <
  Underscore = 189    # => - _
  Dot = 190           # => . >
  Backslash = 191     # => / ?
  Lb = 219
  Rb = 221
  Quote = 222         # => '"
  #-------------------------------------------------------------------------------
  USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
  #-------------------------------------------------------------------------------
 
module_function
  #--------------------------------------------------------------------------
  def triggered?(key)
    Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
  end
  #--------------------------------------------------------------------------
  def check(key)
    Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
  end
  #--------------------------------------------------------------------------
  def pressed?(key)
    return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
    return false
  end
  #--------------------------------------------------------------------------
  def mouse_update
    @used_i = []
    for i in USED_KEYS
      x = check(i)
      if x == true
        @used_i.push(i)
      end
    end
  end
  #--------------------------------------------------------------------------
  def self.C
    self.trigger?(C)
  end
  #--------------------------------------------------------------------------
  def self.B
    self.trigger?(B)
  end
  #--------------------------------------------------------------------------
  def self.A
    self.trigger?(A)
  end
  #--------------------------------------------------------------------------
  def self.Down
    self.trigger?(DOWN)
  end
  #--------------------------------------------------------------------------
  def self.Up
    self.trigger?(UP)
  end
  #--------------------------------------------------------------------------
  def self.Right
    self.trigger?(RIGHT)
  end
  #--------------------------------------------------------------------------
  def self.Left
    self.trigger?(LEFT)
  end
  #--------------------------------------------------------------------------
  def self.Anykey
    if A or B or C or Down or Up or Right or Left
      return true
    else
      return false
    end
  end
  #--------------------------------------------------------------------------
end


Locker System
Spoiler for:
Code: [Select]
class Game_Locker
  attr_accessor :lockercombo
  def initialize
    @lockercombo = Hash.new("45-64-75")
    #@lockercombo = []
    #for i in 0..5000
    #  @lockercombo[i] = "45-64-75"   #default combination
    #end
    @lockercombo[0] = "45-64-75"      #first combination
    @lockercombo[1] = "456475"        #other usable combination
    @lockercombo[2] = "45 64 75"      #other usable combination
  end
end
class Scene_Locker
  attr_accessor :lockerinput
  attr_accessor :lc
  attr_accessor :sename
  attr_accessor :se
  attr_accessor :template
  def initialize
    @sename = "032-Switch01"          #"032-Switch01" used to make locker sound
    @se = false                       #Put false if you do not like the sound.
    @changecombination = true         #Allows character to change combination
    @template = true                  #Changes Template of Scene.
  end
  def main
    @spriteset = Spriteset_Map.new
    @lockerinput = Window_LockerInput.new(0,8)
    @lockerinto = Window_LockerInstructions.new
    @lockerinput.opacity = 175
    @lockerinto.opacity = 175
    s1 = "Change Combination"
    s2 = "Enter Combination"
    @lc2 = Window_Command.new(350,[s1,s2])#(155,130,350,200)
    @lc2.x = 320 - @lc2.width / 2
    @lc2.y = 130
    @lc2.height = 200
    @lc2.opacity = 175
    @lc2.active = false
    @lc2.visible = false
    @lc = Window_LockerChange.new(0,8)
    @lc.active = false
    @lc.visible = false
    @lc.opacity = 175
    #if @changecombination == true
    #end
    if @changecombination == true
      secondupdate
    end
    if @template == true
      @lc.draw_locker_graphic
      @lockerinput.draw_locker_graphic
    end
    # Execute transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    @spriteset.dispose
    @lockerinto.dispose
    @lc2.dispose
    @lockerinput.dispose
    @lc.dispose
  end
  def secondupdate
    @lc2.visible = true
    @lc2.active = true
    @lockerinput.active = false
    @lockerinput.visible = false
  end
  def update
    @spriteset.update
    @lc.update
    @lockerinput.update
    @lockerinto.update
    @lc2.update
    if @lockerinput.active
      @lockerinto.set_text("Insert your locker combination and then click the screen")
      update2
    elsif @lc2.active
      @lockerinto.set_text("Change combination or enter combination")
      update3
    elsif @lc.active
      @lockerinto.set_text("Change your locker combination and then click the screen")
      update4
    end
  end
  #--------------------------------------------------------------------------
  def change_name
    #if @lockerinput.index == $game_temp.name_max_char
    #  $game_system.se_play($data_system.buzzer_se)
    #  return
    #end
    $game_system.se_play($data_system.decision_se)
    if @lockerinput.index < 6
      $scene = Scene_Map.new
    end
    if @lockerinput.name == $game_locker.lockercombo[0]
      $scene = Scene_Inventory_Items.new
    end
    if @lockerinput.name == $game_locker.lockercombo[1]
      $scene = Scene_Inventory_Items.new
    end
    #if @lockerinput.name == $game_locker.lockercombo[2]
    #  $scene = Scene_Inventory_Items.new
    #end
  end
  #--------------------------------------------------------------------------
  def input_processing
    if @lockerinput.index == $game_temp.name_max_char
      $game_system.se_play($data_system.buzzer_se)
    else
      $game_system.se_play($data_system.cursor_se)
    end
  end
  #--------------------------------------------------------------------------
  def update3
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      case @lc2.index
      when 0
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        @lc.active = true
        @lc.visible = true
        @lc2.active = false
        @lc2.visible = false
      when 1
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        @lockerinput.active = true
        @lockerinput.visible = true
        @lc2.active = false
        @lc2.visible = false
      end
      return
    end
  end
  def update2
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      @lockerinput.active = false
      @lockerinput.visible = false
      @lc2.active = true
      @lc2.visible = true
      return
    end
    if Input.triggered?(32) # [SPACE]
      input_processing
      @lockerinput.add(" ")
    end
    if Input.triggered?(1)
      change_name
    end
    @lockerinput.update
    if Input.triggered?(27) # [ESCAPE]
      $game_system.se_play($data_system.decision_se)
      @lockerinput.restore_default
      return
    end
    if Input.triggered?(8) # [BACKSPACE]
      if @lockerinput.index == 0
        return
      end
      $game_system.se_play($data_system.cancel_se)
      @lockerinput.back
      return
    end
    if Input.triggered?(13) # [ENTER]
      if @lockerinput.name == ""
        @lockerinput.restore_default
        return
      end
    end
    if Input.triggered?(189) # [SPACE]
      input_processing
      @lockerinput.add("-")
    end
    #for letter in 'A'..'Z'
    #  if Input.triggered?(letter[0])
    #    if Input.pressed?(16)
    #      input_processing
    #      @lockerinput.add(letter.upcase)
    #    else
    #      input_processing
    #      @lockerinput.add(letter.downcase)
    #    end
    #  end
    #end
    for letter in '0'..'9'
      if Input.triggered?(letter[0])
        input_processing
        @lockerinput.add(letter)
      end
    end
  end
  def input_processing2
    if @lc.index == $game_temp.name_max_char
      $game_system.se_play($data_system.buzzer_se)
    else
      $game_system.se_play($data_system.cursor_se)
    end
  end
  def update4
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      @lc.active = false
      @lc.visible = false
      @lc2.active = true
      @lc2.visible = true
      return
    end
    if Input.triggered?(32) # [SPACE]
      input_processing2
      @lc.add(" ")
    end
    if Input.triggered?(1)
      change_name2
    end
    @lc.update
    if Input.triggered?(27) # [ESCAPE]
      $game_system.se_play($data_system.decision_se)
      @lc.restore_default
      return
    end
    if Input.triggered?(8) # [BACKSPACE]
      if @lc.index == 0
        return
      end
      $game_system.se_play($data_system.cancel_se)
      @lc.back
      return
    end
    if Input.triggered?(13) # [ENTER]
      if @lc.name == ""
        @lc.restore_default
        return
      end
    end
    if Input.triggered?(189) # [SPACE]
      input_processing2
      @lc.add("-")
    end
    #for letter in 'A'..'Z'
    #  if Input.triggered?(letter[0])
    #    if Input.pressed?(16)
    #      input_processing
    #      @lockerinput.add(letter.upcase)
    #    else
    #      input_processing
    #      @lockerinput.add(letter.downcase)
    #    end
    #  end
    #end
    for letter in '0'..'9'
      if Input.triggered?(letter[0])
        input_processing2
        @lc.add(letter)
      end
    end
  end
  def change_name2
    #if @lockerinput.index == $game_temp.name_max_char
    #  $game_system.se_play($data_system.buzzer_se)
    #  return
    #end
    $game_system.se_play($data_system.decision_se)
    for i in 0..1
      $game_locker.lockercombo[i] = @lc.name    #default combination
    end
    @lc.active = false
    @lc.visible = false
    @lc2.active = true
    @lc2.visible = true
  end
end
class Window_LockerChange < Window_Base
  attr_reader   :name
  attr_reader   :index
  attr_accessor :max_char
  #--------------------------------------------------------------------------
  def initialize(actor, max_char)
    super(155,130,350,200)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.x = 320 - self.width / 2
    #@actor = $game_party.actors[actor]
    @name = ""#@actor.name
    @max_char = max_char
    name_array = @name.split(//)[0...@max_char]
    @name = ""
    for i in 0...name_array.size
      @name += name_array[i]
    end
    @default_name = @name
    @index = name_array.size
    @sprite_size = 0 # 0 for small sprites, 1 for bigger sprites
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  def restore_default
    @name = @default_name
    @index = @name.split(//).size
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  def add(character)
    if @index < @max_char and character != ""
      @name += character
      @index += 1
      refresh
      update_cursor_rect
    end
  end
  #--------------------------------------------------------------------------
  def back
    if @index > 0
      name_array = @name.split(//)
      @name = ""
      for i in 0...name_array.size-1
        @name += name_array[i]
      end
      @index -= 1
      refresh
      update_cursor_rect
    end
  end
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    name_array = @name.split(//)
    for i in 0...@max_char
      c = name_array[i]
      if c == nil
        c = "?"
      end
      if $scene.template == true
        x = 320 - 16 * 14 + i * 28
      else
        x = 320 - 16 * 14 + i * 28 - width / 4
      end
      self.contents.draw_text(x, 49, 28, 32, c, 1)
    end
    #if @sprite_size == 0
    #  draw_actor_graphic(@actor, 320 - 16 * 14 - 40, 92)
    #else
    #  draw_actor_graphic(@actor, 320 - 16 * 14 - 40, 112)
    #end
  end
  def draw_locker_graphic
    @bitmap = 0
    if @bitmap != nil
      @bitmap = nil
    end
    #self.contents2.clear
    @bitmap = RPG::Cache.picture("locker")
    @timing = 4
    @counter = 0
    @pattern = 0
  end
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if $scene.template == true
      if @index < @max_char-1
        self.cursor_rect.set(-96 + @max_char * 25 + @index * 28, 48, 28, 32)#16
      else
        self.cursor_rect.set(-96 + @max_char * 25 + (@max_char-1) * 28, 48, 28, 32)
      end
    else
      if @index < @max_char-1
        self.cursor_rect.set(-96 + @max_char * 25 + @index * 28 - width / 4, 48, 28, 32)#16
      else
        self.cursor_rect.set(-96 + @max_char * 25 + (@max_char-1) * 28 - width / 4, 48, 28, 32)
      end
    end
  end
  #--------------------------------------------------------------------------
  def update
    super
    if $scene.template == true
      bitmap = @bitmap
      cw = bitmap.width / 4
      ch = bitmap.height
      if @counter == @timing
        @counter = 0
        if @pattern == 3
          @pattern = 0
        else
          @pattern += 1
        end
        pt = @pattern
        src_rect = Rect.new(cw * pt, 0, cw, ch)
      else
        @counter += 1
        #if $scene.lockerinput.active
        #  Audio.se_play("Audio/SE/" + "032-Switch01", 70, 50)
        #elsif $scene.lc.active
        #  Audio.se_play("Audio/SE/" + "032-Switch01", 70, 50)
        #end
        #$game_system.se_play("032-Switch01")
        pt = @pattern
        src_rect = Rect.new(cw * pt, 0, cw, ch)
      end
      self.contents.blt(x - cw * 1.5, y - ch, bitmap, src_rect)
    end
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
end
class Window_LockerInstructions < Window_Base
  attr_accessor :text
  def initialize
    super(155,85,350,45)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 14
    @text = ""
    self.x = 320 - self.width / 2
    self.contents.draw_text(4, 0, width, 17, @text,1)
  end
  def set_text(text)
    self.contents.clear
    @text = text
    self.contents.draw_text(4, 0, width, 17, @text,1)
  end
end
class Window_LockerInput < Window_Base
  attr_reader   :name
  attr_reader   :index
  attr_accessor :max_char
  attr_accessor :face_frame
  #--------------------------------------------------------------------------
  def initialize(actor, max_char)
    super(155,130,350,200)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.x = 320 - self.width / 2
    #self.contents = Bitmap.new(width - 32, height - 32)
    #@actor = $game_party.actors[actor]
    @name = ""#@actor.name
    @max_char = max_char
    name_array = @name.split(//)[0...@max_char]
    @name = ""
    for i in 0...name_array.size
      @name += name_array[i]
    end
    @default_name = @name
    @index = name_array.size
    @sprite_size = 0 # 0 for small sprites, 1 for bigger sprites
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  def restore_default
    @name = @default_name
    @index = @name.split(//).size
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  def add(character)
    if @index < @max_char and character != ""
      @name += character
      @index += 1
      refresh
      update_cursor_rect
    end
  end
  #--------------------------------------------------------------------------
  def back
    if @index > 0
      name_array = @name.split(//)
      @name = ""
      for i in 0...name_array.size-1
        @name += name_array[i]
      end
      @index -= 1
      refresh
      update_cursor_rect
    end
  end
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    name_array = @name.split(//)
    for i in 0...@max_char
      c = name_array[i]
      if c == nil
        c = "?"
      end
      if $scene.template == true
        x = 320 - 16 * 14 + i * 28
      else
        x = 320 - 16 * 14 + i * 28 - width / 4
      end
      self.contents.draw_text(x, 49, 28, 32, c, 1)
    end
    #if @sprite_size == 0
    #  draw_actor_graphic(@actor, 320 - 16 * 14 - 40, 92)
    #else
    #  draw_actor_graphic(@actor, 320 - 16 * 14 - 40, 112)
    #end
  end
  def draw_locker_graphic
    @bitmap = 0
    if @bitmap != nil
      @bitmap = nil
    end
    #self.contents2.clear
    @bitmap = RPG::Cache.picture("locker")
    @timing = 4
    @counter = 0
    @pattern = 0
  end
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if $scene.template == true
      if @index < @max_char-1
        self.cursor_rect.set(-96 + @max_char * 25 + @index * 28, 48, 28, 32)#16
      else
        self.cursor_rect.set(-96 + @max_char * 25 + (@max_char-1) * 28, 48, 28, 32)
      end
    else
      if @index < @max_char-1
        self.cursor_rect.set(-96 + @max_char * 25 + @index * 28 - width / 4, 48, 28, 32)#16
      else
        self.cursor_rect.set(-96 + @max_char * 25 + (@max_char-1) * 28 - width / 4, 48, 28, 32)
      end
    end
  end
  #--------------------------------------------------------------------------
  def update
    super
    if $scene.template == true
      bitmap = @bitmap
      cw = bitmap.width / 4
      ch = bitmap.height
      if @counter == @timing
        @counter = 0
        if @pattern == 3
          @pattern = 0
        else
          @pattern += 1
        end
        pt = @pattern
        src_rect = Rect.new(cw * pt, 0, cw, ch)
      else
        @counter += 1
        if $scene.se == true
          if $scene.lockerinput.active
            Audio.se_play("Audio/SE/" + $scene.sename, 70, 50)
          elsif $scene.lc.active
            Audio.se_play("Audio/SE/" + $scene.sename, 70, 50)
          end
        end
        #$game_system.se_play("032-Switch01")
        pt = @pattern
        src_rect = Rect.new(cw * pt, 0, cw, ch)
      end
      self.contents.blt(x - cw * 1.5, y - ch, bitmap, src_rect)
    end
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
end
class Scene_Load < Scene_File
  alias save_data read_save_data
  def read_save_data(file)
    save_data(file)
    $game_locker        = Marshal.load(file)
  end
end
class Scene_Save < Scene_File
  alias save_data write_save_data
  def write_save_data(file)
    save_data(file)
    Marshal.dump($game_locker, file)
  end
end
class Scene_Title
  alias newgame command_new_game
  def command_new_game
    newgame
    $game_locker = Game_Locker.new
  end
end


Storage System
Spoiler for:
Code: [Select]
#==============================================================================
# Item Inventory
#--------------------------------------------------------------------------
# Created By SephirothSpawn (12.02.05)
# Last Updated: 12.02.05
#==============================================================================

#==============================================================================
# ** Window_RefreshCommand
#==============================================================================
class Window_RefreshCommand < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# width : window width
# commands : command text string array
#--------------------------------------------------------------------------
def initialize(width, commands)
# Compute window height from command quantity
super(0, 0, width, commands.size * 32 + 32)
@item_max = commands.size
@commands = commands
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh(commands = @commands)
@commands = commands
@item_max = commands.size
if self.contents != nil
self.contents.dispose
self.contents = nil
end
self.contents = Bitmap.new(width - 32, @item_max * 32)
for i in 0...@item_max
draw_item(i, normal_color)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
# color : text color
#--------------------------------------------------------------------------
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
end
#--------------------------------------------------------------------------
# * Disable Item
# index : item number
#--------------------------------------------------------------------------
def disable_item(index)
draw_item(index, disabled_color)
end
end

#==============================================================================
# ** Game_Party
#==============================================================================
class Game_Party
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :items
attr_accessor :weapons
attr_accessor :armors
attr_accessor :inventory_items
#--------------------------------------------------------------------------
# * Alias Initialization
#--------------------------------------------------------------------------
alias inventory_int initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
inventory_int
@inventory_items = []
end
#--------------------------------------------------------------------------
# * Move to Inventory
#--------------------------------------------------------------------------
def move_to_inventory(type, item_id)
case type
when 0
@inventory_items.push($data_items[item_id])
lose_item(item_id, 1)
when 1
@inventory_items.push($data_weapons[item_id])
lose_weapon(item_id, 1)
when 2
@inventory_items.push($data_armors[item_id])
lose_armor(item_id, 1)
end
update_inventory
end
#--------------------------------------------------------------------------
# * Remove from Inventory
#--------------------------------------------------------------------------
def remove_from_inventory(index)
item = @inventory_items[index]
@inventory_items.delete_at(index)
case item
when RPG::Item
gain_item(item.id, 1)
when RPG::Weapon
gain_weapon(item.id, 1)
when RPG::Armor
gain_armor(item.id, 1)
end
update_inventory
end
#--------------------------------------------------------------------------
# * Update Inventory
#--------------------------------------------------------------------------
def update_inventory
items, weapons, armors = [], [], []
for item in @inventory_items
case item
when RPG::Item
items.push(item)
when RPG::Weapon
weapons.push(item)
when RPG::Armor
armors.push(item)
end
end
items.sort! {|a, b| a.name<=>b.name}
weapons.sort! {|a, b| a.name<=>b.name}
armors.sort! {|a, b| a.name<=>b.name}
@inventory_items.clear
@inventory_items << items << weapons << armors
@inventory_items.flatten!
end
end

#==============================================================================
# ** Scene_Inventory_Items
#==============================================================================
class Scene_Inventory_Items
  attr_accessor :template
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
  @template = false
# Make sprite set
@spriteset = Spriteset_Map.new
# Help Window
@help_window = Window_Help.new
@help_window.set_text("Select Item to Transfer", 1)
@help_window.opacity = 175
# Items Window
@items_window = Window_RefreshCommand.new(272, get_item_commands)
@items_window.x, @items_window.y = 32, 80
@items_window.opacity = 175
@items_window.height = 384
# Inventory Window
@inventory_window = Window_RefreshCommand.new(272, get_inventory_commands)
@inventory_window.x, @inventory_window.y = 336, 80
@inventory_window.opacity = 175
@inventory_window.height = 384
@inventory_window.active = false
# Scene Objects
@objects = [@spriteset, @help_window, @items_window, @inventory_window]
@cmd_windows = [@items_window, @inventory_window]
# Transition run
Graphics.transition
# Main loop
while $scene == self
# Update game screen
Graphics.update
# Update input information
Input.update
# Updates Objects
@objects.each {|x| x.update unless x == @items_window || x == @inventory_window}
@cmd_windows.each {|x| x.update if x.active}
# Frame update
update
end
# Prepare for transition
Graphics.freeze
# Disposes Objects
@objects.each {|x| x.dispose}
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Updates Help Window
if @items_window.active
@help_window.set_text("Select Item to Transfer", 1)
else
@help_window.set_text("Select Item to Withdraw", 1)
end
# Return to Map
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
elsif Input.trigger?(Input::L) || Input.trigger?(Input::R) ||
Input.trigger?(Input::LEFT) || Input.trigger?(Input::RIGHT)
@items_window.active = @items_window.active ? false : true
@inventory_window.active = @inventory_window.active ? false : true
elsif Input.trigger?(Input::C)
if @items_window.active
item = @commands[@items_window.index]
if item == "Back"
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
else
$game_system.se_play($data_system.decision_se)
case item
when RPG::Item
type = 0
when RPG::Weapon
type = 1
else
type = 2
end
$game_party.move_to_inventory(type, item.id)
@items_window.refresh(get_item_commands)
@inventory_window.refresh(get_inventory_commands)
end
else
if @inventory_window.index == @inventory_size - 1
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
else
$game_party.remove_from_inventory(@inventory_window.index)
@items_window.refresh(get_item_commands)
@inventory_window.refresh(get_inventory_commands)
end
end
end
end
#--------------------------------------------------------------------------
# * Get Item Commands
#--------------------------------------------------------------------------
def get_item_commands
# Commands For Command Window
commands = []
$game_party.items.each_key {|item| $game_party.items[item].times {commands.push($data_items[item].name)}}
$game_party.weapons.each_key {|item| $game_party.weapons[item].times {commands.push($data_weapons[item].name)}}
$game_party.armors.each_key {|item| $game_party.armors[item].times {commands.push($data_armors[item].name)}}
commands.push("Back")
# Commands For Selecting
@commands = []
$game_party.items.each_key {|item| $game_party.items[item].times {@commands.push($data_items[item])}}
$game_party.weapons.each_key {|item| $game_party.weapons[item].times {@commands.push($data_weapons[item])}}
$game_party.armors.each_key {|item| $game_party.armors[item].times {@commands.push($data_armors[item])}}
@commands.push("Back")
return commands
end
#--------------------------------------------------------------------------
# * Get Inventory Commands
#--------------------------------------------------------------------------
def get_inventory_commands
commands = []
$game_party.inventory_items.each {|item| commands.push(item.name)}
commands.push("Back")
@inventory_size = commands.size
return commands
end
end


The rest of the instructions are here.
http://www.hbgames.org/forums/index.php?topic=10298.0

Good Luck.
Sig by MacGravel

**
Rep: +0/-0Level 86
dude is this for rpgmakerxp or anyone, because i was using rpgmaker 2k3. But yea, thanks dude anyway, I didn't want to use rpgmakerxp because i don't like the picture battle system, the other one is better for rpgmaker 2k3 or whatever. Haha but yea, thanks though. Not sure if it's for rpgmaker 2k3 or not..or just xp...but yea cool. thanks for even helping me out.

pokeball :)OfflineMale
********
Cheese
Rep:
Level 95
?
scripts are only for rpg maker xp.

also you can change the rpg maker xp battle to look the same as 2k3.
Watch out for: HaloOfTheSun

**
Rep: +0/-0Level 86
alright to make it a better way to understand it, how can i make it where i character can leave my team then come back to my team whenever with the same level in a part of the game? Like how can i like let a character leave the team with the same stats then come back to the team with the same stats.

****
Rep:
Level 87
Code Geass = Best show EVER XD
Project of the Month winner for May 2008
idk if 2k3's event commands are the same, but in XP, the "change party member" command has a little check box at the bottom names initialize.

When you remove a character, the box is fadded out, but when you want it back in, do the command, except this time add the same member, and uncheck the initialize box as when you add a member, the check will become available, this way, that party member thats just returning will have the save exp, states, and equips, as he/she did when he left.

*
Rep: +0/-0Level 86
Well when the character leaves, just use the command "Variable Operations", select the variable number you want to store the character's lvl into, and from Operand check the one that says "Hero", then you can select the character and what do you want to store (Level, stat, weapon number etc.)