One Actor Menu

Todd

Game Developer
Veteran
Joined
Mar 14, 2012
Messages
269
Reaction score
43
First Language
English
Primarily Uses
N/A
One Actor Menu 1.0.0

by Todd (or DoctorTodd on RMRK)

Introduction

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

http://desmond.image....png&res=medium

How to Use

Paste above main

Select what window skin you want to use

Demo

I don't think it's really necessary.

Script

Code:
#===============================================================================
#
# 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
FAQ

None right now.

Credit and Thanks

- Todd

Author's Notes

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

Rixis (릭시스)

Mecha Queen
Veteran
Joined
Mar 1, 2012
Messages
158
Reaction score
36
First Language
Korean
Primarily Uses
Hey Great script! I was wondering do you think you could make a second script that is sort of an Edit to this, in where you can actually have more than one ally if you want and when you press a button it switches to the other allies stats? or would that be too dificult?
 

Todd

Game Developer
Veteran
Joined
Mar 14, 2012
Messages
269
Reaction score
43
First Language
English
Primarily Uses
N/A
I can give it a shot

EDIT: Alright it's nearly completed.
 
Last edited by a moderator:

Todd

Game Developer
Veteran
Joined
Mar 14, 2012
Messages
269
Reaction score
43
First Language
English
Primarily Uses
N/A
Sorry for the double post. It's almost complete, how ever I'm facing a problem where the status window won't change to the new actor. You can hit Q and W to control what actor is displayed for status, equip, and skills though. The problem is @actor is a local variable only within the scene and can't change in the window. I've tried global variables but they didn't work. I'll continue to search for a solution to the problem. I you wish to use the version I have now you can get it here. http://pastebin.com/Q3fRGay1
 
Last edited by a moderator:

Reyce

Warper
Member
Joined
Sep 9, 2013
Messages
1
Reaction score
0
First Language
English
Primarily Uses
This script is excellent! Does almost exactly what I need. However is there anyway to include the Actor description/basic info? I'm only getting used to scripting for this and I tried calling draw_description(@status_window) as I think this is where its held but I'm not really sure and I its not really working out for me.
 

Todd

Game Developer
Veteran
Joined
Mar 14, 2012
Messages
269
Reaction score
43
First Language
English
Primarily Uses
N/A
Not quite, you need to say where to put it and which actor will use it. You also need to define draw_description, unless it is already defined exactly the same in a parent class. This should aim you in the right direction if you want to try for yourself. If you need me to edit it for you that's fine.

Code:
 @actor = $game_party.members[0]#Draws description for first party member with coordinates 0,0.draw_description(@actor, 0,0)   #--------------------------------------------------------------------------  # * Draw Description  #--------------------------------------------------------------------------  def draw_description(actor, x, y)    draw_text_ex(x, y, actor.description)  end
 
Last edited by a moderator:

BJÖRN

Artist
Member
Joined
Feb 2, 2013
Messages
21
Reaction score
12
First Language
Swedish
Primarily Uses
Hey, and thanks for this great script!

I wonder if it's possible to remove the actor window and somecommands, so that there are only one window where you see Items, Save and Game End, because that would be great to my game, and I have yet to find a script like that, and I can't script on my own. Thanks alot in advance.
 

noablo

ヾ(。◕ฺ∀◕ฺ)ノ
Member
Joined
Mar 23, 2014
Messages
2
Reaction score
0
Primarily Uses
N/A
Thanks for this awesome script! Helped a bunch for my Action RPG! :)
 

Dymdez

Newbie-in-Chief
Veteran
Joined
Feb 4, 2014
Messages
752
Reaction score
155
First Language
English
Primarily Uses
hey your mod rocks for ABS, thanks dude, cant wait to get u a free copy of my free game
 

Latest Threads

Latest Posts

Latest Profile Posts

Holy cow... work is demanding and I'm back in college. I'm kind of scared of my dad right now after the incident, but at least I don't live with him all the time. Anyway, working on Fandom Scouts and my FNAF character set. The FNAF sprites are actually going to be used in the game... unfortunately the enemy sprites are FNAF World traces, so no sharing those.
The honeymoon period is over with Cyberpunk 2077, It sadly doesnt live up to the hype, pretty graphics arent everything (especially when I cant even do something as simple as changing the radio station over!). Replaying Breath of the wild has reminded me what a good game really looks like, plus that one has good glitches!....
Ami


Maybe...a Drinkable Water Plant or something?

Forum statistics

Threads
107,687
Messages
1,031,437
Members
139,804
Latest member
PeJoTa
Top