One Person Menu
Version: 1.0.0
Author: DoctorTodd
Date: 03/25/2012
Version History
- Version 1.0.0 2012/02/19 - Official Release
- Version 0.9.0 2012/02/19 - BETA Release
Planned Future Versions
Description
A menu that is modified to work as if you are only using one
actor.
Features
- Goes to first actor, no actor selection
- Detailed status
- Simple
Screenshots Instructions
Paste above main.
Script
#===============================================================================
#
# DT's One Person Menu
# Author: DoctorTodd
# Date (02/19/2012)
# Type: (Menu)
# Version: (1.0.0) (VXA)
# Level: (Simple)
# Email: BeaconGames2011@gmail.com
#
#===============================================================================
#
# NOTES: 1)This script will only work with ace, you may find my VX version on
# RMRK.net and the rpg maker web forums.
#
#===============================================================================
#
# Description: A menu that is modified to work as if you are only using one
# actor.
#
# 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 DTOPM
#Window skin to use, place in system.
WINDOW = ('Window')
#Status Window X
SX = 200
#Status Window Y
SY = 75
#Gold window X
GX = 40
#Gold Window Y
GY = 242
#Command Window X
CX = 40
#Command Window Y
CY = 75
end
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_background
create_command_window
create_status_window
create_gold_window
end
#--------------------------------------------------------------------------
# * Create Gold Window
#--------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new
@gold_window.x = (DTOPM::GX)
@gold_window.y = (DTOPM::GY)
@gold_window.windowskin = Cache.system(DTOPM::WINDOW)
@gold_window.height = 55
end
#--------------------------------------------------------------------------
# * Create Status Window
#--------------------------------------------------------------------------
def create_status_window
@status_window = Window_MenuInfo.new((DTOPM::SX), (DTOPM::SY))
@status_window.windowskin = Cache.system(DTOPM::WINDOW)
end
#--------------------------------------------------------------------------
# * Create 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(:status, method(:command_status))
@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.x = (DTOPM::CX)
@command_window.y = (DTOPM::CY)
end
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
#--------------------------------------------------------------------------
# * [Status] Command
#--------------------------------------------------------------------------
def command_status
@actor = $game_party.members[0]
SceneManager.call(Scene_Status)
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
#===================================================================
# ** 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, 300, 221)
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, 190, 5)
draw_actor_hp(@actor, 110 ,40)
draw_actor_mp(@actor, 110 , 65)
draw_actor_param(@actor, 0, 100, 0)
draw_actor_param(@actor, 0, 124, 1)
draw_actor_param(@actor, 0, 148, 2)
draw_actor_param(@actor, 0, 172, 3)
draw_actor_graphic(@actor, 220, 160)
draw_actor_icons(@actor, 190, 180, width = 96)
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(0, 0)
select_last
end
#--------------------------------------------------------------------------
# * Get Window Width
#--------------------------------------------------------------------------
def window_width
return 160
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)
add_command(Vocab::status, :status, 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
Credit
Support
Post here for quickest support, or send an email to BeaconGames2011@gmail.com
Known Compatibility Issues
None known so far.
Demo
Pointless
Author's Notes
I decided to write this script because long before I knew anything about scripting I always wanted a menu like this but never requested it.
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.