One Person Menu
Version: 1.1.0
Author: DoctorTodd
Date: 02/19/2012
Version History
- Version 1.1.0 2012/02/19 - Window skin option
- Version 1.0.1 2012/02/19 - Fixed scene error
- Version 1.0.0 2012/02/19 - Original Release
Planned Future Versions
Version 1.1.0 - The ability to use pictures instead of windows Just use my picture menu script.
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(Click to enlarge).
Instructions
Paste above main.
Script
#===============================================================================
#
# DT's One Person Menu
# Author: DoctorTodd
# Date (02/19/2012)
# Type: (Menu)
# Version: (1.1.0)
# Level: (Simple)
# Email: BeaconGames2011@gmail.com
#
#===============================================================================
#
# Description: A menu that is modified to work as if you are only using one
# actor.
#
# Credits: Me (DoctorTodd)
#
#===============================================================================
#
# Instructions
# Paste above main.
#
#===============================================================================
#
# Editing begins 30 and ends 32.
#
#===============================================================================
module DTOPM
#Window skin to use, place in system.
WINDOW = ('Window')
end
class Scene_Menu < Scene_Base
include DTOPM
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@status_window = Window_MenuStatus.new (200, 75)
@status_window.windowskin = Cache.system(DTOPM::WINDOW)
@gold_window = Window_Gold.new(40, 250)
@gold_window.windowskin = Cache.system(DTOPM::WINDOW)
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command_selection
end
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
@command_window.x = 40
@command_window.y = 75
@command_window.windowskin = Cache.system(DTOPM::WINDOW)
if $game_party.members.size == 0 # If number of party members is 0
@command_window.draw_item(0, false) # Disable item
@command_window.draw_item(1, false) # Disable skill
@command_window.draw_item(2, false) # Disable equipment
@command_window.draw_item(3, false) # Disable status
end
if $game_system.save_disabled # If save is forbidden
@command_window.draw_item(4, false) # Disable save
end
end
#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Item
$scene = Scene_Item.new
when 1 # Skill
@actor = $game_party.members[1]
$scene = Scene_Skill.new
when 2 # Equip
@actor = $game_party.members[1]
$scene = Scene_Equip.new
when 3 # Status
@actor = $game_party.members[1]
$scene = Scene_Status.new
when 4 # Save
$scene = Scene_File.new(true, false, false)
when 5 # End Game
$scene = Scene_End.new
end
end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays the characters status on the menu screen.
#==============================================================================
class Window_MenuStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 300, 231)
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_parameter(@actor, 0, 100, 0)
draw_actor_parameter(@actor, 0, 124, 1)
draw_actor_parameter(@actor, 0, 148, 2)
draw_actor_parameter(@actor, 0, 172, 3)
draw_actor_graphic(@actor, 220, 160)
draw_actor_state(@actor, 190, 180, width = 96)
end
end
end
Credit
Support
Post here for quickest support, or send an email to BeaconGames2011@gmail.com
Known Compatibility Issues
None known so far, but overwrites Scene_Menu and Window_MenuStatus. So won't work with anything that uses that.
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.