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
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
Support
Post here for quickest support, or send an email to Support@beacongames.com (Finally got my domain emails
)
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.