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 Person Menu

Started by DoctorTodd, March 25, 2012, 06:03:28 AM

0 Members and 1 Guest are viewing this topic.

DoctorTodd

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

  • None planned

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




  • DoctorTodd

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.

DoctorTodd

Alright now it's the official release (1.0.0), meaning you won't get an error if you don't delete those things.
#===============================================================================
#
# 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

chigoo


DoctorTodd

Thanks for showcasing it, it's nice to know someone is using it.

Necrofenser

I am using Quest Journal by modern algebra. And when I add your script Quest Journal disappears from menu. Can you fix this?

&&&&&&&&&&&&&

Try placing Quest Journal above One Person Menu.
&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&

Quote from: Lord Stark on August 14, 2013, 06:14:52 PM
Try placing Quest Journal above One Person Menu.

Did you try doing this?
&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&

&&&&&&&&&&&&&

&&&&&&&&&&&&&&&&

Necrofenser

In order to work with Quest Journal i put this script above modern algebra's Quest Journal. I also modified Gold Window Y parameter to 266 so it won't overlap with menu.