RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

One Actor Full Status Menu

Started by DoctorTodd, April 06, 2012, 05:19:03 AM

0 Members and 1 Guest are viewing this topic.

DoctorTodd

One Actor Full Status Menu
Version: 1.0.1
Author: DoctorTodd
Date: 04/6/2012

Version History




  • Version 1.0.1 2012/04/7 - Now works with regular resolution
  • Version 1.0.0 2012/04/6 - Official Release

Planned Future Versions

  • None planned

Description



Removes all need for a status scene and works as if there is only one actor. This is the official menu for Gold and Glory 2.

Features


  • Goes to first actor, no actor selection
  • Full Status
  • Easy to use

Screenshots


Instructions

Paste above main.
Configure the script to the way you like it.

Script




#===============================================================================
#
# DT's One Actor Full Status Menu
# Author: DoctorTodd
# Date (04/4/2012)
# Type: (Menu)
# Version: (1.0.1) (VXA)
# Level: (Simple/Medium)
# Email: Support@beacongames.com
#
#===============================================================================
#
# NOTES: 1)This script will only work with ace.
#
#===============================================================================
#
# Description: Removes all need for a status scene and works as if there is
# only one actor. This is the official menu for Gold and Glory 2.
#
# Credits: Me (DoctorTodd)
#
#===============================================================================
#
# Instructions
# Paste above main.
#
#===============================================================================
#
# Contact me for commercial use, other wise just credit me and don't repost
# without my permission.
#
#===============================================================================
#
# Editing begins 40 and ends on 59.
#
#===============================================================================
module DTOAFS
 
  #Window Skin (Default = Window)
  WS = "Window"
 
  #Command Window X (640x480 default = 455) (544x416 default = 395)
  COMWINX = 395
 
  #Command Window Y (640x480 default = 60) (544x416 default = 20)
  COMWINY = 20
 
  #Gold Window X (640x480 default = 454) (544x416 default = 395)
  GWINX = 395
 
  #Gold Window Y (640x480 default = 362) (544x416 default = 187)
  GWINY = 322
 
  #Status Window X (640x480 default = 60) (544x416 default = 0)
  SWINX = 0
 
  #Status Window Y (640x480 default = 60) (544x416 default = 20)
  SWINY = 20
 
end
#===============================================================================
#  NOTE: Editing anything below without any skill will most likely give an error.
#===============================================================================
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(0, 0)
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 150
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    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)
  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
end
#========================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays the characters status on the menu screen.
#==============================================================================

class Window_MenuInfo < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 395, 351)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
     @actor = $game_party.members[0]
      draw_actor_face(@actor, 0, 0)
      draw_actor_name(@actor, 110, 5)
      draw_actor_level(@actor, 265, 5)
      draw_actor_hp(@actor, 110 ,40, width = 244)
      draw_actor_mp(@actor, 110 , 65, width = 244)
      draw_actor_param(@actor, 0, 140, 0)
      draw_actor_param(@actor, 0, 164, 1)
      draw_actor_param(@actor, 0, 188, 2)
      draw_actor_param(@actor, 0, 212, 3)
      draw_actor_param(@actor, 0, 232, 4)
      draw_actor_param(@actor, 0, 252, 5)
      draw_actor_param(@actor, 0, 272, 6)
      draw_actor_param(@actor, 0, 292, 7)
      draw_exp_info(180, 231)
      draw_actor_icons(@actor, 100, 110, width = 96)
      draw_equipments(180, 100)
      draw_actor_class(@actor, 5, 110, width = 112)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Experience Information
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
     @actor = $game_party.members[0]
    s1 = @actor.max_level? ? "-------" : @actor.exp
    s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    change_color(system_color)
    draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
    draw_text(x, y + line_height * 2, 180, line_height, s_next)
    change_color(normal_color)
    draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
    draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Equipment
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
     @actor = $game_party.members[0]
    @actor.equips.each_with_index do |item, i|
      draw_item_name(item, x, y + line_height * i)
    end
  end
#==============================================================================
# ? Scene_Menu
#==============================================================================
include DTOAFS
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ? Start
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_gold_window
    create_status_window
  end
  #--------------------------------------------------------------------------
  # ? Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window =  Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,     method(:command_skill))
    @command_window.set_handler(:equip,     method(:command_equip))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
    @command_window.y = (DTOAFS::COMWINY)
    @command_window.x = (DTOAFS::COMWINX)
    @command_window.windowskin = Cache.system(DTOAFS::WS)
  end
  #--------------------------------------------------------------------------
  # ? Gold Window
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = (DTOAFS::GWINX)
    @gold_window.y = (DTOAFS::GWINY)
    @gold_window.windowskin = Cache.system(DTOAFS::WS)
  end
  #--------------------------------------------------------------------------
  # ? Status Window
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuInfo.new((DTOAFS::SWINX), (DTOAFS::SWINY))
    @status_window.windowskin = Cache.system(DTOAFS::WS)
  end
#--------------------------------------------------------------------------
  # * [Item] Command
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * [Equipment] Command
  #--------------------------------------------------------------------------
  def command_equip
    @actor = $game_party.members[0]
    SceneManager.call(Scene_Equip)
  end
  #--------------------------------------------------------------------------
  # * [Save] Command
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * [Exit Game] Command
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * [Skill] Command
  #--------------------------------------------------------------------------
  def command_skill
    @actor = $game_party.members[0]
      SceneManager.call(Scene_Skill)
    end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays the party's gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, window_width, fitting_height(1))
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 150
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
  end
  #--------------------------------------------------------------------------
  # * Get Party Gold
  #--------------------------------------------------------------------------
  def value
    $game_party.gold
  end
  #--------------------------------------------------------------------------
  # Get Currency Unit
  #--------------------------------------------------------------------------
  def currency_unit
    Vocab::currency_unit
  end
  #--------------------------------------------------------------------------
  # * Open Window
  #--------------------------------------------------------------------------
  def open
    refresh
    super
  end
end



Credit




  • DoctorTodd

Support


Post here for quickest support, or send an email to Support@beacongames.com (Finally got my domain emails  ;D)

Known Compatibility Issues

None known so far.
Demo


Pointless

Restrictions

Free for non-commercial and commercial games. You must credit me! If you use this in a commercial game I expect a free copy.

modern algebra

Very nice design, but why do you limit it to 640x480 resolutions? It looks like its less than a dozen pixels away from fitting within 544 pixels horizontally.

DoctorTodd

#2
Thanks, I'll see if it will work.

EDIT: You can but the command window and gold window is cut off.

Fall From Eden

Marc: I don't know RGSS3 at all, seeing as we do not have Ace, but there must be some equivalent to Graphics.width and Graphics.height. Could there not be a way to determine the screen's resolution and adjust their widths accordingly?

This seems like the simplest solution to me. :)

pacdiggity

Graphics.width and Graphics.height are the same in RGSS3 as they are in RGSS2. Marc (of Eden :V) is correct.
it's like a metaphor or something i don't know

DoctorTodd

#5
In that case I'll get right on fixing it.

EDIT: Alright it works with the regular resolution.

#===============================================================================
#
# DT's One Actor Full Status Menu
# Author: DoctorTodd
# Date (04/4/2012)
# Type: (Menu)
# Version: (1.0.1) (VXA)
# Level: (Simple/Medium)
# Email: Support@beacongames.com
#
#===============================================================================
#
# NOTES: 1)This script will only work with ace.
#
#===============================================================================
#
# Description: Removes all need for a status scene and works as if there is
# only one actor. This is the official menu for Gold and Glory 2.
#
# Credits: Me (DoctorTodd)
#
#===============================================================================
#
# Instructions
# Paste above main.
#
#===============================================================================
#
# Contact me for commercial use, other wise just credit me and don't repost
# without my permission.
#
#===============================================================================
#
# Editing begins 40 and ends on 59.
#
#===============================================================================
module DTOAFS
 
  #Window Skin (Default = Window)
  WS = "Window"
 
  #Command Window X (640x480 default = 455) (544x416 default = 395)
  COMWINX = 395
 
  #Command Window Y (640x480 default = 60) (544x416 default = 20)
  COMWINY = 20
 
  #Gold Window X (640x480 default = 454) (544x416 default = 395)
  GWINX = 395
 
  #Gold Window Y (640x480 default = 362) (544x416 default = 187)
  GWINY = 322
 
  #Status Window X (640x480 default = 60) (544x416 default = 0)
  SWINX = 0
 
  #Status Window Y (640x480 default = 60) (544x416 default = 20)
  SWINY = 20
 
end
#===============================================================================
#  NOTE: Editing anything below without any skill will most likely give an error.
#===============================================================================
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(0, 0)
    select_last
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 150
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    item_max
  end
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    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)
  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
end
#========================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays the characters status on the menu screen.
#==============================================================================

class Window_MenuInfo < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 395, 351)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
     @actor = $game_party.members[0]
      draw_actor_face(@actor, 0, 0)
      draw_actor_name(@actor, 110, 5)
      draw_actor_level(@actor, 265, 5)
      draw_actor_hp(@actor, 110 ,40, width = 244)
      draw_actor_mp(@actor, 110 , 65, width = 244)
      draw_actor_param(@actor, 0, 140, 0)
      draw_actor_param(@actor, 0, 164, 1)
      draw_actor_param(@actor, 0, 188, 2)
      draw_actor_param(@actor, 0, 212, 3)
      draw_actor_param(@actor, 0, 232, 4)
      draw_actor_param(@actor, 0, 252, 5)
      draw_actor_param(@actor, 0, 272, 6)
      draw_actor_param(@actor, 0, 292, 7)
      draw_exp_info(180, 231)
      draw_actor_icons(@actor, 100, 110, width = 96)
      draw_equipments(180, 100)
      draw_actor_class(@actor, 5, 110, width = 112)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Experience Information
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
     @actor = $game_party.members[0]
    s1 = @actor.max_level? ? "-------" : @actor.exp
    s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    change_color(system_color)
    draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
    draw_text(x, y + line_height * 2, 180, line_height, s_next)
    change_color(normal_color)
    draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
    draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Equipment
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
     @actor = $game_party.members[0]
    @actor.equips.each_with_index do |item, i|
      draw_item_name(item, x, y + line_height * i)
    end
  end
#==============================================================================
# ? Scene_Menu
#==============================================================================
include DTOAFS
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ? Start
  #--------------------------------------------------------------------------
  def start
    super
    create_command_window
    create_gold_window
    create_status_window
  end
  #--------------------------------------------------------------------------
  # ? Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window =  Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,     method(:command_skill))
    @command_window.set_handler(:equip,     method(:command_equip))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
    @command_window.y = (DTOAFS::COMWINY)
    @command_window.x = (DTOAFS::COMWINX)
    @command_window.windowskin = Cache.system(DTOAFS::WS)
  end
  #--------------------------------------------------------------------------
  # ? Gold Window
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = (DTOAFS::GWINX)
    @gold_window.y = (DTOAFS::GWINY)
    @gold_window.windowskin = Cache.system(DTOAFS::WS)
  end
  #--------------------------------------------------------------------------
  # ? Status Window
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuInfo.new((DTOAFS::SWINX), (DTOAFS::SWINY))
    @status_window.windowskin = Cache.system(DTOAFS::WS)
  end
#--------------------------------------------------------------------------
  # * [Item] Command
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * [Equipment] Command
  #--------------------------------------------------------------------------
  def command_equip
    @actor = $game_party.members[0]
    SceneManager.call(Scene_Equip)
  end
  #--------------------------------------------------------------------------
  # * [Save] Command
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * [Exit Game] Command
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * [Skill] Command
  #--------------------------------------------------------------------------
  def command_skill
    @actor = $game_party.members[0]
      SceneManager.call(Scene_Skill)
    end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays the party's gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, window_width, fitting_height(1))
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return 150
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
  end
  #--------------------------------------------------------------------------
  # * Get Party Gold
  #--------------------------------------------------------------------------
  def value
    $game_party.gold
  end
  #--------------------------------------------------------------------------
  # Get Currency Unit
  #--------------------------------------------------------------------------
  def currency_unit
    Vocab::currency_unit
  end
  #--------------------------------------------------------------------------
  # * Open Window
  #--------------------------------------------------------------------------
  def open
    refresh
    super
  end
end

yuile

Hi Doctor Tod

Is it possible to re size the width and height of the actor face?

DoctorTodd

I don't think so. I looked into the function and it seemed to only draw the actors face without any way of re-sizing it. There may be a method to do that but I don't know it.