Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Help with armor slot!

Hi! I have been mixing with the codes of The Equip Menu. And don't panic, I am so stubborn I have fixed all bugs as well!

My equip menu is based on 2 slots and 7 parameters.

But there is ONE probem remaining: When I unequip armors and want to equip another or the same, it has dissapeared. And no it is not deleted, becasue the 'lost' armors is within 'items' / 'inventory'.

LOOK HOW I DID IN TESTPLAY_MODE:

Step 1: This is the armor: The box to the RIGHT is the armor inventory (existing armor(s)), the box to the LEFT the equiped armor. I unequip the ARMOR in STEP 2.
tskarmorerror1.png


Step2: You see here that the ARMOR is unequiped! But the armor isn't in the armor inventory (RIGHT BOX)! Where is the armor?
tskarmorerror2.png


I encountered the same problem with WEAPONS, but I have already changed the index to 1, both in 'index column' and
done like this:

x = 4
y = index *32


After this, the weapons are shown correctly (in just ONE column)!

BUT I think that the problem with armors is something else!

Here are ALL the codes I used:

Window_EquipItem:
Code:
#==============================================================================

# ** Window_EquipItem

#------------------------------------------------------------------------------

#  This window displays choices when opting to change equipment on the

#  equipment screen.

#==============================================================================

 

class Window_EquipItem < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor      : actor

  #     equip_type : equip region (0-3)

  #--------------------------------------------------------------------------

  def initialize(actor, equip_type)

    super(380, 100, 272, 200)

    @actor = actor

    @equip_type = equip_type

    @column_max = 1

    refresh

    self.active = false

    self.index = 1

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    if self.contents != nil

      self.contents.dispose

      self.contents = nil

    end

    @data = []

    # Add equippable weapons

    if @equip_type == 0

      weapon_set = $data_classes[@actor.class_id].weapon_set

      for i in 1...$data_weapons.size

        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)

          @data.push($data_weapons[i])

        end

      end

    end

    # Add equippable armor

    if @equip_type != 0

      armor_set = $data_classes[@actor.class_id].armor_set

      for i in 1...$data_armors.size

        if $game_party.armor_number(i) > 0 and armor_set.include?(i)

          if $data_armors[i].kind == @equip_type-0

            @data.push($data_armors[i])

          end

        end

      end

    end

    # Add blank page

    @data.push(nil)

    # Make a bit map and draw all items

    @item_max = @data.size

    self.contents = Bitmap.new(width - 20, row_max * 32)

    for i in 0...@item_max-1

      draw_item(i)

    end

  end

  #--------------------------------------------------------------------------

  # * Draw Item

  #     index : item number

  #--------------------------------------------------------------------------

  def draw_item(index)

    item = @data[index]

    x = 4

    y = index *32

    case item

    when RPG::Weapon

      number = $game_party.weapon_number(item.id)

    when RPG::Armor

      number = $game_party.shield_number(item.id)

    end

    bitmap = RPG::Cache.icon(item.icon_name)

    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))

    self.contents.font.color = normal_color

    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)

    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)

    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 1)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

Window_EquipLeft:
Code:
#==============================================================================

# ** Window_EquipLeft

#------------------------------------------------------------------------------

#  This window displays actor parameter changes on the equipment screen.

#==============================================================================

 

class Window_EquipLeft < Window_Base

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(80, 160, 300, 400)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    draw_actor_graphic(@actor, 20, 70)

    draw_actor_name(@actor, 4, 0)

    draw_actor_parameter(@actor, 4, 90, 0)

    draw_actor_parameter(@actor, 4, 110, 1)

    draw_actor_parameter(@actor, 4, 130, 2)

    draw_actor_parameter(@actor, 4, 160, 3)

    draw_actor_parameter(@actor, 4, 180, 4)

    draw_actor_parameter(@actor, 4, 200, 5)

    draw_actor_parameter(@actor, 4, 220, 6)

    if @new_atk != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 90, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 90, 36, 32, @new_atk.to_s, 2)

    end

    if @new_pdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 110, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 110, 36, 32, @new_pdef.to_s, 2)

    end

    if @new_mdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 130, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 130, 36, 32, @new_mdef.to_s, 2)

    end

    if @new_str != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 160, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 160, 36, 32, @new_str.to_s, 2)

    end

    if @new_dex != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 180, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 180, 36, 32, @new_dex.to_s, 2)

    end 

    if @new_agi != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 200, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 200, 36, 32, @new_agi.to_s, 2)

    end

    if @new_int != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 220, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 220, 36, 32, @new_int.to_s, 2)

    end

  end

  #--------------------------------------------------------------------------

  # * Set parameters after changing equipment

  #     new_atk  : attack power after changing equipment

  #     new_pdef : physical defense after changing equipment

  #     new_mdef : magic defense after changing equipment

  #--------------------------------------------------------------------------

  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or new_str != new_str or new_dex != new_dex or new_agi != new_agi or new_int != new_int 

      @new_atk = new_atk

      @new_pdef = new_pdef

      @new_mdef = new_mdef

      @new_str = new_str

      @new_dex = new_dex

      @new_agi = new_agi

      @new_int = new_int

      refresh

    end

  end

end

 

Window_EquipRight:
Code:
#==============================================================================

# ** Window_EquipRight

#------------------------------------------------------------------------------

#  This window displays items the actor is currently equipped with on the

#  equipment screen.

#==============================================================================

 

class Window_EquipRight < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(0, 64, 380, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

    self.index = 0

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    @data = []

    @data.push($data_weapons[@actor.weapon_id])

    @data.push($data_armors[@actor.armor1_id])

    @item_max = @data.size

    self.contents.font.color = system_color

    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)

    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)

    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)

    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)

    self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)

    draw_item_name(@data[0], 92, 32 * 0)

    draw_item_name(@data[1], 92, 32 * 1)

    draw_item_name(@data[2], 92, 32 * 2)

    draw_item_name(@data[3], 92, 32 * 3)

    draw_item_name(@data[4], 92, 32 * 4)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

Scene_Equip:
Code:
#==============================================================================

# ** Scene_Equip

#------------------------------------------------------------------------------

#  This class performs equipment screen processing.

#==============================================================================

 

class Scene_Equip

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor_index : actor index

  #     equip_index : equipment index

  #--------------------------------------------------------------------------

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

    @equip_index = equip_index

  end

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make windows

    @help_window = Window_Help.new

    @left_window = Window_EquipLeft.new(@actor)

    @right_window = Window_EquipRight.new(@actor)

    @item_window1 = Window_EquipItem.new(@actor, 0)

    @item_window2 = Window_EquipItem.new(@actor, 1)

    @item_window3 = Window_EquipItem.new(@actor, 2)

    @item_window4 = Window_EquipItem.new(@actor, 3)

    @item_window5 = Window_EquipItem.new(@actor, 4)

    # Associate help window

    @right_window.help_window = @help_window

    @item_window1.help_window = @help_window

    @item_window2.help_window = @help_window

    @item_window3.help_window = @help_window

    @item_window4.help_window = @help_window

    @item_window5.help_window = @help_window

    # Set cursor position

    @right_window.index = @equip_index

    refresh

    # 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

    # Dispose of windows

    @help_window.dispose

    @left_window.dispose

    @right_window.dispose

    @item_window1.dispose

    @item_window2.dispose

    @item_window3.dispose

    @item_window4.dispose

    @item_window5.dispose

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    # Set item window to visible

    @item_window1.visible = (@right_window.index == 0)

    @item_window2.visible = (@right_window.index == 1)

    @item_window3.visible = (@right_window.index == 2)

    @item_window4.visible = (@right_window.index == 3)

    @item_window5.visible = (@right_window.index == 4)

    # Get currently equipped item

    item1 = @right_window.item

    # Set current item window to @item_window

    case @right_window.index

    when 0

      @item_window = @item_window1

    when 1

      @item_window = @item_window2

    when 2

      @item_window = @item_window3

    when 3

      @item_window = @item_window4

    when 4

      @item_window = @item_window5

    end

    # If right window is active

    if @right_window.active

      # Erase parameters for after equipment change

      @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)

    end

    # If item window is active

    if @item_window.active

      # Get currently selected item

      item2 = @item_window.item

      # Change equipment

      last_hp = @actor.hp

      last_sp = @actor.sp

      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)

      # Get parameters for after equipment change

      new_atk = @actor.atk

      new_pdef = @actor.pdef

      new_mdef = @actor.mdef

      new_str = @actor.str

      new_dex = @actor.dex

      new_agi = @actor.agi

      new_int = @actor.int

      # Return equipment

      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)

      @actor.hp = last_hp

      @actor.sp = last_sp

      # Draw in left window

      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    # Update windows

    @left_window.update

    @right_window.update

    @item_window.update

    refresh

    # If right window is active: call update_right

    if @right_window.active

      update_right

      return

    end

    # If item window is active: call update_item

    if @item_window.active

      update_item

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when right window is active)

  #--------------------------------------------------------------------------

  def update_right

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(2)

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # If equipment is fixed

      if @actor.equip_fix?(@right_window.index)

        # Play buzzer SE

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # Play decision SE

      $game_system.se_play($data_system.decision_se)

      # Activate item window

      @right_window.active = false

      @item_window.active = true

      @item_window.index = 0

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when item window is active)

  #--------------------------------------------------------------------------

  def update_item

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # Play equip SE

      $game_system.se_play($data_system.equip_se)

      # Get currently selected data on the item window

      item = @item_window.item

      # Change equipment

      @actor.equip(@right_window.index, item == nil ? 0 : item.id)

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      # Remake right window and item window contents

      @right_window.refresh

      @item_window.refresh

      return

    end

  end

end

 

 

Can you help me to fix this strange thing!!! /Thank You!
 
Dude as much as I see it, I don't see a problem with this window script, your problem is somewhere else. Btw

The line here is not necessary:
Code:
 

  def initialize(actor, equip_type)

    super(380, 100, 272, 200)

    self.contents = Bitmap.new(width - 32, height - 32) # <- This one

    @actor = actor

    @equip_type = equip_type

    @column_max = 1

    refresh

    self.active = false

    self.index = 1

  end

 

Because you already do that with this function call

Code:
 

  def initialize(actor, equip_type)

    super(380, 100, 272, 200)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    @equip_type = equip_type

    @column_max = 1

    refresh # <- This one

    self.active = false

    self.index = 1

  end

 

because in def refresh there is already this:

Code:
 

  def refresh

    if self.contents != nil

      self.contents.dispose

      self.contents = nil

    end

    @data = []

    # Add equippable weapons

    if @equip_type == 0

      weapon_set = $data_classes[@actor.class_id].weapon_set

      for i in 1...$data_weapons.size

        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)

          @data.push($data_weapons[i])

        end

      end

    end

    # Add equippable armor

    if @equip_type != 0

      armor_set = $data_classes[@actor.class_id].armor_set

      for i in 1...$data_armors.size

        if $game_party.armor_number(i) > 0 and armor_set.include?(i)

          if $data_armors[i].kind == @equip_type-0

            @data.push($data_armors[i])

          end

        end

      end

    end

    # Add blank page

    @data.push(nil)

    # Make a bit map and draw all items

    @item_max = @data.size

    self.contents = Bitmap.new(width - 20, row_max * 32) # <- This one

    for i in 0...@item_max-1

      draw_item(i)

    end

  end

 

Post everything you edited when making this equip screen, that's only way we can help. This one is not helping.
 
Thank You very much, I deleted all the unnecesary lines!

Here are ALL the codes I used:

Window_EquipItem:
Code:
#==============================================================================

# ** Window_EquipItem

#------------------------------------------------------------------------------

#  This window displays choices when opting to change equipment on the

#  equipment screen.

#==============================================================================

 

class Window_EquipItem < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor      : actor

  #     equip_type : equip region (0-3)

  #--------------------------------------------------------------------------

  def initialize(actor, equip_type)

    super(380, 100, 272, 200)

    @actor = actor

    @equip_type = equip_type

    @column_max = 1

    refresh

    self.active = false

    self.index = 1

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    if self.contents != nil

      self.contents.dispose

      self.contents = nil

    end

    @data = []

    # Add equippable weapons

    if @equip_type == 0

      weapon_set = $data_classes[@actor.class_id].weapon_set

      for i in 1...$data_weapons.size

        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)

          @data.push($data_weapons[i])

        end

      end

    end

    # Add equippable armor

    if @equip_type != 0

      armor_set = $data_classes[@actor.class_id].armor_set

      for i in 1...$data_armors.size

        if $game_party.armor_number(i) > 0 and armor_set.include?(i)

          if $data_armors[i].kind == @equip_type-0

            @data.push($data_armors[i])

          end

        end

      end

    end

    # Add blank page

    @data.push(nil)

    # Make a bit map and draw all items

    @item_max = @data.size

    self.contents = Bitmap.new(width - 20, row_max * 32)

    for i in 0...@item_max-1

      draw_item(i)

    end

  end

  #--------------------------------------------------------------------------

  # * Draw Item

  #     index : item number

  #--------------------------------------------------------------------------

  def draw_item(index)

    item = @data[index]

    x = 4

    y = index *32

    case item

    when RPG::Weapon

      number = $game_party.weapon_number(item.id)

    when RPG::Armor

      number = $game_party.shield_number(item.id)

    end

    bitmap = RPG::Cache.icon(item.icon_name)

    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))

    self.contents.font.color = normal_color

    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)

    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)

    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 1)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

Window_EquipLeft:
Code:
#==============================================================================

# ** Window_EquipLeft

#------------------------------------------------------------------------------

#  This window displays actor parameter changes on the equipment screen.

#==============================================================================

 

class Window_EquipLeft < Window_Base

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(80, 160, 300, 400)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    draw_actor_graphic(@actor, 20, 70)

    draw_actor_name(@actor, 4, 0)

    draw_actor_parameter(@actor, 4, 90, 0)

    draw_actor_parameter(@actor, 4, 110, 1)

    draw_actor_parameter(@actor, 4, 130, 2)

    draw_actor_parameter(@actor, 4, 160, 3)

    draw_actor_parameter(@actor, 4, 180, 4)

    draw_actor_parameter(@actor, 4, 200, 5)

    draw_actor_parameter(@actor, 4, 220, 6)

    if @new_atk != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 90, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 90, 36, 32, @new_atk.to_s, 2)

    end

    if @new_pdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 110, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 110, 36, 32, @new_pdef.to_s, 2)

    end

    if @new_mdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 130, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 130, 36, 32, @new_mdef.to_s, 2)

    end

    if @new_str != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 160, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 160, 36, 32, @new_str.to_s, 2)

    end

    if @new_dex != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 180, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 180, 36, 32, @new_dex.to_s, 2)

    end 

    if @new_agi != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 200, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 200, 36, 32, @new_agi.to_s, 2)

    end

    if @new_int != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 220, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 220, 36, 32, @new_int.to_s, 2)

    end

  end

  #--------------------------------------------------------------------------

  # * Set parameters after changing equipment

  #     new_atk  : attack power after changing equipment

  #     new_pdef : physical defense after changing equipment

  #     new_mdef : magic defense after changing equipment

  #--------------------------------------------------------------------------

  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or new_str != new_str or new_dex != new_dex or new_agi != new_agi or new_int != new_int 

      @new_atk = new_atk

      @new_pdef = new_pdef

      @new_mdef = new_mdef

      @new_str = new_str

      @new_dex = new_dex

      @new_agi = new_agi

      @new_int = new_int

      refresh

    end

  end

end

 

Window_EquipRight:
Code:
#==============================================================================

# ** Window_EquipRight

#------------------------------------------------------------------------------

#  This window displays items the actor is currently equipped with on the

#  equipment screen.

#==============================================================================

 

class Window_EquipRight < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(0, 64, 380, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

    self.index = 0

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    @data = []

    @data.push($data_weapons[@actor.weapon_id])

    @data.push($data_armors[@actor.armor1_id])

    @item_max = @data.size

    self.contents.font.color = system_color

    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)

    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)

    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)

    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)

    self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)

    draw_item_name(@data[0], 92, 32 * 0)

    draw_item_name(@data[1], 92, 32 * 1)

    draw_item_name(@data[2], 92, 32 * 2)

    draw_item_name(@data[3], 92, 32 * 3)

    draw_item_name(@data[4], 92, 32 * 4)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

Scene_Equip:
Code:
#==============================================================================

# ** Scene_Equip

#------------------------------------------------------------------------------

#  This class performs equipment screen processing.

#==============================================================================

 

class Scene_Equip

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor_index : actor index

  #     equip_index : equipment index

  #--------------------------------------------------------------------------

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

    @equip_index = equip_index

  end

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make windows

    @help_window = Window_Help.new

    @left_window = Window_EquipLeft.new(@actor)

    @right_window = Window_EquipRight.new(@actor)

    @item_window1 = Window_EquipItem.new(@actor, 0)

    @item_window2 = Window_EquipItem.new(@actor, 1)

    @item_window3 = Window_EquipItem.new(@actor, 2)

    @item_window4 = Window_EquipItem.new(@actor, 3)

    @item_window5 = Window_EquipItem.new(@actor, 4)

    # Associate help window

    @right_window.help_window = @help_window

    @item_window1.help_window = @help_window

    @item_window2.help_window = @help_window

    @item_window3.help_window = @help_window

    @item_window4.help_window = @help_window

    @item_window5.help_window = @help_window

    # Set cursor position

    @right_window.index = @equip_index

    refresh

    # 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

    # Dispose of windows

    @help_window.dispose

    @left_window.dispose

    @right_window.dispose

    @item_window1.dispose

    @item_window2.dispose

    @item_window3.dispose

    @item_window4.dispose

    @item_window5.dispose

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    # Set item window to visible

    @item_window1.visible = (@right_window.index == 0)

    @item_window2.visible = (@right_window.index == 1)

    @item_window3.visible = (@right_window.index == 2)

    @item_window4.visible = (@right_window.index == 3)

    @item_window5.visible = (@right_window.index == 4)

    # Get currently equipped item

    item1 = @right_window.item

    # Set current item window to @item_window

    case @right_window.index

    when 0

      @item_window = @item_window1

    when 1

      @item_window = @item_window2

    when 2

      @item_window = @item_window3

    when 3

      @item_window = @item_window4

    when 4

      @item_window = @item_window5

    end

    # If right window is active

    if @right_window.active

      # Erase parameters for after equipment change

      @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)

    end

    # If item window is active

    if @item_window.active

      # Get currently selected item

      item2 = @item_window.item

      # Change equipment

      last_hp = @actor.hp

      last_sp = @actor.sp

      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)

      # Get parameters for after equipment change

      new_atk = @actor.atk

      new_pdef = @actor.pdef

      new_mdef = @actor.mdef

      new_str = @actor.str

      new_dex = @actor.dex

      new_agi = @actor.agi

      new_int = @actor.int

      # Return equipment

      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)

      @actor.hp = last_hp

      @actor.sp = last_sp

      # Draw in left window

      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    # Update windows

    @left_window.update

    @right_window.update

    @item_window.update

    refresh

    # If right window is active: call update_right

    if @right_window.active

      update_right

      return

    end

    # If item window is active: call update_item

    if @item_window.active

      update_item

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when right window is active)

  #--------------------------------------------------------------------------

  def update_right

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(2)

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # If equipment is fixed

      if @actor.equip_fix?(@right_window.index)

        # Play buzzer SE

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # Play decision SE

      $game_system.se_play($data_system.decision_se)

      # Activate item window

      @right_window.active = false

      @item_window.active = true

      @item_window.index = 0

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when item window is active)

  #--------------------------------------------------------------------------

  def update_item

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # Play equip SE

      $game_system.se_play($data_system.equip_se)

      # Get currently selected data on the item window

      item = @item_window.item

      # Change equipment

      @actor.equip(@right_window.index, item == nil ? 0 : item.id)

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      # Remake right window and item window contents

      @right_window.refresh

      @item_window.refresh

      return

    end

  end

end

 

 

These are all that I changed. There may be more that creates conditions to the equip scene, but no more that I have edited! This shall be enough fro you to help me!!

/Thank You
 
As expected, both errors, yes both of them, were located in Window_EquipItem. One of them, no, both of them should have never happen. For a moment I doubted you were serious about working on modifying this script...

[rgss]def draw_item(index)
    item = @data[index]
    x = 4
    y = index *32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.shield_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 1)
  end
[/rgss]

There's no shield_number, not even the original version included it. Use armor_number instead. Believe me, there's no need to change its name if that's something the end user won't ever see.

[rgss]if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors.kind == @equip_type-0
            @data.push($data_armors)
          end
        end
      end
    end
[/rgss]

After reading this piece of code I really got the impression that you gotta be kidding us... Substracting 0 to a variable value? Right, that's a revolutionary idea... Even the original code was right when it substracts 1 to @equip_type.
 
Well you were almost there. :D

First thing, since you're using only Armor and Weapon you need to change all of these. I had a quite a trouble figuring out which Equip was for what. Since Equip_Right in script is actually on Left and stuff like that. :D

Second you needed to modify Scene_Equip so that you shorten the number of item window variables (there is each window per item? :S lol for enterbrain XD) and also make some modifications so that it shows them correctly.

Equip_Item - This thing needed zero amount of work, you did it awesome. :)

Equip_Left - Also I touched nothing.

As I see now by testing this script you've changed shield into armor didn't you? :D

Well most of your problems are because armor array index is 3 and that's what bugged me a lot in this script (I don't know all of RGSS, I know SOME parts of it).

Anyways here I put all of your three scripts corrected in one big script, it should work now.


Code:
 

 

 

class Window_EquipItem < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor      : actor

  #     equip_type : equip region (0-3)

  #--------------------------------------------------------------------------

  def initialize(actor, equip_type)

    super(380, 100, 272, 200)

    @actor = actor

    @equip_type = equip_type

    @column_max = 1

    refresh

    self.active = false

    self.index = 1

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    if self.contents != nil

      self.contents.dispose

      self.contents = nil

    end

    @data = []

    # Add equippable weapons

    if @equip_type == 0

      weapon_set = $data_classes[@actor.class_id].weapon_set

      for i in 1...$data_weapons.size

        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)

          @data.push($data_weapons[i])

        end

      end

    end

    # Add equippable armor

    if @equip_type != 0

      armor_set = $data_classes[@actor.class_id].armor_set

      for i in 1...$data_armors.size

        if $game_party.armor_number(i) > 0 and armor_set.include?(i)

          #print $data_armors[i].kind

          if $data_armors[i].kind == @equip_type

            @data.push($data_armors[i])

          end

        end

      end

    end

    # Add blank page

    @data.push(nil)

    # Make a bit map and draw all items

    @item_max = @data.size

    self.contents = Bitmap.new(width - 20, row_max * 32)

    

    for i in 0...@item_max-1

      draw_item(i)

    end

  end

  #--------------------------------------------------------------------------

  # * Draw Item

  #     index : item number

  #--------------------------------------------------------------------------

  def draw_item(index)

    item = @data[index]

    x = 4

    y = index *32

    case item

    when RPG::Weapon

      number = $game_party.weapon_number(item.id)

    when RPG::Armor

      number = $game_party.armor_number(item.id) # I put this back to armor_number instead of shield_number

    end

    bitmap = RPG::Cache.icon(item.icon_name)

    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))

    self.contents.font.color = normal_color

    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)

    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)

    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 1)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

#==============================================================================

# ** Window_EquipLeft

#------------------------------------------------------------------------------

#  This window displays actor parameter changes on the equipment screen.

#==============================================================================

 

class Window_EquipLeft < Window_Base

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(80, 160, 300, 400)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    draw_actor_graphic(@actor, 20, 70)

    draw_actor_name(@actor, 4, 0)

    draw_actor_parameter(@actor, 4, 90, 0)

    draw_actor_parameter(@actor, 4, 110, 1)

    draw_actor_parameter(@actor, 4, 130, 2)

    draw_actor_parameter(@actor, 4, 160, 3)

    draw_actor_parameter(@actor, 4, 180, 4)

    draw_actor_parameter(@actor, 4, 200, 5)

    draw_actor_parameter(@actor, 4, 220, 6)

    if @new_atk != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 90, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 90, 36, 32, @new_atk.to_s, 2)

    end

    if @new_pdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 110, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 110, 36, 32, @new_pdef.to_s, 2)

    end

    if @new_mdef != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 130, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 130, 36, 32, @new_mdef.to_s, 2)

    end

    if @new_str != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 160, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 160, 36, 32, @new_str.to_s, 2)

    end

    if @new_dex != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 180, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 180, 36, 32, @new_dex.to_s, 2)

    end

    if @new_agi != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 200, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 200, 36, 32, @new_agi.to_s, 2)

    end

    if @new_int != nil

      self.contents.font.color = system_color

      self.contents.draw_text(160, 220, 40, 32, ">", 1)

      self.contents.font.color = normal_color

      self.contents.draw_text(200, 220, 36, 32, @new_int.to_s, 2)

    end

  end

  #--------------------------------------------------------------------------

  # * Set parameters after changing equipment

  #     new_atk  : attack power after changing equipment

  #     new_pdef : physical defense after changing equipment

  #     new_mdef : magic defense after changing equipment

  #--------------------------------------------------------------------------

  def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or new_str != new_str or new_dex != new_dex or new_agi != new_agi or new_int != new_int

      @new_atk = new_atk

      @new_pdef = new_pdef

      @new_mdef = new_mdef

      @new_str = new_str

      @new_dex = new_dex

      @new_agi = new_agi

      @new_int = new_int

      refresh

    end

  end

end

 

class Window_EquipRight < Window_Selectable

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor : actor

  #--------------------------------------------------------------------------

  def initialize(actor)

    super(0, 64, 380, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

    self.index = 0

  end

  #--------------------------------------------------------------------------

  # * Item Acquisition

  #--------------------------------------------------------------------------

  def item

    return @data[self.index]

  end

  #--------------------------------------------------------------------------

  # * Refresh

  # Remade this part... armor is for @actor.armor3_id not @actor.armor1_id

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    @data = []

    @data.push($data_weapons[@actor.weapon_id])

    @data.push($data_armors[@actor.armor3_id])

    @item_max = @data.size

    self.contents.font.color = system_color

    self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)

    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor3)

    draw_item_name(@data[0], 92, 32 * 0)

    draw_item_name(@data[1], 92, 32 * 1)

  end

  #--------------------------------------------------------------------------

  # * Help Text Update

  #--------------------------------------------------------------------------

  def update_help

    @help_window.set_text(self.item == nil ? "" : self.item.description)

  end

end

 

class Scene_Equip

  #--------------------------------------------------------------------------

  # * Object Initialization

  #     actor_index : actor index

  #     equip_index : equipment index

  #--------------------------------------------------------------------------

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

    @equip_index = equip_index

  end

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make windows

    @help_window = Window_Help.new

    @left_window = Window_EquipLeft.new(@actor)

    @right_window = Window_EquipRight.new(@actor)

    @item_window1 = Window_EquipItem.new(@actor, 0)

    @item_window2 = Window_EquipItem.new(@actor, 2)

    # Associate help window

    @right_window.help_window = @help_window

    @item_window1.help_window = @help_window

    @item_window2.help_window = @help_window

    # Set cursor position

    @right_window.index = @equip_index

    refresh

    # 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

    # Dispose of windows

    @help_window.dispose

    @left_window.dispose

    @right_window.dispose

    @item_window1.dispose

    @item_window2.dispose

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    # Set item window to visible

    @item_window1.visible = (@right_window.index == 0)

    @item_window2.visible = (@right_window.index == 1)

    # Get currently equipped item

    item1 = @right_window.item

    # Set current item window to @item_window

    case @right_window.index

    when 0

      @item_window = @item_window1

    when 1

      @item_window = @item_window2

    end

    # If right window is active

    if @right_window.active

      # Erase parameters for after equipment change

      @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)

    end

    # If item window is active

    if @item_window.active

      # Get currently selected item

      item2 = @item_window.item

      # Change equipment

      last_hp = @actor.hp

      last_sp = @actor.sp

      @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)

      # Get parameters for after equipment change

      new_atk = @actor.atk

      new_pdef = @actor.pdef

      new_mdef = @actor.mdef

      new_str = @actor.str

      new_dex = @actor.dex

      new_agi = @actor.agi

      new_int = @actor.int

      # Return equipment

      @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)

      @actor.hp = last_hp

      @actor.sp = last_sp

      # Draw in left window

      @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int)

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    # Update windows

    @left_window.update

    @right_window.update

    @item_window.update

    refresh

    # If right window is active: call update_right

    if @right_window.active

      update_right

      return

    end

    # If item window is active: call update_item

    if @item_window.active

      update_item

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when right window is active)

  #--------------------------------------------------------------------------

  def update_right

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(2)

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # If equipment is fixed

      if @actor.equip_fix?(@right_window.index)

        # Play buzzer SE

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # Play decision SE

      $game_system.se_play($data_system.decision_se)

      # Activate item window

      @right_window.active = false

      @item_window.active = true

      @item_window.index = 0

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different equipment screen

      $scene = Scene_Equip.new(@actor_index, @right_window.index)

      return

    end

  end

  #--------------------------------------------------------------------------

  # * Frame Update (when item window is active)

  #--------------------------------------------------------------------------

  def update_item

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      

      # Play equip SE

      $game_system.se_play($data_system.equip_se)

      #print @right_window.index

      # Get currently selected data on the item window

      item = @item_window.item

      # Change equipment

      # Using a little math cheating since you have only 2 items for equipment. First is a weapon with index 0 (0 * 3 = 0) and 

      # armor which is on actual position 3 but @right_window.index is 1 (1 * 3= 3) :D

      @actor.equip(@right_window.index * 3, item == nil ? 0 : item.id) 

      # Activate right window

      @right_window.active = true

      @item_window.active = false

      @item_window.index = -1

      # Remake right window and item window contents

      @right_window.refresh

      @item_window.refresh

      return

    end

  end

end

 

 

EDIT:


kyonides":61kxvzlh said:
As expected, both errors, yes both of them, were located in Window_EquipItem. One of them, no, both of them should have never happen. For a moment I doubted you were serious about working on modifying this script...

There's no shield_number, not even the original version included it. Use armor_number instead. Believe me, there's no need to change its name if that's something the end user won't ever see.

After reading this piece of code I really got the impression that you gotta be kidding us... Substracting 0 to a variable value? Right, that's a revolutionary idea... Even the original code was right when it substracts 1 to @equip_type.

Ok kyonides cut him some slack, not everybody is awesome at the first try at scripting! Even I sucked at the begining. And that includes you, even NearFantastica started out as a noob. Don't discourage people just because they are TRYING to do something.

Subtracting 0 to a variable value? so what? I'm sure you did some mistakes too. Dude this forum isn't for your personal fame and fortune, if somebody started scripting (and you/most of people start scripting by EDITING scripts) you don't know stuff like that, eventually he will get better, who knows? Maybe even better than two of us put together? Are you going to say then stuff like "you gotta be kidding us"?

Chill down man. :)
 
kyonides":1397d35q said:
As expected, both errors, yes both of them, were located in Window_EquipItem. One of them, no, both of them should have never happen. For a moment I doubted you were serious about working on modifying this script

Ok seriously, this WAS actually really the first time ever makinga a total custom menu and custom stuff for me, it took me liken 1 day of like 6-8 Hours finishing it. IMagine the first time you tried scripting. But anyway, thank you both of you, it is now working wonders! Also the whole thing with the Equip_Type -0 changed to '-1' didn't change anyrhing AT ALL: therefore the 'zero' indicator there.

And If I encounter any other problems, I will return.

Thank You :)
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top