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.

Compact Menu

Compact Menu
Version: 1.2

Introduction
This is an All in One menu where you can use item equipment and skill.
Now with all the equipment type.

Screenshot
http://img508.imageshack.us/img508/9061/cmzo4.png[/img]

Demo
Download 1.1(with only armor and weapon usable)
Download 1.2
Script

Code:
#==============================================================================
# ** Compact Menu
#------------------------------------------------------------------------------
#  Autor: The Sleeping Leonhart
#  Version: 1.2
#  Release Date: 26/07/2008
#------------------------------------------------------------------------------
#  Description:
#    This is an All in One menu where you can use item equipment and skill.
#------------------------------------------------------------------------------
#  Istruzioni:
#    Edit the images to suit tastes.
#    You must put the images of party in the Picture
#    and you must call it like the Battler graphic.
#==============================================================================

class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

class Window_Base < Window
  def draw_actor_exps(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 28, 32, "Exp")
    self.contents.font.color = normal_color
    if actor.now_exp != 0
      text = (actor.now_exp.to_f / actor.next_exp.to_f)*100.00
      text = text.round
    else
      text = 0
    end
    self.contents.draw_text(x + 40, y, 84, 32, text.to_s+"%")
  end
  def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = $data_system.words.atk
      parameter_value = actor.atk
    when 1
      parameter_name = $data_system.words.pdef
      parameter_value = actor.pdef
    when 2
      parameter_name = $data_system.words.mdef
      parameter_value = actor.mdef
    when 3
      parameter_name = $data_system.words.str
      parameter_value = actor.str
    when 4
      parameter_name = $data_system.words.dex
      parameter_value = actor.dex
    when 5
      parameter_name = $data_system.words.agi
      parameter_value = actor.agi
    when 6
      parameter_name = $data_system.words.int
      parameter_value = actor.int
    when 7
      parameter_name = "Evasion"
      parameter_value = actor.eva
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 88, y, 36, 32, parameter_value.to_s, 2)
  end
end

class Window_MenuStatus < Window_Selectable
  def initialize(actor)
    super(220, 48, 480, 96+32)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @actor = actor
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = 1
    x = 0
    y = 0
    actor = @actor
    self.contents.font.size = 18
    draw_actor_name(actor, x, y)
    draw_actor_hp(actor, x + 92, y)
    draw_actor_sp(actor, x + 236, y)
    draw_actor_state(actor, x, y + 18)
    draw_actor_level(actor, x, y + 36)
    draw_actor_exps(actor, x, y + 54) 
    draw_actor_parameter(actor, x + 92, y + 16, 0)
    draw_actor_parameter(actor, x + 92, y + 32, 1)
    draw_actor_parameter(actor, x + 92, y + 48, 2)
    draw_actor_parameter(actor, x + 92, y + 64, 6)
    draw_actor_parameter(actor, x + 236, y + 16, 3)
    draw_actor_parameter(actor, x + 236, y + 32, 4)
    draw_actor_parameter(actor, x + 236, y + 48, 5)
    draw_actor_parameter(actor, x + 236, y + 64, 7)
  end
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 96, self.width - 32, 96)
    end
  end
end

class Window_MenuSkill < Window_Selectable
  def initialize(actor)
    super(287, 299, 278, 56)
    @actor = actor
    @column_max = 10
    @row_max = 1
    refresh
    self.opacity = 0
    self.index = 0
  end
  def skill
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 0...@actor.skills.size
      skill = $data_skills[@actor.skills[i]]
      if skill != nil
        @data.push(skill)
      end
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width-32, row_max*32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  def draw_item(index)
    skill = @data[index]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = index % 10 * 24
    y = index / 10 * 24
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(skill.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x+12,y+8,128,24,skill.sp_cost.to_s)
  end
  def update_help
    @help_window.set_text(self.skill == nil ? "" : self.skill.name+": "+self.skill.description)
  end
  def update_cursor_rect
    if self.active
      self.cursor_rect.set(@index % 10 * 24, 0, 24, 24)
      self.oy = index / 10 * 24
    else
      self.cursor_rect.set(0, 0, 0, 0)
    end
  end
end

class Window_MenuItem < Window_Selectable
  def initialize
    super(287, 355, 278, 56+24)
    @column_max = 10
    refresh
    self.index = 0
    self.opacity = 0
  end
  def item
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = index % 10 * 24
    y = index / 10 * 24
    rect = Rect.new(x, y, 24, 24)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 12, y + 4, 24, 32, number.to_s)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)
  end
  def update_cursor_rect
    if self.active
      if @index < 0
        self.cursor_rect.empty
        return
      end
      row = @index / @column_max
      if row < self.top_row
        self.top_row = row
      end
      if row > self.top_row + 1
        self.top_row = row - 1
      end
      cursor_width = self.width / @column_max - 32
      self.oy = (self.oy/32)*24
      x = @index % @column_max * 24
      y = @index / @column_max * 24 - (self.oy/24)*24
      self.cursor_rect.set(x, y, 24, 24)
     else
      self.cursor_rect.set(0, 0, 0, 0)
    end
  end
end

class Window_Target < Window_Selectable
  def initialize
    super(0, 0, $game_party.actors.size*48+32, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z += 10
    @column_max = @item_max = $game_party.actors.size
    refresh
  end
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      x = 48*i+24
      y = 52
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x, y)
    end
  end
  def update_cursor_rect
    if @index <= -2
      self.cursor_rect.set((@index + 10) * 48, 0, 48, 64)
    elsif @index == -1
      self.cursor_rect.set(0, 0, @item_max * 48, 64)
    else
      self.cursor_rect.set(@index * 48, 0, 48, 64)
    end
  end
end

class Window_MenuEquipped < Window_Selectable
  def initialize(actor)
    super(272, 158, 368, 26*2+32)
    self.contents = Bitmap.new(width - 32, 32 * 5 - 32)
    self.opacity = 0
    self.active = false
    self.index = 0
    @item_max = 5
    @column_max = 1
    @actor = actor
    refresh
  end
  def item
    return @data[self.index]
  end
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    self.contents.font.size = 16
    self.contents.draw_text(16, 26 * 0, 92, 32, $data_system.words.weapon)
    self.contents.draw_text(16, 26 * 1, 92, 32, $data_system.words.armor1)
    self.contents.draw_text(16, 26 * 2, 92, 32, $data_system.words.armor2)
    self.contents.draw_text(16, 26 * 3, 92, 32, $data_system.words.armor3)
    self.contents.draw_text(16, 26 * 4, 92, 32, $data_system.words.armor4)
    draw_item_name(@data[0], 92, 26 * 0)
    draw_item_name(@data[1], 92, 26 * 1)
    draw_item_name(@data[2], 92, 26 * 2)
    draw_item_name(@data[3], 92, 26 * 3)
    draw_item_name(@data[4], 92, 26 * 4)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)
  end
  
  def update_cursor_rect
    if self.active
      y = @index % 2 * 26
      self.cursor_rect.set(12, y + 9, 244, 16)
      self.oy = (@index - @index % 2) * 26 
    else
      self.cursor_rect.set(0, 0, 0, 0)
    end
  end
end

class Window_MenuEquip < Window_Selectable
  def initialize(actor, type)
    super(287, 243-24, 272, 80)
    @actor = actor
    @column_max = 10
    @row_max = 2
    @equip_type = type
    self.index = 0
    self.opacity = 0
    self.active = false
    refresh
  end
  def item
    return @data[self.index]
  end
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    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
    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-1
            @data.push($data_armors[i])
          end
        end
      end
    end
    @data.push(nil)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max-1
      draw_item(i)
    end
  end
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    x = index % 10 * 24
    y = index / 10 * 24
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.font.size = 14
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x+12,y+8,128,24, number.to_s)
  end
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.name+": "+self.item.description)
  end
  def update_cursor_rect
    if self.active
      self.cursor_rect.set(@index % 10 * 24, 0, 24, 24)
      self.oy = index / 10 * 24
    else
      self.cursor_rect.set(0, 0, 0, 0)
    end
  end
end

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @actor_index = 0
    @target = ""
    scene_window
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    scene_dispose
  end
  
  def scene_window
    @actor = $game_party.actors[@actor_index]
    @map = Spriteset_Map.new
    @bg = Sprite.new
    @bg.bitmap = Bitmap.new("Graphics/Pictures/MenuBG")
    @pg = Sprite.new
    @pg.bitmap = Bitmap.new("Graphics/Pictures/"+@actor.battler_name)
    @pg.y = 64
    @arrow = Sprite.new
    @arrow.x = 264
    @arrow.y = 170
    @arrow.bitmap = Bitmap.new("Graphics/Pictures/Arrow")
    @lr = Sprite.new
    @lr.bitmap = Bitmap.new("Graphics/Pictures/LR") if $game_party.actors.size > 1
    s1 = ""
    @command_window = Window_Command.new(160, [s1, s1, s1, s1, s1])
    @menu_index = 3 if @menu_index == 4
    @menu_index = 4 if @menu_index == 5
    @command_window.index = @menu_index
    @command_window.visible = false
    if $game_party.actors.size == 0
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    if $game_system.save_disabled
      @command_window.disable_item(4)
    end
    @help_window = Window_Help.new
    @help_window.opacity = 0
    @item_window = Window_MenuItem.new
    @skill_window = Window_MenuSkill.new(@actor)
    @status_window = Window_MenuStatus.new(@actor)
    @target_window = Window_Target.new
    @right_window = Window_MenuEquipped.new(@actor)
    @item_window1 = Window_MenuEquip.new(@actor, 0)
    @item_window2 = Window_MenuEquip.new(@actor, 1)
    @item_window3 = Window_MenuEquip.new(@actor, 2)
    @item_window4 = Window_MenuEquip.new(@actor, 3)
    @item_window5 = Window_MenuEquip.new(@actor, 4)
    @skill_window.help_window = @help_window
    @item_window.help_window = @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
    @item_equip_window = @item_window1
    @item_window1.visible = false
    @item_window2.visible = false
    @item_window3.visible = false
    @item_window4.visible = false
    @item_window5.visible = false
    @item_window.active = false
    @help_window.visible = false
    @skill_window.active = false
    @target_window.visible = false
    @target_window.active = false
  end
  
  def scene_dispose
    @command_window.dispose
    @item_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    @skill_window.dispose
    @status_window.dispose
    @target_window.dispose
    @right_window.dispose
    @help_window.dispose
    @map.dispose
    @bg.dispose
    @pg.dispose
    @arrow.dispose
    @lr.dispose
  end
  
  def update
    @command_window.update
    @item_window.update
    @item_window1.update
    @item_window2.update
    @item_window3.update
    @item_window4.update
    @item_window5.update
    @skill_window.update
    @status_window.update
    @target_window.update
    @right_window.update
    @map.update
    case @right_window.index
    when 0
      @item_equip_window.visible = false
      @item_equip_window = @item_window1
      @item_equip_window.visible = true
    when 1      
      @item_equip_window.visible = false
      @item_equip_window = @item_window2
      @item_equip_window.visible = true
    when 2      
      @item_equip_window.visible = false
      @item_equip_window = @item_window3
      @item_equip_window.visible = true
    when 3      
      @item_equip_window.visible = false
      @item_equip_window = @item_window4
      @item_equip_window.visible = true
    when 4
      @item_equip_window.visible = false
      @item_equip_window = @item_window5
      @item_equip_window.visible = true
    end    
    if $game_party.actors.size > 1
      if Input.trigger?(Input::R)
        $game_system.se_play($data_system.cursor_se)
        @actor_index += 1
        @actor_index %= $game_party.actors.size
        scene_dispose
        scene_window
        return
      end
      if Input.trigger?(Input::L)
        $game_system.se_play($data_system.cursor_se)
        @actor_index += $game_party.actors.size - 1
        @actor_index %= $game_party.actors.size
        scene_dispose
        scene_window
        return
      end
    end
    if @command_window.active
      update_command
      return
    end
    if @item_window.active
      update_item
      return
    end
    if @skill_window.active
      update_skill
      return
    end
    if @right_window.active
      update_right
      return
    end
    if @item_equip_window.active
      update_equip_item
      return
    end
    if @target_window.active
      update_item_target if @target == "item"
      update_skill_target if @target == "skill"
      return
    end
  end
  
  def update_command
    case @command_window.index
    when 2
      @help_window.set_text("Show and use item.")
      @arrow.x = 264
      @arrow.y = 360
    when 1
      @help_window.set_text("Show and use Skill.")
      @arrow.x = 264
      @arrow.y = 300
    when 0
      @help_window.set_text("Equip Weapon and Armor.")
      @arrow.x = 264
      @arrow.y = 170
    when 3
      @help_window.set_text("Save the game progress.")
      @arrow.x = 556
      @arrow.y = 464
    when 4
      @help_window.set_text("Exit.")
      @arrow.x = 590
      @arrow.y = 464
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @item_window.active = true
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @skill_window.active = true
      when 0
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @right_window.active = true
      when 3
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 4
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end  
  
  def update_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @item_window.active = false
      @item_window.help_window.visible = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      @item = @item_window.item
      unless @item.is_a?(RPG::Item)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      unless $game_party.item_can_use?(@item.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      if @item.scope >= 3
        @item_window.active = false
        @target_window.x = 287
        @target_window.y = 355
        @target_window.visible = true
        @target_window.active = true
        @target = "item"
        if @item.scope == 4 || @item.scope == 6
          @target_window.index = -1
        else
          @target_window.index = 0
        end
      else
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $game_system.se_play(@item.menu_se)
          if @item.consumable
            $game_party.lose_item(@item.id, 1)
            @item_window.draw_item(@item_window.index)
          end
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end

  def update_item_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      unless $game_party.item_can_use?(@item.id)
        @item_window.refresh
      end
      @target = ""
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.item_number(@item.id) == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @target_window.index == -1
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      if @target_window.index >= 0
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      if used
        $game_system.se_play(@item.menu_se)
        if @item.consumable
          $game_party.lose_item(@item.id, 1)
          @item_window.draw_item(@item_window.index)
        end
        @target_window.refresh
        if $game_party.all_dead?
          $scene = Scene_Gameover.new
          return
        end
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $scene = Scene_Map.new
          return
        end
        @status_window.refresh
      end
      unless used
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
  
  def update_skill
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @skill_window.active = false
      @skill_window.help_window.visible = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      @skill = @skill_window.skill
      if @skill == nil or not @actor.skill_can_use?(@skill.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      if @skill.scope >= 3
        @skill_window.active = false
        @target_window.x = 287
        @target_window.y = 299
        @target_window.visible = true
        @target_window.active = true
        @target = "skill"
        if @skill.scope == 4 || @skill.scope == 6
          @target_window.index = -1
        elsif @skill.scope == 7
          @target_window.index = @actor_index - 10
        else
          @target_window.index = 0
        end
      else
        if @skill.common_event_id > 0
          $game_temp.common_event_id = @skill.common_event_id
          $game_system.se_play(@skill.menu_se)
          @status_window.refresh
          @skill_window.refresh
          @target_window.refresh
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end
  
  def update_skill_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @skill_window.active = true
      @target_window.visible = false
      @target_window.active = false
      @target = ""
      return
    end
    if Input.trigger?(Input::C)
      unless @actor.skill_can_use?(@skill.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @target_window.index == -1
        used = false
        for i in $game_party.actors
          used |= i.skill_effect(@actor, @skill)
        end
      end
      if @target_window.index <= -2
        target = $game_party.actors[@target_window.index + 10]
        used = target.skill_effect(@actor, @skill)
      end
      if @target_window.index >= 0
        target = $game_party.actors[@target_window.index]
        used = target.skill_effect(@actor, @skill)
      end
      if used
        $game_system.se_play(@skill.menu_se)
        @actor.sp -= @skill.sp_cost
        @status_window.refresh
        @skill_window.refresh
        @target_window.refresh
        if $game_party.all_dead?
          $scene = Scene_Gameover.new
          return
        end
        if @skill.common_event_id > 0
          $game_temp.common_event_id = @skill.common_event_id
          $scene = Scene_Map.new
          return
        end
      end
      unless used
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end  
  
  def update_right
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @right_window.active = false
      @right_window.help_window.visible = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      if @actor.equip_fix?(@right_window.index)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      @right_window.active = false
      @item_equip_window.active = true
      return
    end
  end
  
  def update_equip_item
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @right_window.active = true
      @item_equip_window.help_window.visible = false
      @item_equip_window.active = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.equip_se)
      type = @right_window.index
      item = @item_equip_window.item
      @actor.equip(type, item == nil ? 0 : item.id)
      @right_window.active = true
      @item_equip_window.active = false
      @right_window.refresh
      @item_equip_window.refresh
      @status_window.refresh
      return
    end
  end
end
Instructions
Edit the images to suit tastes.
You must put the images of party in the Pictures and you must call it like the Battler graphic.
Download the demo to take the "Basic" graphic.

Compatibility
Dont know.
 

Noru

Member

Nice work, I'm downloading right now :thumb:. Anyways I would also like to know where you got those battlers
 
Hi, i'm still new at this forum as well as in rpgmaker,..
and i know nothing about scripting and stuf,..

first of all, this menu is rock!
i like it a lot!

now, had some problem,
i made some experiment with the script to allow me to equip Accessory in this menu,.
it works all fine at first,.
the menu display it perfectly, i've made it new sub menu below the Body Armor,
and i've made it to display the Accessory item type when i choosed the sub menu,
but when i choose an item to equip,..
ex: i choosed ring of agility,
but the equipped accessory is not changing,
instead, the equipped weapon is changing to a weapon that supposed to be unequipable by the hero class,..

can you help me with this?
i hope you know what i mean, since my english is so bad..

thank you! :D
 
This is pretty nice. The way it's set up reminds me of an online RPG for some reason, but it's neat to have all the information right there, without needlessly paging through 10 different menu screens.
 
@mochethecha: i can try to do that for you ;)
@venetia: Thank you
@asmcrazy: search
self.contents.font.color =
and put Color.new(red,green,blue) after the =
red green & blue are numeric value (from 0 to 255)
 
one silly little thing thats totally bugging me: Why is INT under MDEF? Why not have all the Equip stats on one side and all the character bas stats on the other? (Swap Evasion and INT's location) ... it would make more sense >>
 

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