VXACEBrand New - Grand Menu
BMM_Archive · July 15, 2026
Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.
Original Source
- Original title: Brand New - Grand Menu
- Original author: RupamOntherocks
- Original date: July 30, 2016
- Source thread: https://forums.rpgmakerweb.com/threads/brand-new-grand-menu.66113/
- Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS3 Scripts (RMVX Ace)
Summary
Hi, after a long time, I'm posting a new menu script. It's my second script. This is menu script, with many customization. This script require another script called "GUI Configuration". That's all, plug and play.
Archived First Post
Hi, after a long time, I'm posting a new menu script. It's my second script.
This is menu script, with many customization.
This script require another script called "GUI Configuration".
That's all, plug and play.
If you want to change any adjustment just go through the script. I made it very simple.
Features:
1. Extra Windows:
Displays variables(2 variable display window - I used it as Game Progress(Var1) and Charisma(Var2), map name window, current party size, playtime, battle count and save count.
2. Icons:Â Each command will have an icon. Default commands already have their own. But if you added a new command then you have to do this simple thing :
Go to "GUI Config" script and go to line number 153. There are the command names.
Like this -Â "Items" Â Â Â Â => 260,
You just have to add another line.
Suppose you are using Modern Algebras Quest Journal script and it will be automatically added to the menu. Then you have to add this line there -Â "Quests" Â Â Â Â => 100,
(100 or whatever Icon you want to use)
3. Help Window: Each command items have their information in the help window.
Just like the icon section, you have to do a little adjustment here too.
Suppose yoou are using Quest Journal script, and the Quest command is automatically added to the menu, then.. all you have to do is go to script "Grand Menu" then go to line number 119, there you will see the help text module. You have to add there Quest help text. You just have put the help text in the right place.
4. Show only current HP and MP, I removed Max values.
5. Experience Bar. When some one is at level 99 it will show "Max"
6. Displaying character graphics instead of face.
Special thanks:
Nicke - I got the idea of the menu layout from Nicke's "Menu Delux"
Soulpour - Helped with the "Help Window".
Note:Â
1. This menu is best for 640x480 resolution. If you use it in default 544x416 resolution windows will not be shown properly.
I made this in 640x480 for getting a bigger but compact view.
2. If you are using Black Morning's scripts you have to adjust the position of "Level" in the menu script.
If anyone finds any bug must reply here.
GUI Configuration:
This is menu script, with many customization.
This script require another script called "GUI Configuration".
That's all, plug and play.
If you want to change any adjustment just go through the script. I made it very simple.
Features:
1. Extra Windows:
Displays variables(2 variable display window - I used it as Game Progress(Var1) and Charisma(Var2), map name window, current party size, playtime, battle count and save count.
2. Icons:Â Each command will have an icon. Default commands already have their own. But if you added a new command then you have to do this simple thing :
Go to "GUI Config" script and go to line number 153. There are the command names.
Like this -Â "Items" Â Â Â Â => 260,
You just have to add another line.
Suppose you are using Modern Algebras Quest Journal script and it will be automatically added to the menu. Then you have to add this line there -Â "Quests" Â Â Â Â => 100,
(100 or whatever Icon you want to use)
3. Help Window: Each command items have their information in the help window.
Just like the icon section, you have to do a little adjustment here too.
Suppose yoou are using Quest Journal script, and the Quest command is automatically added to the menu, then.. all you have to do is go to script "Grand Menu" then go to line number 119, there you will see the help text module. You have to add there Quest help text. You just have put the help text in the right place.
4. Show only current HP and MP, I removed Max values.
5. Experience Bar. When some one is at level 99 it will show "Max"
6. Displaying character graphics instead of face.
Special thanks:
Nicke - I got the idea of the menu layout from Nicke's "Menu Delux"
Soulpour - Helped with the "Help Window".
Note:Â
1. This menu is best for 640x480 resolution. If you use it in default 544x416 resolution windows will not be shown properly.
I made this in 640x480 for getting a bigger but compact view.
2. If you are using Black Morning's scripts you have to adjust the position of "Level" in the menu script.
If anyone finds any bug must reply here.
GUI Configuration:
#==============================================================================
# ** GUI Configuration
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
class Window_Base < Window
 #----------------------------------------------------------------------------
 # * Object Initialization
 #----------------------------------------------------------------------------
 def initialize(x, y, width, height)
  super
  self.windowskin = Cache.system("Window")
  self.back_opacity = 255
  self.opacity = 255
  update_padding
  update_tone
  create_contents
  @opening = @closing = false
 end
 #----------------------------------------------------------------------------
 # * Draw Gauge
 #   rate  : Rate (full at 1.0)
 #   color1 : Left side gradation
 #   color2 : Right side gradation
 #----------------------------------------------------------------------------
 def draw_gauge(x, y, width, rate, color1, color2)
  fill_w = (width * rate).to_i
  gauge_y = y + line_height - 8
  contents.fill_rect(x, gauge_y, width, 12, gauge_back_color)
  contents.gradient_fill_rect(x, gauge_y, fill_w, 12, color1, color2)
 end
 #----------------------------------------------------------------------------
 # * Draw Current Value in Fractional Format
 #   current : Current value
 #   color1  : Color of current value
 #   color2  : Color of maximum value
 #----------------------------------------------------------------------------
 def draw_current_value(x, y, width, current, color1, color2)
  change_color(color1)
  xr = x + width
  if width < 96
   draw_text(xr - 40, y, 42, line_height, current, 2)
  else
   draw_text(xr - 42, y + 6, 42, line_height, current, 2)
   change_color(color2)
  end
 end
 #----------------------------------------------------------------------------
 # * Draw HP
 #----------------------------------------------------------------------------
 def draw_actor_hp(actor, x, y, width = 160)
  draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  change_color(system_color)
  draw_text(x + 2, y + 6, 30, line_height, Vocab::hp_a)
  draw_current_value(x, y, width, actor.hp, hp_color(actor), normal_color)
 end
 #----------------------------------------------------------------------------
 # * Draw MP
 #----------------------------------------------------------------------------
 def draw_actor_mp(actor, x, y, width = 160)
  draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  change_color(system_color)
  draw_text(x + 2, y + 6, 30, line_height, Vocab::mp_a)
  draw_current_value(x, y, width, actor.mp, mp_color(actor), normal_color)
 end
 #----------------------------------------------------------------------------
 # * Draw Simple Status
 #----------------------------------------------------------------------------
 def draw_actor_simple_status(actor, x, y)
  draw_actor_name(actor, x, y)
  draw_actor_level(actor, x, y + line_height * 1)
  draw_actor_icons(actor, x, y + line_height * 2)
  draw_actor_class(actor, x + 120, y)
  draw_actor_hp(actor, x + 120, y + line_height * 1)
  draw_actor_mp(actor, x + 120, y + line_height * 2)
 end
 #----------------------------------------------------------------------------
 # * Draw Level
 #----------------------------------------------------------------------------
 def draw_actor_level(actor, x, y)
  change_color(system_color)
  draw_text(x, y, 32, line_height, "Lv.")
  change_color(normal_color)
  draw_text(x + 20, y, 24, line_height, actor.level, 0)
 end
 #--------------------------------------------------------------------------
 # * Draw State and Buff/Debuff Icons
 #--------------------------------------------------------------------------
 def draw_actor_icons(actor, x, y, width = 96)
  icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
  icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
 end
 #============================================================================
 # ** Experience Gauge
 #----------------------------------------------------------------------------
 # * Get Text Colors
 #----------------------------------------------------------------------------
 def exp_gauge_color1;    text_color(11);  end;  # EXP gauge added lower half
 def exp_gauge_color2;    text_color(3);  end;  # EXP gauge added upper half
 def exp_gauge_back_color;  text_color(19);  end;  # EXP Gauge background
 #----------------------------------------------------------------------------
 # * Draw exp Gauge
 #   rate  : Rate (full at 1.0)
 #   color1 : Left side gradation
 #   color2 : Right side gradation
 #----------------------------------------------------------------------------
 def draw_expgauge(x, y, width, rate, color1, color2)
  fill_w = (width * rate).to_i
  gauge_y = y + line_height - 8
  contents.fill_rect(x, gauge_y, width, 12, exp_gauge_back_color)
  contents.gradient_fill_rect(x, gauge_y, fill_w, 12, color1, color2)
 end
 #----------------------------------------------------------------------------
 # * Draw EXP  This is the exp info to be drawn on the "menu" status
 #----------------------------------------------------------------------------
 def draw_exp(actor, x, y, width = 160)
    s1 = actor.max_level? ? "Max" : actor.exp
    s2 = actor.max_level? ? "0" : actor.next_level_exp - actor.exp
    if actor.max_level? ?
     draw_expgauge(x, y, width, 1, exp_gauge_color1, exp_gauge_color2) :
     draw_gauge(x, y,width,((((actor.exp - actor.current_level_exp).to_f/100) / ((actor.next_level_exp.to_f - actor.current_level_exp.to_f)/100))), Â
     exp_gauge_color1, exp_gauge_color2)
    end
    change_color(system_color)
    draw_text(x + 2, y + 6, 30, line_height, "XP")
    change_color(normal_color)
    if actor.max_level? ?
     draw_text(x + width - 72, y + 6, 72, line_height, "Max", 2) :
     draw_text(x + width - 72, y + 6, 72, line_height, actor.next_level_exp.to_i - actor.exp.to_i, 2)
    end
   end
  end
 #----------------------------------------------------------------------------
 # * Font Configuration
 #----------------------------------------------------------------------------
 Font.default_name    = ["Roboto Condensed"]  Â
 Font.default_size    = 20
 Font.default_bold    = false
 Font.default_italic   = false
 Font.default_shadow   = false
 Font.default_outline  = true
 Font.default_color   = Color.new(255,255,255,255)
 Font.default_out_color = Color.new(0,0,0,182)
 #----------------------------------------------------------------------------
 # * Graphics Resolution
 #----------------------------------------------------------------------------
 Graphics.resize_screen(640, 480)Â
#==============================================================================
# ** Command Icon
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
module Command_Icons
  #--------------------------------------------------------------------------
  # * Icon ID
  #--------------------------------------------------------------------------
  ICON_ID ={
  # Command Name   => Icon ID,
   "Items"     => 260,  Â
   "Skills"     => 143,  Â
   "Equipment"   => 436,  Â
   "Status"     => 121,
   "Formation"   =>  12,  Â
   "Save"      => 286,  Â
   "Game End"    => 368,
  }Â
  end
#==============================================================================
# ** Window_Command
#==============================================================================
class Window_MenuCommand < Window_Command
 #--------------------------------------------------------------------------
 # Use Icon
 #--------------------------------------------------------------------------
 def use_icon?(text)
  return Command_Icons::ICON_ID.include?(text)
 end
 #--------------------------------------------------------------------------
 # Command Icon
 #--------------------------------------------------------------------------
 def command_icon(text)
  return Command_Icons::ICON_ID[text]
 end
 #--------------------------------------------------------------------------
 # Draw Item
 #--------------------------------------------------------------------------
 def draw_item(index)
  enabled = command_enabled?(index)
  change_color(normal_color, enabled)
  rect = item_rect_for_text(index)
  text = command_name(index)
  if use_icon?(text)
   draw_icon_text(rect.clone, text, alignment, enabled)
  else
   draw_text(rect, text, alignment)
  end
 end
 #--------------------------------------------------------------------------
 # Draw Text
 #--------------------------------------------------------------------------
 def draw_icon_text(rect, text, alignment, enabled)
  cw = text_size(text).width
  icon = command_icon(text)
  draw_icon(icon, rect.x, rect.y, enabled)
  rect.x += 28
  rect.width -= 24
  draw_text(rect, text, alignment)
 end
endÂ
#==============================================================================
# ** Grand Menu
# Version: 1.0 [Initial]
#------------------------------------------------------------------------------
# Auther - Rupam Ontherocks
#------------------------------------------------------------------------------
# Require: GUI Configuration
#------------------------------------------------------------------------------
# Description:
# This is a brand new model of main menu, nothing else.
#------------------------------------------------------------------------------
Â
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# Â Main menu process.
#==============================================================================
class Scene_Menu < Scene_MenuBase
 alias grand_menu_engine start
 #--------------------------------------------------------------------------
 # * Start Processing
 #--------------------------------------------------------------------------
 def start
  grand_menu_engine
  create_help_window
  create_menu_command_window
  create_gold_window
  create_location_window
  create_status_window
  create_progress_window
  create_charisma_window
  create_party_window
  create_battle_window
  create_save_window
  create_play_time_window
 end
 Â
 def create_help_window
  @command_help_window = Window_HelpCommand.new
  @command_help_window.y = 0
 end
 Â
 def update
  super
  @command_help_window.set_helpText(@command_window.index) if @command_windowÂ
 end
 Â
 def create_menu_command_window
  @command_window = Window_MenuCommand.new
  @command_window.set_handleritem,    methodcommand_item))
  @command_window.set_handlerskill,   methodcommand_personal))
  @command_window.set_handlerequip,   methodcommand_personal))
  @command_window.set_handlerstatus,   methodcommand_personal))
  @command_window.set_handlerformation, methodcommand_formation))
  @command_window.set_handlersave,    methodcommand_save))
  @command_window.set_handlergame_end,  methodcommand_game_end))
  @command_window.set_handlercancel,   methodreturn_scene))
  @command_window.y = 48
 end
 Â
 def create_gold_window
  @gold_window = Window_Gold.new
  @gold_window.y = Graphics.height - 72
 end
 Â
 def create_location_window
  @location_window = Window_Location.new(0, 0)
  @location_window.x = 160
  @location_window.y = Graphics.height - 144
 end
 Â
 def create_status_window
  @status_window = Window_MenuStatus.new(0, 0)
  @status_window.x = Graphics.width / 2
  @status_window.y = 0
 end
 Â
 def create_progress_window
  @progress_window = Window_Progress.new(0, 0)
  @progress_window.x = 0
  @progress_window.y = 48
 end
 Â
 def create_charisma_window
  @charisma_window = Window_Charisma.new(0, 0)
  @charisma_window.x = 0
  @charisma_window.y = 120
 end
 Â
 def create_party_window
  @party_window = Window_Party.new(0, 0)
  @party_window.x = 0
  @party_window.y = 192
 end
 Â
 def create_battle_window
  @battle_window = Window_BattleCount.new(0, 0)
  @battle_window.x = 0
  @battle_window.y = 264
 end
 Â
 def create_save_window
  @save_window = Window_SaveCount.new(0, 0)
  @save_window.x = 0
  @save_window.y = 336
 end
 Â
 def create_play_time_window
  @play_time_window = Window_PlayTime.new(0, 0)
  @play_time_window.x = 0
  @play_time_window.y = 408
 end
end
#==============================================================================
# ** Window_HelpCommand
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
module Command
 # this is the array of the index of the commands, so when you
 # change the command index, you change the help window text
 Command_HelpText = [
  # Item
  "Browse through items, gears and accessories.",
  # Skills
  "Check special abilities of team members.",
  # Equip
  "Equip gears and accessories.",
  # Status
  "View full statistics of a character.",
  # Formation
  "Change formation of team members.",
  # Save
  "Record current game progress.",
  # Game End
  "Stop playing and go study.",
  ]
end
Â
Â
class Window_HelpCommand < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(line_number = 1)
  super(0, 0, Graphics.width / 2, fitting_height(line_number))
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  contents.clear
 end
 Â
 def set_helpText(index)
  refresh # refresh the content so the window will not overlap
  draw_text_ex(4, 0, Command::Command_HelpText[index])
 end
end
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
# Â This command window appears on the menu screen.
#==============================================================================
Â
class Window_MenuCommand < Window_Command
 #--------------------------------------------------------------------------
 # * Initialize Command Selection Position (Class Method)
 #--------------------------------------------------------------------------
 def self.init_command_position
  @@last_command_symbol = nil
 end
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(160, 0)
  select_last
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  return 160
 end
 #--------------------------------------------------------------------------
 # * Get Number of Lines to Show
 #--------------------------------------------------------------------------
 def visible_line_number
  11
 end
 #--------------------------------------------------------------------------
 # * Create Command List
 #--------------------------------------------------------------------------
 def make_command_list
  add_main_commands
  add_formation_command
  add_original_commands
  add_save_command
  add_game_end_command
 end
 #--------------------------------------------------------------------------
 # * Add Main Commands to List
 #--------------------------------------------------------------------------
 def add_main_commands
  add_command(Vocab::item,  :item,  main_commands_enabled)
  add_command(Vocab::skill,  :skill,  main_commands_enabled)
  add_command(Vocab::equip,  :equip,  main_commands_enabled)
  add_command(Vocab::status, :status, main_commands_enabled)
 end
 #--------------------------------------------------------------------------
 # * Add Formation to Command List
 #--------------------------------------------------------------------------
 def add_formation_command
  add_command(Vocab::formation, :formation, formation_enabled)
 end
 #--------------------------------------------------------------------------
 # * For Adding Original Commands
 #--------------------------------------------------------------------------
 def add_original_commands
 end
 #--------------------------------------------------------------------------
 # * Add Save to Command List
 #--------------------------------------------------------------------------
 def add_save_command
  add_command(Vocab::save, :save, save_enabled)
 end
 #--------------------------------------------------------------------------
 # * Add Exit Game to Command List
 #--------------------------------------------------------------------------
 def add_game_end_command
  add_command(Vocab::game_end, :game_end)
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Main Commands
 #--------------------------------------------------------------------------
 def main_commands_enabled
  $game_party.exists
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Formation
 #--------------------------------------------------------------------------
 def formation_enabled
  $game_party.members.size >= 2 && !$game_system.formation_disabled
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Save
 #--------------------------------------------------------------------------
 def save_enabled
  !$game_system.save_disabled
 end
 #--------------------------------------------------------------------------
 # * Processing When OK Button Is Pressed
 #--------------------------------------------------------------------------
 def process_ok
  @@last_command_symbol = current_symbol
  super
 end
 #--------------------------------------------------------------------------
 # * Restore Previous Selection Position
 #--------------------------------------------------------------------------
 def select_last
  select_symbol(@@last_command_symbol)
 end
 #--------------------------------------------------------------------------
 # * Command Underline
 #--------------------------------------------------------------------------
 def item_rect_for_text(index)
  rect = item_rect(index)
  contents.fill_rect(rect.x + 28, rect.y + 19, 105, 2,  normal_color)
  rect
  end
end
#==============================================================================
# ** Window_Location
#------------------------------------------------------------------------------
# Â This window displays the current map name.
#==============================================================================
class Window_Location < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     change_color(hp_gauge_color1)
     draw_text(28, 0, 160, line_height, "Location:")
     change_color(system_color)
     contents.font.size = 18
     draw_text(0, 24, width, line_height, "#{$data_mapinfos[$game_map.map_id].name}")
     contents.font.size = 20
     draw_icon(231, 0, 0, true)
    end
   end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# Â This window displays the party's gold.
#==============================================================================
class Window_Gold < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(160, 0, window_width, fitting_height(2))
  refresh
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  return 160
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  contents.clear
  change_color(system_color)
  draw_text(26, 0, width, line_height, "Coin:")
  change_color(normal_color)
  draw_currency_value(value, currency_unit, 8, 24, contents.width - 8)
 end
 #--------------------------------------------------------------------------
 # * Get Party Gold
 #--------------------------------------------------------------------------
 def value
  $game_party.gold
 end
 #--------------------------------------------------------------------------
 # Get Currency Unit
 #--------------------------------------------------------------------------
 def currency_unit
  draw_icon(361, 0, 0, true)
  end
 #--------------------------------------------------------------------------
 # * Open Window
 #--------------------------------------------------------------------------
 def open
  refresh
  super
 end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# Â This window displays party member status on the menu screen.
#==============================================================================
Â
class Window_MenuStatus < Window_Selectable
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader  ending_index       # Pending position (for formation)
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(x, y)
  super(x, y, window_width, window_height)
  @pending_index = -1
  refresh
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  Graphics.width - 320
 end
 #--------------------------------------------------------------------------
 # * Get Window Height
 #--------------------------------------------------------------------------
 def window_height
  Graphics.height
 end
 #--------------------------------------------------------------------------
 # * Get Number of Items
 #--------------------------------------------------------------------------
 def item_max
  $game_party.members.size
 end
 #--------------------------------------------------------------------------
 # * Get Item Height
 #--------------------------------------------------------------------------
 def item_height
  (height - standard_padding * 2) / 4
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #--------------------------------------------------------------------------
 def draw_item(index)
  actor = $game_party.members[index]
  enabled = $game_party.battle_members.include?(actor)
  rect = item_rect(index)
  draw_item_background(index)
  contents.fill_rect(rect.x + 5, rect.y + 5, 286, 104,  Font.default_out_color)
  # Name
  draw_actor_name(actor, rect.x + 8, rect.y + 4)
  contents.font.size = 18
  # Class
  draw_actor_class(actor, rect.x + 18, rect.y + 24)
  # Level
  draw_actor_level(actor, rect.x + 18, rect.y + 40)
  # EXP
  draw_exp(actor, rect.x + 122, rect.y - 2)
  # HP
  draw_actor_hp(actor, rect.x + 122, rect.y + 17)
  # MP
  draw_actor_mp(actor, rect.x + 122, rect.y + 36)
  # States Icon
  draw_actor_icons(actor, rect.x + 121, rect.y + 70)
  contents.font.size = 20
  # Charset
  draw_actor_graphic(actor, rect.x + 30, rect.y + 104)
 end
 #--------------------------------------------------------------------------
 # * Draw Background for Item
 #--------------------------------------------------------------------------
 def draw_item_background(index)
  if index == @pending_index
   contents.fill_rect(item_rect(index), pending_color)
  end
 end
 #--------------------------------------------------------------------------
 # * Processing When OK Button Is Pressed
 #--------------------------------------------------------------------------
 def process_ok
  super
  $game_party.menu_actor = $game_party.members[index]
 end
 #--------------------------------------------------------------------------
 # * Restore Previous Selection Position
 #--------------------------------------------------------------------------
 def select_last
  select($game_party.menu_actor.index || 0)
 end
 #--------------------------------------------------------------------------
 # * Set Pending Position (for Formation)
 #--------------------------------------------------------------------------
 def pending_index=(index)
  last_pending_index = @pending_index
  @pending_index = index
  redraw_item(@pending_index)
  redraw_item(last_pending_index)
 end
end
#==============================================================================
# ** Window_Progress
#------------------------------------------------------------------------------
# Â This window displays Variable 1.
#==============================================================================
class Window_Progress < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(hp_gauge_color1)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Game Progress:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_variables[1]}%", 0)
    end
   end
#==============================================================================
# ** Window_Charisma
#------------------------------------------------------------------------------
# Â This window displays Variable 2.
#==============================================================================
class Window_Charisma < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(hp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Charisma Status:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_variables[1]}", 0)
    end
   end
#==============================================================================
# ** Window_Party
#------------------------------------------------------------------------------
# Â This window displays number of party members.
#==============================================================================
class Window_Party < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(tp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Team Members:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_party.all_members.size}", 0)
    end
   end
#==============================================================================
# ** Window_BattleCount
#------------------------------------------------------------------------------
# Â This window displays number of battle encounter.
#==============================================================================
class Window_BattleCount < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(mp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Battles Won:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.battle_count}", 0)
    end
   end
#==============================================================================
# ** Window_Save
#------------------------------------------------------------------------------
# Â This window displays number of saves.
#==============================================================================
class Window_SaveCount < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(crisis_color)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Save Count:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.save_count}", 0)
    end
   end
#==============================================================================
# ** Window_PlayTime
#------------------------------------------------------------------------------
# Â This window displays number of saves.
#==============================================================================
class Window_PlayTime < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(mp_cost_color)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Play Time:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.playtime_s}", 0)
    end
   Â
    def update
     super
     @playtime = $game_system.playtime_s
     refresh
    end
   endÂ
Protected downloadProtected downloadProtected download
# ** GUI Configuration
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
class Window_Base < Window
 #----------------------------------------------------------------------------
 # * Object Initialization
 #----------------------------------------------------------------------------
 def initialize(x, y, width, height)
  super
  self.windowskin = Cache.system("Window")
  self.back_opacity = 255
  self.opacity = 255
  update_padding
  update_tone
  create_contents
  @opening = @closing = false
 end
 #----------------------------------------------------------------------------
 # * Draw Gauge
 #   rate  : Rate (full at 1.0)
 #   color1 : Left side gradation
 #   color2 : Right side gradation
 #----------------------------------------------------------------------------
 def draw_gauge(x, y, width, rate, color1, color2)
  fill_w = (width * rate).to_i
  gauge_y = y + line_height - 8
  contents.fill_rect(x, gauge_y, width, 12, gauge_back_color)
  contents.gradient_fill_rect(x, gauge_y, fill_w, 12, color1, color2)
 end
 #----------------------------------------------------------------------------
 # * Draw Current Value in Fractional Format
 #   current : Current value
 #   color1  : Color of current value
 #   color2  : Color of maximum value
 #----------------------------------------------------------------------------
 def draw_current_value(x, y, width, current, color1, color2)
  change_color(color1)
  xr = x + width
  if width < 96
   draw_text(xr - 40, y, 42, line_height, current, 2)
  else
   draw_text(xr - 42, y + 6, 42, line_height, current, 2)
   change_color(color2)
  end
 end
 #----------------------------------------------------------------------------
 # * Draw HP
 #----------------------------------------------------------------------------
 def draw_actor_hp(actor, x, y, width = 160)
  draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  change_color(system_color)
  draw_text(x + 2, y + 6, 30, line_height, Vocab::hp_a)
  draw_current_value(x, y, width, actor.hp, hp_color(actor), normal_color)
 end
 #----------------------------------------------------------------------------
 # * Draw MP
 #----------------------------------------------------------------------------
 def draw_actor_mp(actor, x, y, width = 160)
  draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  change_color(system_color)
  draw_text(x + 2, y + 6, 30, line_height, Vocab::mp_a)
  draw_current_value(x, y, width, actor.mp, mp_color(actor), normal_color)
 end
 #----------------------------------------------------------------------------
 # * Draw Simple Status
 #----------------------------------------------------------------------------
 def draw_actor_simple_status(actor, x, y)
  draw_actor_name(actor, x, y)
  draw_actor_level(actor, x, y + line_height * 1)
  draw_actor_icons(actor, x, y + line_height * 2)
  draw_actor_class(actor, x + 120, y)
  draw_actor_hp(actor, x + 120, y + line_height * 1)
  draw_actor_mp(actor, x + 120, y + line_height * 2)
 end
 #----------------------------------------------------------------------------
 # * Draw Level
 #----------------------------------------------------------------------------
 def draw_actor_level(actor, x, y)
  change_color(system_color)
  draw_text(x, y, 32, line_height, "Lv.")
  change_color(normal_color)
  draw_text(x + 20, y, 24, line_height, actor.level, 0)
 end
 #--------------------------------------------------------------------------
 # * Draw State and Buff/Debuff Icons
 #--------------------------------------------------------------------------
 def draw_actor_icons(actor, x, y, width = 96)
  icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
  icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
 end
 #============================================================================
 # ** Experience Gauge
 #----------------------------------------------------------------------------
 # * Get Text Colors
 #----------------------------------------------------------------------------
 def exp_gauge_color1;    text_color(11);  end;  # EXP gauge added lower half
 def exp_gauge_color2;    text_color(3);  end;  # EXP gauge added upper half
 def exp_gauge_back_color;  text_color(19);  end;  # EXP Gauge background
 #----------------------------------------------------------------------------
 # * Draw exp Gauge
 #   rate  : Rate (full at 1.0)
 #   color1 : Left side gradation
 #   color2 : Right side gradation
 #----------------------------------------------------------------------------
 def draw_expgauge(x, y, width, rate, color1, color2)
  fill_w = (width * rate).to_i
  gauge_y = y + line_height - 8
  contents.fill_rect(x, gauge_y, width, 12, exp_gauge_back_color)
  contents.gradient_fill_rect(x, gauge_y, fill_w, 12, color1, color2)
 end
 #----------------------------------------------------------------------------
 # * Draw EXP  This is the exp info to be drawn on the "menu" status
 #----------------------------------------------------------------------------
 def draw_exp(actor, x, y, width = 160)
    s1 = actor.max_level? ? "Max" : actor.exp
    s2 = actor.max_level? ? "0" : actor.next_level_exp - actor.exp
    if actor.max_level? ?
     draw_expgauge(x, y, width, 1, exp_gauge_color1, exp_gauge_color2) :
     draw_gauge(x, y,width,((((actor.exp - actor.current_level_exp).to_f/100) / ((actor.next_level_exp.to_f - actor.current_level_exp.to_f)/100))), Â
     exp_gauge_color1, exp_gauge_color2)
    end
    change_color(system_color)
    draw_text(x + 2, y + 6, 30, line_height, "XP")
    change_color(normal_color)
    if actor.max_level? ?
     draw_text(x + width - 72, y + 6, 72, line_height, "Max", 2) :
     draw_text(x + width - 72, y + 6, 72, line_height, actor.next_level_exp.to_i - actor.exp.to_i, 2)
    end
   end
  end
 #----------------------------------------------------------------------------
 # * Font Configuration
 #----------------------------------------------------------------------------
 Font.default_name    = ["Roboto Condensed"]  Â
 Font.default_size    = 20
 Font.default_bold    = false
 Font.default_italic   = false
 Font.default_shadow   = false
 Font.default_outline  = true
 Font.default_color   = Color.new(255,255,255,255)
 Font.default_out_color = Color.new(0,0,0,182)
 #----------------------------------------------------------------------------
 # * Graphics Resolution
 #----------------------------------------------------------------------------
 Graphics.resize_screen(640, 480)Â
#==============================================================================
# ** Command Icon
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
module Command_Icons
  #--------------------------------------------------------------------------
  # * Icon ID
  #--------------------------------------------------------------------------
  ICON_ID ={
  # Command Name   => Icon ID,
   "Items"     => 260,  Â
   "Skills"     => 143,  Â
   "Equipment"   => 436,  Â
   "Status"     => 121,
   "Formation"   =>  12,  Â
   "Save"      => 286,  Â
   "Game End"    => 368,
  }Â
  end
#==============================================================================
# ** Window_Command
#==============================================================================
class Window_MenuCommand < Window_Command
 #--------------------------------------------------------------------------
 # Use Icon
 #--------------------------------------------------------------------------
 def use_icon?(text)
  return Command_Icons::ICON_ID.include?(text)
 end
 #--------------------------------------------------------------------------
 # Command Icon
 #--------------------------------------------------------------------------
 def command_icon(text)
  return Command_Icons::ICON_ID[text]
 end
 #--------------------------------------------------------------------------
 # Draw Item
 #--------------------------------------------------------------------------
 def draw_item(index)
  enabled = command_enabled?(index)
  change_color(normal_color, enabled)
  rect = item_rect_for_text(index)
  text = command_name(index)
  if use_icon?(text)
   draw_icon_text(rect.clone, text, alignment, enabled)
  else
   draw_text(rect, text, alignment)
  end
 end
 #--------------------------------------------------------------------------
 # Draw Text
 #--------------------------------------------------------------------------
 def draw_icon_text(rect, text, alignment, enabled)
  cw = text_size(text).width
  icon = command_icon(text)
  draw_icon(icon, rect.x, rect.y, enabled)
  rect.x += 28
  rect.width -= 24
  draw_text(rect, text, alignment)
 end
endÂ
#==============================================================================
# ** Grand Menu
# Version: 1.0 [Initial]
#------------------------------------------------------------------------------
# Auther - Rupam Ontherocks
#------------------------------------------------------------------------------
# Require: GUI Configuration
#------------------------------------------------------------------------------
# Description:
# This is a brand new model of main menu, nothing else.
#------------------------------------------------------------------------------
Â
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# Â Main menu process.
#==============================================================================
class Scene_Menu < Scene_MenuBase
 alias grand_menu_engine start
 #--------------------------------------------------------------------------
 # * Start Processing
 #--------------------------------------------------------------------------
 def start
  grand_menu_engine
  create_help_window
  create_menu_command_window
  create_gold_window
  create_location_window
  create_status_window
  create_progress_window
  create_charisma_window
  create_party_window
  create_battle_window
  create_save_window
  create_play_time_window
 end
 Â
 def create_help_window
  @command_help_window = Window_HelpCommand.new
  @command_help_window.y = 0
 end
 Â
 def update
  super
  @command_help_window.set_helpText(@command_window.index) if @command_windowÂ
 end
 Â
 def create_menu_command_window
  @command_window = Window_MenuCommand.new
  @command_window.set_handleritem,    methodcommand_item))
  @command_window.set_handlerskill,   methodcommand_personal))
  @command_window.set_handlerequip,   methodcommand_personal))
  @command_window.set_handlerstatus,   methodcommand_personal))
  @command_window.set_handlerformation, methodcommand_formation))
  @command_window.set_handlersave,    methodcommand_save))
  @command_window.set_handlergame_end,  methodcommand_game_end))
  @command_window.set_handlercancel,   methodreturn_scene))
  @command_window.y = 48
 end
 Â
 def create_gold_window
  @gold_window = Window_Gold.new
  @gold_window.y = Graphics.height - 72
 end
 Â
 def create_location_window
  @location_window = Window_Location.new(0, 0)
  @location_window.x = 160
  @location_window.y = Graphics.height - 144
 end
 Â
 def create_status_window
  @status_window = Window_MenuStatus.new(0, 0)
  @status_window.x = Graphics.width / 2
  @status_window.y = 0
 end
 Â
 def create_progress_window
  @progress_window = Window_Progress.new(0, 0)
  @progress_window.x = 0
  @progress_window.y = 48
 end
 Â
 def create_charisma_window
  @charisma_window = Window_Charisma.new(0, 0)
  @charisma_window.x = 0
  @charisma_window.y = 120
 end
 Â
 def create_party_window
  @party_window = Window_Party.new(0, 0)
  @party_window.x = 0
  @party_window.y = 192
 end
 Â
 def create_battle_window
  @battle_window = Window_BattleCount.new(0, 0)
  @battle_window.x = 0
  @battle_window.y = 264
 end
 Â
 def create_save_window
  @save_window = Window_SaveCount.new(0, 0)
  @save_window.x = 0
  @save_window.y = 336
 end
 Â
 def create_play_time_window
  @play_time_window = Window_PlayTime.new(0, 0)
  @play_time_window.x = 0
  @play_time_window.y = 408
 end
end
#==============================================================================
# ** Window_HelpCommand
#------------------------------------------------------------------------------
# Â This is a super class of all scenes within the game.
#==============================================================================
module Command
 # this is the array of the index of the commands, so when you
 # change the command index, you change the help window text
 Command_HelpText = [
  # Item
  "Browse through items, gears and accessories.",
  # Skills
  "Check special abilities of team members.",
  # Equip
  "Equip gears and accessories.",
  # Status
  "View full statistics of a character.",
  # Formation
  "Change formation of team members.",
  # Save
  "Record current game progress.",
  # Game End
  "Stop playing and go study.",
  ]
end
Â
Â
class Window_HelpCommand < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(line_number = 1)
  super(0, 0, Graphics.width / 2, fitting_height(line_number))
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  contents.clear
 end
 Â
 def set_helpText(index)
  refresh # refresh the content so the window will not overlap
  draw_text_ex(4, 0, Command::Command_HelpText[index])
 end
end
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
# Â This command window appears on the menu screen.
#==============================================================================
Â
class Window_MenuCommand < Window_Command
 #--------------------------------------------------------------------------
 # * Initialize Command Selection Position (Class Method)
 #--------------------------------------------------------------------------
 def self.init_command_position
  @@last_command_symbol = nil
 end
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(160, 0)
  select_last
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  return 160
 end
 #--------------------------------------------------------------------------
 # * Get Number of Lines to Show
 #--------------------------------------------------------------------------
 def visible_line_number
  11
 end
 #--------------------------------------------------------------------------
 # * Create Command List
 #--------------------------------------------------------------------------
 def make_command_list
  add_main_commands
  add_formation_command
  add_original_commands
  add_save_command
  add_game_end_command
 end
 #--------------------------------------------------------------------------
 # * Add Main Commands to List
 #--------------------------------------------------------------------------
 def add_main_commands
  add_command(Vocab::item,  :item,  main_commands_enabled)
  add_command(Vocab::skill,  :skill,  main_commands_enabled)
  add_command(Vocab::equip,  :equip,  main_commands_enabled)
  add_command(Vocab::status, :status, main_commands_enabled)
 end
 #--------------------------------------------------------------------------
 # * Add Formation to Command List
 #--------------------------------------------------------------------------
 def add_formation_command
  add_command(Vocab::formation, :formation, formation_enabled)
 end
 #--------------------------------------------------------------------------
 # * For Adding Original Commands
 #--------------------------------------------------------------------------
 def add_original_commands
 end
 #--------------------------------------------------------------------------
 # * Add Save to Command List
 #--------------------------------------------------------------------------
 def add_save_command
  add_command(Vocab::save, :save, save_enabled)
 end
 #--------------------------------------------------------------------------
 # * Add Exit Game to Command List
 #--------------------------------------------------------------------------
 def add_game_end_command
  add_command(Vocab::game_end, :game_end)
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Main Commands
 #--------------------------------------------------------------------------
 def main_commands_enabled
  $game_party.exists
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Formation
 #--------------------------------------------------------------------------
 def formation_enabled
  $game_party.members.size >= 2 && !$game_system.formation_disabled
 end
 #--------------------------------------------------------------------------
 # * Get Activation State of Save
 #--------------------------------------------------------------------------
 def save_enabled
  !$game_system.save_disabled
 end
 #--------------------------------------------------------------------------
 # * Processing When OK Button Is Pressed
 #--------------------------------------------------------------------------
 def process_ok
  @@last_command_symbol = current_symbol
  super
 end
 #--------------------------------------------------------------------------
 # * Restore Previous Selection Position
 #--------------------------------------------------------------------------
 def select_last
  select_symbol(@@last_command_symbol)
 end
 #--------------------------------------------------------------------------
 # * Command Underline
 #--------------------------------------------------------------------------
 def item_rect_for_text(index)
  rect = item_rect(index)
  contents.fill_rect(rect.x + 28, rect.y + 19, 105, 2,  normal_color)
  rect
  end
end
#==============================================================================
# ** Window_Location
#------------------------------------------------------------------------------
# Â This window displays the current map name.
#==============================================================================
class Window_Location < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     change_color(hp_gauge_color1)
     draw_text(28, 0, 160, line_height, "Location:")
     change_color(system_color)
     contents.font.size = 18
     draw_text(0, 24, width, line_height, "#{$data_mapinfos[$game_map.map_id].name}")
     contents.font.size = 20
     draw_icon(231, 0, 0, true)
    end
   end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# Â This window displays the party's gold.
#==============================================================================
class Window_Gold < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(160, 0, window_width, fitting_height(2))
  refresh
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  return 160
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  contents.clear
  change_color(system_color)
  draw_text(26, 0, width, line_height, "Coin:")
  change_color(normal_color)
  draw_currency_value(value, currency_unit, 8, 24, contents.width - 8)
 end
 #--------------------------------------------------------------------------
 # * Get Party Gold
 #--------------------------------------------------------------------------
 def value
  $game_party.gold
 end
 #--------------------------------------------------------------------------
 # Get Currency Unit
 #--------------------------------------------------------------------------
 def currency_unit
  draw_icon(361, 0, 0, true)
  end
 #--------------------------------------------------------------------------
 # * Open Window
 #--------------------------------------------------------------------------
 def open
  refresh
  super
 end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# Â This window displays party member status on the menu screen.
#==============================================================================
Â
class Window_MenuStatus < Window_Selectable
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader  ending_index       # Pending position (for formation)
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(x, y)
  super(x, y, window_width, window_height)
  @pending_index = -1
  refresh
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
  Graphics.width - 320
 end
 #--------------------------------------------------------------------------
 # * Get Window Height
 #--------------------------------------------------------------------------
 def window_height
  Graphics.height
 end
 #--------------------------------------------------------------------------
 # * Get Number of Items
 #--------------------------------------------------------------------------
 def item_max
  $game_party.members.size
 end
 #--------------------------------------------------------------------------
 # * Get Item Height
 #--------------------------------------------------------------------------
 def item_height
  (height - standard_padding * 2) / 4
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #--------------------------------------------------------------------------
 def draw_item(index)
  actor = $game_party.members[index]
  enabled = $game_party.battle_members.include?(actor)
  rect = item_rect(index)
  draw_item_background(index)
  contents.fill_rect(rect.x + 5, rect.y + 5, 286, 104,  Font.default_out_color)
  # Name
  draw_actor_name(actor, rect.x + 8, rect.y + 4)
  contents.font.size = 18
  # Class
  draw_actor_class(actor, rect.x + 18, rect.y + 24)
  # Level
  draw_actor_level(actor, rect.x + 18, rect.y + 40)
  # EXP
  draw_exp(actor, rect.x + 122, rect.y - 2)
  # HP
  draw_actor_hp(actor, rect.x + 122, rect.y + 17)
  # MP
  draw_actor_mp(actor, rect.x + 122, rect.y + 36)
  # States Icon
  draw_actor_icons(actor, rect.x + 121, rect.y + 70)
  contents.font.size = 20
  # Charset
  draw_actor_graphic(actor, rect.x + 30, rect.y + 104)
 end
 #--------------------------------------------------------------------------
 # * Draw Background for Item
 #--------------------------------------------------------------------------
 def draw_item_background(index)
  if index == @pending_index
   contents.fill_rect(item_rect(index), pending_color)
  end
 end
 #--------------------------------------------------------------------------
 # * Processing When OK Button Is Pressed
 #--------------------------------------------------------------------------
 def process_ok
  super
  $game_party.menu_actor = $game_party.members[index]
 end
 #--------------------------------------------------------------------------
 # * Restore Previous Selection Position
 #--------------------------------------------------------------------------
 def select_last
  select($game_party.menu_actor.index || 0)
 end
 #--------------------------------------------------------------------------
 # * Set Pending Position (for Formation)
 #--------------------------------------------------------------------------
 def pending_index=(index)
  last_pending_index = @pending_index
  @pending_index = index
  redraw_item(@pending_index)
  redraw_item(last_pending_index)
 end
end
#==============================================================================
# ** Window_Progress
#------------------------------------------------------------------------------
# Â This window displays Variable 1.
#==============================================================================
class Window_Progress < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(hp_gauge_color1)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Game Progress:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_variables[1]}%", 0)
    end
   end
#==============================================================================
# ** Window_Charisma
#------------------------------------------------------------------------------
# Â This window displays Variable 2.
#==============================================================================
class Window_Charisma < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(hp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Charisma Status:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_variables[1]}", 0)
    end
   end
#==============================================================================
# ** Window_Party
#------------------------------------------------------------------------------
# Â This window displays number of party members.
#==============================================================================
class Window_Party < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(tp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Team Members:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_party.all_members.size}", 0)
    end
   end
#==============================================================================
# ** Window_BattleCount
#------------------------------------------------------------------------------
# Â This window displays number of battle encounter.
#==============================================================================
class Window_BattleCount < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(mp_gauge_color2)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Battles Won:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.battle_count}", 0)
    end
   end
#==============================================================================
# ** Window_Save
#------------------------------------------------------------------------------
# Â This window displays number of saves.
#==============================================================================
class Window_SaveCount < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(crisis_color)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Save Count:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.save_count}", 0)
    end
   end
#==============================================================================
# ** Window_PlayTime
#------------------------------------------------------------------------------
# Â This window displays number of saves.
#==============================================================================
class Window_PlayTime < Window_Base
 def initialize(x, y)
    super(x, y, 160, 72)
    refresh
   end   Â
#------------------------------------------------------------------------------
# - Refresh                                 Â
#------------------------------------------------------------------------------
 def refresh
    self.contents.clear
     @actor = $game_party.members[0]
     contents.font.size = 18
     change_color(mp_cost_color)
     draw_icon(189, 0, 0, true)
     draw_text(28, 0, 250, line_height, "Play Time:")
     change_color(normal_color)
     draw_text(0,24, 250, line_height, "#{$game_system.playtime_s}", 0)
    end
   Â
    def update
     super
     @playtime = $game_system.playtime_s
     refresh
    end
   endÂ
Protected downloadProtected downloadProtected download
Features Mentioned
- 1. Extra Windows:
- Displays variables(2 variable display window - I used it as Game Progress(Var1) and Charisma(Var2), map name window, current party size, playtime, battle count and save count.
- 2. Icons:Â Each command will have an icon. Default commands already have their own. But if you added a new command then you have to do this simple thing :
- Go to "GUI Config" script and go to line number 153. There are the command names.
- Like this -Â "Items" Â Â Â Â => 260,
- You just have to add another line.
- Suppose you are using Modern Algebras Quest Journal script and it will be automatically added to the menu. Then you have to add this line there -Â "Quests" Â Â Â Â => 100,
- (100 or whatever Icon you want to use)
- 3. Help Window: Each command items have their information in the help window.
- Just like the icon section, you have to do a little adjustment here too.
- Suppose yoou are using Quest Journal script, and the Quest command is automatically added to the menu, then.. all you have to do is go to script "Grand Menu" then go to line number 119, there you will see the help text module. You have to add there Quest help text. You just have put the help text in the right place.
- 4. Show only current HP and MP, I removed Max values.
- 5. Experience Bar. When some one is at level 99 it will show "Max"
- 6. Displaying character graphics instead of face.
- Special thanks:
- Nicke - I got the idea of the menu layout from Nicke's "Menu Delux"
- Soulpour - Helped with the "Help Window".
- Note:Â
Downloads / Referenced Files
Log in to download
Log in, then follow the RPG Maker Developers Group to see these download links.
Log in to downloadReferenced Images / Attachments
Creator Claims / Removal
If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.
Replies (0)
No replies yet.
0
replies
5
views
Topic Summary
Loading summary...


