jamiras843

Veteran
Veteran
Joined
Jun 22, 2013
Messages
32
Reaction score
4
First Language
English
Primarily Uses
DQ Style Menu
Jamiras843 

Introduction
This script is used to give the game a more DQ stylesque menu. It is my first script and rather large and clunky but there is no lag or what not in the playing. I have not encountered any major bugs, just some visual quirks that may annoy such as one window taking longer to fade away etc. Anyway this script was made due no one converting Woratana's lite menu or having a menu system that suits my needs. Thus my script will now be publicized for those who are like me. feel free to PM me if there are any bug issues.
NOTE: Have some ideas for an update but may not get around to it unless there are major bugs :NOTE

Features
V2.00 Fixes known bugs.
V1.50

  • Full customization of windows, sizes, locations, and opacity with minor exceptions (mainly the character HUD)
  • A custom HUD at the bottom of the screen DQ style with options on face graphics, HP/MP, and level display
  • Revamped gold menu
  • Options for a gold/location window
  • Menu style options to have classic RPG Maker character select screen or Classic DQ screen
  • The ability to remove the Save, Quit, or Formation cmd
Screenshots

[IMG]http://i47.tinypic.com/2rdj7eo.png[/IMG]
Menu showing columns and location window

[IMG]http://i47.tinypic.com/w0rujr.png[/IMG]
Showing new character select screen

[IMG]http://i50.tinypic.com/1y79mf.jpg[/IMG]
Showing new gold window with character HUD with no Face Graphic displayed
How to Use
Plug and play in the Materials section above main

Script
#============================================================================# [VXAce] Dragon Quest Menu V2.00#----------------------------------------------------------------------------# By Jamiras843## Features:# V2.00# * Fixed menu close issue# * Added the ability to hide HP/MP Bars# V1.50# * Fixed menu overlap issues# * Added charater HUD with options# V1.00# * Simplified menu layout that has adjustable columns and rows.# * New actor selection menu which is smaller and simpler in design.#============================================================================$imported = {} if $imported.nil?$imported["Dragon Quest Menu"] = truemodule Jami_DQ_Menu#========================================================================# Script options#------------------------------------------------------------------------# Here you edit menu specific things, such as height, x/y origin, column# number, etc.## Make all simple edits here! They are easy to understand and labled!#========================================================================WINDOW_OPACITY = 255 #Number 0-255 that determines window opacityDRAW_HP_MP_BARS = false #If true shows default RPG maker barMENU_COLUMN = 2 #Number of columns for the menuMENU_LINE = 2 #Number of max lines for the menuMENU_HEIGHT = 100 #Menu height (at least 80 per line, no <80)MENU_WIDTH = 180 #Menu width (at least 90 per column)MENU_X = 0 #Menu X originMENU_Y = 0 #Menu Y originLOC_X = 0 #Custom location window X originLOC_Y = 306 - 75 #Custom location window Y originGOLD_X = 0 #Custom gold window X originGOLD_Y = 306 - 54 #Custom gold window Y origin#=========================================================================# Menu Command options#-------------------------------------------------------------------------# This is where you set up what commands you want in the menu, including# custom ones using common events.#=========================================================================SHOW_SAVE_CMD = false #If false removes save option from menuSHOW_EXIT_GAME = true #If false removes quit game option from the menuSHOW_FORMATION = true #If false removes the formation commandSHOW_LOCATION = true #If true shows custom gold window w/ locationVOCAB_LOC = "Location:"VOCAB_GOLD = "Gold Coins:"SIMPLE_STATUS = true #If true shows a list staus menu DW2,3,&4 styleACTOR_WINDOW = trueSHOW_FACE = trueSHOW_HP = trueSHOW_MP = trueSHOW_LEVEL = trueend #end module Jami_DQ_Menu#============================================================================# WARNING: Do not edit below unless you know what you are doing. This script# is rather sloppy but it does its job.#============================================================================#============================================================================# * DQ Window (over writes menu command window)#============================================================================class Window_DQ_Menu < Window_Command#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initializesuper(Jami_DQ_Menu::MENU_X, Jami_DQ_Menu::MENU_Y)end#--------------------------------------------------------------------------# * Get Number of Lines to Show#--------------------------------------------------------------------------def visible_line_numberreturn Jami_DQ_Menu::MENU_LINEend#--------------------------------------------------------------------------# * Get Digit Count#--------------------------------------------------------------------------def col_maxreturn Jami_DQ_Menu::MENU_COLUMNend#--------------------------------------------------------------------------# * Set Width#--------------------------------------------------------------------------def window_widthreturn Jami_DQ_Menu::MENU_WIDTHend#--------------------------------------------------------------------------# * Set Height#--------------------------------------------------------------------------def window_heightreturn Jami_DQ_Menu::MENU_HEIGHTend#--------------------------------------------------------------------------# * Create Command List#--------------------------------------------------------------------------def make_command_listadd_main_commandsadd_formation_commandadd_game_end_commandend#--------------------------------------------------------------------------# * Create Command List#--------------------------------------------------------------------------def make_command_listadd_main_commandsadd_formation_commandadd_save_commandadd_game_end_commandend#--------------------------------------------------------------------------# * Add Main Commands to List#--------------------------------------------------------------------------def add_main_commandsadd_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#--------------------------------------------------------------------------# * Add Save to Command List#--------------------------------------------------------------------------def add_save_commandadd_command(Vocab::save, :save, save_enabled) if Jami_DQ_Menu::SHOW_SAVE_CMD == trueend#--------------------------------------------------------------------------# * Add Formation to Command List#--------------------------------------------------------------------------def add_formation_commandadd_command(Vocab::formation, :formation, formation_enabled) if Jami_DQ_Menu::SHOW_FORMATION == trueend#--------------------------------------------------------------------------# * Add Exit Game to Command List#--------------------------------------------------------------------------def add_game_end_commandadd_command(Vocab::game_end, :game_end) if Jami_DQ_Menu::SHOW_EXIT_GAME == trueend#-------------------------------------------------------------------------# * Get Activation State of Main Commands#-------------------------------------------------------------------------def main_commands_enabled$game_party.existsend#-------------------------------------------------------------------------# * Get Activation State of Save#-------------------------------------------------------------------------def save_enabled!$game_system.save_disabledend#-------------------------------------------------------------------------# * Get Activation State of Formation#-------------------------------------------------------------------------def formation_enabled$game_party.members.size >= 2 && !$game_system.formation_disabledendend #class Window_DQ_Menu#============================================================================# * Window Base#----------------------------------------------------------------------------# Edit which changes base window#============================================================================class Window_Base < Window#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initialize(x, y, width, height)superself.windowskin = Cache.system("Window")update_paddingupdate_tonecreate_contents@opening = @closing = falseself.back_opacity = Jami_DQ_Menu::WINDOW_OPACITYend#--------------------------------------------------------------------------# * Draw HP#--------------------------------------------------------------------------def draw_actor_hp(actor, x, y, width = 124)if Jami_DQ_Menu::DRAW_HP_MP_BARS == truedraw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)endchange_color(system_color)draw_text(x, y, 30, line_height, Vocab::hp_a)draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,hp_color(actor), normal_color)end#--------------------------------------------------------------------------# * Draw MP#--------------------------------------------------------------------------def draw_actor_mp(actor, x, y, width = 124)if Jami_DQ_Menu::DRAW_HP_MP_BARS == truedraw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)endchange_color(system_color)draw_text(x, y, 30, line_height, Vocab::mp_a)draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,mp_color(actor), normal_color)endend#============================================================================# ** Gold/location Window#============================================================================class Window_Location < Window_Base#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initializesuper(Jami_DQ_Menu::LOC_X, Jami_DQ_Menu::LOC_Y,300,75)self.contents = Bitmap.new(width - 32, height - 32)refreshend#--------------------------------------------------------------------------# * Refresh#--------------------------------------------------------------------------def refreshself.contents.clearself.contents.draw_text(0,0,140,32, Jami_DQ_Menu::VOCAB_LOC)self.contents.draw_text(120,0,140,32, $game_map.display_name)self.contents.draw_text(0,20,140,32, Jami_DQ_Menu::VOCAB_GOLD)self.contents.draw_text(120,20,140,32, $game_party.gold)endend #end class Window_Location#============================================================================# ** Gold Window (No location)#============================================================================class Window_Gold < Window_Base#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initializesuper(Jami_DQ_Menu::GOLD_X, Jami_DQ_Menu::GOLD_Y,245,54)self.contents = Bitmap.new(width - 32, height - 32)refreshend#--------------------------------------------------------------------------# * Refresh#--------------------------------------------------------------------------def refreshself.contents.clearself.contents.draw_text(0,0,140,32, Jami_DQ_Menu::VOCAB_GOLD)self.contents.draw_text(120,0,140,32, $game_party.gold)endend #end class Window_Location#============================================================================# ** Actor Window#============================================================================class Window_Actor < Window_Base#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initializeif $game_party.members.size < 4super(0,306,110 * $game_party.members.size,110)elsesuper(0,306,110 * 4,110)endcreate_contents@actor1 = $game_party.members[0]@actor2 = $game_party.members[1]@actor3 = $game_party.members[2]@actor4 = $game_party.members[3]refreshend#----------------------------------------------------# * Refresh#----------------------------------------------------def refreshcontents.cleardraw_window_contentdraw_horiz_line (line_height * 1)end#----------------------------------------------------# * Draw Window Contents#----------------------------------------------------def draw_window_content# Faceif Jami_DQ_Menu::SHOW_FACE == truedraw_face(@actor1.face_name, @actor1.face_index, 0, 0, enabled = false)if $game_party.members.size > 1draw_face(@actor2.face_name, @actor2.face_index, 110, 0, enable = false)end # > 1if $game_party.members.size > 2draw_face(@actor3.face_name, @actor3.face_index, 220, 0, enable = false)end # > 2if $game_party.members.size > 3draw_face(@actor4.face_name, @actor4.face_index, 330, 0, enable = false)end # > 3end # if face# Actor Namedraw_actor_name(@actor1, 0, 0)if $game_party.members.size > 1draw_actor_name(@actor2, 110, 0)end # > 1if $game_party.members.size > 2draw_actor_name(@actor3, 220, 0)end # > 2if $game_party.members.size > 3draw_actor_name(@actor4, 330, 0)end # > 3# Actor HPif Jami_DQ_Menu::SHOW_HP == truedraw_actor_hp(@actor1, 0, 24, 80)if $game_party.members.size > 1draw_actor_hp(@actor2, 110, 24, 80)end # > 1if $game_party.members.size > 2draw_actor_hp(@actor3, 220, 24, 80)end # > 2if $game_party.members.size > 3draw_actor_hp(@actor4, 330, 24, 80)end # > 3end #if SHOW_HP# Actor MPif Jami_DQ_Menu::SHOW_MP == truedraw_actor_mp(@actor1, 0, 44, 80)if $game_party.members.size > 1draw_actor_mp(@actor2, 110, 44, 80)end # > 1if $game_party.members.size > 2draw_actor_mp(@actor3, 220, 44, 80)end # > 2if $game_party.members.size > 3draw_actor_mp(@actor4, 330, 44, 80)end # > 3end #if SHOW_MP# Actor LVif Jami_DQ_Menu::SHOW_LEVEL == truedraw_actor_level(@actor1, 0, 64)if $game_party.members.size > 1draw_actor_level(@actor2, 110, 64)end # > 1if $game_party.members.size > 2draw_actor_level(@actor3, 220, 64)end # > 2if $game_party.members.size > 3draw_actor_level(@actor4, 330, 64)end # > 3end #if SHOW_Levelend # df draw_window_contentend #end class Window_Location#--------------------------------------------------------------------------# * Draw Horizontal Line#--------------------------------------------------------------------------def draw_horiz_line(y)contents.fill_rect(0, 22, contents_width, 2, line_color)end#--------------------------------------------------------------------------# * Get Color of Horizontal Line#--------------------------------------------------------------------------def line_colorcolor = normal_colorcolor.alpha = 200colorend#==============================================================================# ** Window_MenuStatus#------------------------------------------------------------------------------# This window displays party member status on the menu screen.#==============================================================================class Window_Simple_MenuStatus < Window_Selectable#--------------------------------------------------------------------------# * Public Instance Variables#--------------------------------------------------------------------------attr_reader :pending_index # Pending position (for formation)#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------def initialize(x, y)super(x, y, window_width, window_height)@pending_index = -1refreshend#--------------------------------------------------------------------------# * Get Window Width#--------------------------------------------------------------------------def window_widthJami_DQ_Menu::MENU_WIDTHend#--------------------------------------------------------------------------# * Get Window Height#--------------------------------------------------------------------------def window_height124end#--------------------------------------------------------------------------# * Get Number of Items#--------------------------------------------------------------------------def item_max$game_party.members.sizeend#--------------------------------------------------------------------------# * Get Item Height#--------------------------------------------------------------------------def item_height22end#--------------------------------------------------------------------------# * Draw Item#--------------------------------------------------------------------------def draw_item(index)actor = $game_party.members[index]enabled = $game_party.battle_members.include?(actor)rect = item_rect(index)draw_item_background(index)draw_actor_name(actor, 4, rect.y - 2)end#--------------------------------------------------------------------------# * Draw Background for Item#--------------------------------------------------------------------------def draw_item_background(index)if index == @pending_indexcontents.fill_rect(item_rect(index), pending_color)endend#--------------------------------------------------------------------------# * Processing When OK Button Is Pressed#--------------------------------------------------------------------------def process_oksuper$game_party.menu_actor = $game_party.members[index]end#--------------------------------------------------------------------------# * Restore Previous Selection Position#--------------------------------------------------------------------------def select_lastselect($game_party.menu_actor.index || 0)end#--------------------------------------------------------------------------# * Set Pending Position (for Formation)#--------------------------------------------------------------------------def pending_index=(index)last_pending_index = @pending_index@pending_index = indexredraw_item(@pending_index)redraw_item(last_pending_index)endend#============================================================================# ** Scene_Menu#----------------------------------------------------------------------------# This overwrites menu#============================================================================class Scene_Menu < Scene_MenuBase#--------------------------------------------------------------------------# * Start Processing#--------------------------------------------------------------------------def startsupercreate_command_windowif Jami_DQ_Menu::SHOW_LOCATION == falsecreate_gold_windowelsecreate_location_windowendif Jami_DQ_Menu::SIMPLE_STATUS == falsecreate_status_windowelsecreate_simple_status_windowendif Jami_DQ_Menu::ACTOR_WINDOW == truecreate_actor_windowendend#--------------------------------------------------------------------------# * Create Command Window#--------------------------------------------------------------------------def create_command_window@command_window = Window_DQ_Menu.new@command_window.set_handler:)item, method:)command_item))@command_window.set_handler:)skill, method:)command_personal))@command_window.set_handler:)equip, method:)command_personal))@command_window.set_handler:)status, method:)command_personal))@command_window.set_handler:)formation, method:)command_formation))@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))end#--------------------------------------------------------------------------# * Create Status Window#--------------------------------------------------------------------------def create_status_window@status_window = Window_MenuStatus.new(0,0)@status_window.hideend#--------------------------------------------------------------------------# * Create Simple Status Window#--------------------------------------------------------------------------def create_simple_status_window@simple_status_window = Window_Simple_MenuStatus.new(0,0)@simple_status_window.hideend#--------------------------------------------------------------------------# * [Skill], [Equipment] and [Status] Commands#--------------------------------------------------------------------------def command_personalif Jami_DQ_Menu::SIMPLE_STATUS == false@status_window.show@command_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.hideend@status_window.select_last@status_window.activate@status_window.set_handler:)ok, method:)on_personal_ok))@status_window.set_handler:)cancel, method:)on_personal_cancel))else@simple_status_window.show@command_window.hide@simple_status_window.select_last@simple_status_window.activate@simple_status_window.set_handler:)ok, method:)on_personal_ok))@simple_status_window.set_handler:)cancel, method:)on_personal_cancel))endend#--------------------------------------------------------------------------# * [Cancel] Personal Command#--------------------------------------------------------------------------def on_personal_cancelif Jami_DQ_Menu::SIMPLE_STATUS == false@status_window.unselect@status_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.newend@command_window.show@command_window.activateelse@simple_status_window.unselect@command_window.show@simple_status_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.newend@command_window.activateendend#--------------------------------------------------------------------------# * [Formation] Command#--------------------------------------------------------------------------def command_formationif Jami_DQ_Menu::SIMPLE_STATUS == false@status_window.show@command_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.hideend@status_window.select_last@status_window.activate@status_window.set_handler:)ok, method:)on_formation_ok))@status_window.set_handler:)cancel, method:)on_formation_cancel))else@simple_status_window.show@command_window.hide@simple_status_window.select_last@simple_status_window.activate@simple_status_window.set_handler:)ok, method:)on_formation_ok))@simple_status_window.set_handler:)cancel, method:)on_formation_cancel))endend#--------------------------------------------------------------------------# * Formation [OK]#--------------------------------------------------------------------------def on_formation_okif Jami_DQ_Menu::SIMPLE_STATUS == falseif @status_window.pending_index >= 0$game_party.swap_order(@status_window.index,@status_window.pending_index)@status_window.pending_index = -1@status_window.redraw_item(@status_window.index)if Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.new@actor_window.hideendelse@status_window.pending_index = @status_window.indexend@status_window.activateelseif @simple_status_window.pending_index >= 0$game_party.swap_order(@simple_status_window.index,@simple_status_window.pending_index)@simple_status_window.pending_index = -1@simple_status_window.redraw_item(@simple_status_window.index)if Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.newendelse@simple_status_window.pending_index = @simple_status_window.indexend@simple_status_window.activateendend#--------------------------------------------------------------------------# * Formation [Cancel]#--------------------------------------------------------------------------def on_formation_cancelif Jami_DQ_Menu::SIMPLE_STATUS == falseif @status_window.pending_index >= 0@status_window.pending_index = -1@status_window.activateelse@status_window.unselect@status_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.newend@command_window.show@command_window.activateendelseif @simple_status_window.pending_index >= 0@simple_status_window.pending_index = -1@simple_status_window.activateelse@simple_status_window.unselect@simple_status_window.hideif Jami_DQ_Menu::ACTOR_WINDOW == true@actor_window.dispose@actor_window = Window_Actor.newend@command_window.show@command_window.activateendendend#--------------------------------------------------------------------------# * Location window#--------------------------------------------------------------------------def create_location_window@location_window = Window_Location.newend#--------------------------------------------------------------------------# * Create Gold Window#--------------------------------------------------------------------------def create_gold_window@gold_window = Window_Gold.newend#--------------------------------------------------------------------------# * Create Actor Window#--------------------------------------------------------------------------def create_actor_window@actor_window = Window_Actor.newendend # end Scene_Menu
FAQ
None as of yet

Credit and Thanks
  • Jamiras843
  • Woratana (influence)
  • lilcooldude69 (modified HUD)
  • EvilEagles (menu opacity code)
Author's Notes (AKA Bug Log)

  • none note as of V2.00.
 

Hytporsche

Veteran
Veteran
Joined
Jan 28, 2013
Messages
90
Reaction score
1
First Language
English
Primarily Uses
I would like to say that this script is absolutely amazing! I truly like your scripting style. Very easy to modify even for a non-scripter like myself and just all around fun. I have a 2 screenshots below, it shows the magnitude of how flexible your script can really be and to show others as well. Everything you see on the screenshot is functional and works like a charm. Now, since your script is very flexible, I have been able to make several clones of the windows, which allows more of the functional feel to co-exist with the visual aspect. The second screenshot shows what I mean. Its more or less hard to explain when i mean clones. Basically... Window_Simple_MenuStatus, Window_Simple_MenuStatus1, Window_Simple_MenuStatus2 etc.

Anyways, I look forward to seeing more amazing scripts from you  :D

Screenshots:

[IMG]http://i41.tinypic.com/5aqmf6.png[/IMG]

[IMG]http://i42.tinypic.com/2z8uu85.png[/IMG]
 

jamiras843

Veteran
Veteran
Joined
Jun 22, 2013
Messages
32
Reaction score
4
First Language
English
Primarily Uses
Well actually I'm a non-scripter as well, but I'm glad it's getting some use!
 

IttaBaby

Villager
Member
Joined
Aug 19, 2016
Messages
7
Reaction score
0
First Language
English
Primarily Uses
I realize this thread is very old, but there's a problem with the script. Namely that it's not formatted properly, it's just sort of one really long line that can't be read correctly. Is there a way for you to fix that?
 

ts50

Veteran
Veteran
Joined
Nov 10, 2016
Messages
2,178
Reaction score
4,289
First Language
English, French
Primarily Uses
RMVXA
I realize this thread is very old, but there's a problem with the script. Namely that it's not formatted properly, it's just sort of one really long line that can't be read correctly. Is there a way for you to fix that?
Right here:
Code:
#============================================================================
# [VXAce] Dragon Quest Menu V2.00
#----------------------------------------------------------------------------
# By Jamiras843
#
# Features:
#     V2.00
#     * Fixed menu close issue
#     * Added the ability to hide HP/MP Bars
#     V1.50
#     * Fixed menu overlap issues
#     * Added charater HUD with options
#     V1.00
#     * Simplified menu layout that has adjustable columns and rows.
#     * New actor selection menu which is smaller and simpler in design.
#============================================================================
$imported = {} if $imported.nil?
$imported["Dragon Quest Menu"] = true

module Jami_DQ_Menu
 #========================================================================
 # Script options
 #------------------------------------------------------------------------
 # Here you edit menu specific things, such as height, x/y origin, column
 # number, etc.
 #
 # Make all simple edits here! They are easy to understand and labled!
 #========================================================================
 WINDOW_OPACITY = 255 #Number 0-255 that determines window opacity
 DRAW_HP_MP_BARS = false #If true shows default RPG maker bar
 MENU_COLUMN = 2    #Number of columns for the menu
 MENU_LINE = 2      #Number of max lines for the menu
 MENU_HEIGHT = 100   #Menu height (at least 80 per line, no <80)
 MENU_WIDTH = 180   #Menu width (at least 90 per column)
 MENU_X = 0        #Menu X origin
 MENU_Y = 0         #Menu Y origin
 LOC_X = 0       #Custom location window X origin
 LOC_Y = 306 - 75          #Custom location window Y origin   
 GOLD_X = 0      #Custom gold window X origin
 GOLD_Y = 306 - 54         #Custom gold window Y origin
 #=========================================================================
 # Menu Command options
 #-------------------------------------------------------------------------
 # This is where you set up what commands you want in the menu, including
 # custom ones using common events.
 #=========================================================================
 SHOW_SAVE_CMD = false #If false removes save option from menu
 SHOW_EXIT_GAME = true #If false removes quit game option from the menu
 SHOW_FORMATION = true #If false removes the formation command
 SHOW_LOCATION = true #If true shows custom gold window w/ location
     VOCAB_LOC = "Location:"
     VOCAB_GOLD = "Gold Coins:"
 SIMPLE_STATUS = true #If true shows a list staus menu DW2,3,&4 style
 ACTOR_WINDOW = true
     SHOW_FACE = true
     SHOW_HP = true
     SHOW_MP = true
     SHOW_LEVEL = true
end #end module Jami_DQ_Menu

#============================================================================   
# WARNING: Do not edit below unless you know what you are doing. This script
# is rather sloppy but it does its job.
#============================================================================

#============================================================================
# * DQ Window (over writes menu command window)
#============================================================================
class Window_DQ_Menu < Window_Command
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
       super(Jami_DQ_Menu::MENU_X, Jami_DQ_Menu::MENU_Y)
 end
 #--------------------------------------------------------------------------
 # * Get Number of Lines to Show
 #--------------------------------------------------------------------------
 def visible_line_number
       return Jami_DQ_Menu::MENU_LINE
 end
 #--------------------------------------------------------------------------
 # * Get Digit Count
 #--------------------------------------------------------------------------
 def col_max
       return Jami_DQ_Menu::MENU_COLUMN
 end
 #--------------------------------------------------------------------------
 # * Set Width
 #--------------------------------------------------------------------------
 def window_width
       return Jami_DQ_Menu::MENU_WIDTH
 end
 #--------------------------------------------------------------------------
 # * Set Height
 #--------------------------------------------------------------------------
 def window_height
       return Jami_DQ_Menu::MENU_HEIGHT
 end
 #--------------------------------------------------------------------------
 # * Create Command List
 #--------------------------------------------------------------------------
 def make_command_list
       add_main_commands
       add_formation_command
       add_game_end_command
 end
 #--------------------------------------------------------------------------
 # * Create Command List
 #--------------------------------------------------------------------------
 def make_command_list
       add_main_commands
       add_formation_command
       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
 #--------------------------------------------------------------------------
 # * Add Save to Command List
 #--------------------------------------------------------------------------
 def add_save_command
       add_command(Vocab::save, :save, save_enabled) if Jami_DQ_Menu::SHOW_SAVE_CMD == true
 end
 #--------------------------------------------------------------------------
 # * Add Formation to Command List
 #--------------------------------------------------------------------------
 def add_formation_command
       add_command(Vocab::formation, :formation, formation_enabled) if Jami_DQ_Menu::SHOW_FORMATION == true
 end
 #--------------------------------------------------------------------------
 # * Add Exit Game to Command List
 #--------------------------------------------------------------------------
 def add_game_end_command
       add_command(Vocab::game_end, :game_end) if Jami_DQ_Menu::SHOW_EXIT_GAME == true
 end
 #-------------------------------------------------------------------------
 # * Get Activation State of Main Commands
 #-------------------------------------------------------------------------
 def main_commands_enabled
       $game_party.exists
 end
 #-------------------------------------------------------------------------
 # * Get Activation State of Save
 #-------------------------------------------------------------------------
 def save_enabled
   !$game_system.save_disabled
 end
 #-------------------------------------------------------------------------
 # * Get Activation State of Formation
 #-------------------------------------------------------------------------
 def formation_enabled
       $game_party.members.size >= 2 && !$game_system.formation_disabled
 end
end #class Window_DQ_Menu
#============================================================================
# * Window Base
#----------------------------------------------------------------------------
# Edit which changes base window
#============================================================================
class Window_Base < Window
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(x, y, width, height)
   super
   self.windowskin = Cache.system("Window")
   update_padding
   update_tone
   create_contents
   @opening = @closing = false
   self.back_opacity = Jami_DQ_Menu::WINDOW_OPACITY
 end

 #--------------------------------------------------------------------------
 # * Draw HP
 #--------------------------------------------------------------------------
 def draw_actor_hp(actor, x, y, width = 124)
   if Jami_DQ_Menu::DRAW_HP_MP_BARS == true
   draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
   end
   change_color(system_color)
   draw_text(x, y, 30, line_height, Vocab::hp_a)
   draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
     hp_color(actor), normal_color)
   end

 #--------------------------------------------------------------------------
 # * Draw MP
 #--------------------------------------------------------------------------
 def draw_actor_mp(actor, x, y, width = 124)
   if Jami_DQ_Menu::DRAW_HP_MP_BARS == true
   draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
   end
   change_color(system_color)
   draw_text(x, y, 30, line_height, Vocab::mp_a)
   draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
   mp_color(actor), normal_color)
   end
end

#============================================================================
# ** Gold/location Window
#============================================================================
class Window_Location < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
       super(Jami_DQ_Menu::LOC_X, Jami_DQ_Menu::LOC_Y,300,75)
       self.contents = Bitmap.new(width - 32, height - 32)
       refresh

     end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.draw_text(0,0,140,32, Jami_DQ_Menu::VOCAB_LOC)
   self.contents.draw_text(120,0,140,32, $game_map.display_name)
   self.contents.draw_text(0,20,140,32, Jami_DQ_Menu::VOCAB_GOLD)
   self.contents.draw_text(120,20,140,32, $game_party.gold)
 end
end #end class Window_Location

#============================================================================
# ** Gold Window (No location)
#============================================================================
class Window_Gold < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
       super(Jami_DQ_Menu::GOLD_X, Jami_DQ_Menu::GOLD_Y,245,54)
       self.contents = Bitmap.new(width - 32, height - 32)
       refresh

     end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.draw_text(0,0,140,32, Jami_DQ_Menu::VOCAB_GOLD)
   self.contents.draw_text(120,0,140,32, $game_party.gold)
 end
end #end class Window_Location

#============================================================================
# ** Actor Window
#============================================================================
class Window_Actor < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
   if $game_party.members.size < 4
       super(0,306,110 * $game_party.members.size,110)
   else
       super(0,306,110 * 4,110)
   end
       create_contents
       @actor1 = $game_party.members[0]
       @actor2 = $game_party.members[1]
       @actor3 = $game_party.members[2]
       @actor4 = $game_party.members[3]
       refresh
 end
  #----------------------------------------------------
  # * Refresh
  #----------------------------------------------------
 def refresh
       contents.clear
       draw_window_content
       draw_horiz_line (line_height * 1)

     end
  #----------------------------------------------------
  # * Draw Window Contents
  #----------------------------------------------------
 def draw_window_content

   # Face
      if Jami_DQ_Menu::SHOW_FACE == true
   draw_face(@actor1.face_name, @actor1.face_index, 0, 0, enabled = false)
      if $game_party.members.size > 1
   draw_face(@actor2.face_name, @actor2.face_index, 110, 0, enable = false)
      end # > 1
      if $game_party.members.size > 2
   draw_face(@actor3.face_name, @actor3.face_index, 220, 0, enable = false)
      end # > 2
      if $game_party.members.size > 3
   draw_face(@actor4.face_name, @actor4.face_index, 330, 0, enable = false)
      end # > 3
    end # if face

   # Actor Name
   draw_actor_name(@actor1, 0, 0)
     if $game_party.members.size > 1
   draw_actor_name(@actor2, 110, 0)
      end # > 1
      if $game_party.members.size > 2
   draw_actor_name(@actor3, 220, 0)
      end # > 2
      if $game_party.members.size > 3
   draw_actor_name(@actor4, 330, 0)
      end # > 3

   # Actor HP
   if Jami_DQ_Menu::SHOW_HP == true
   draw_actor_hp(@actor1, 0, 24, 80)
     if $game_party.members.size > 1
   draw_actor_hp(@actor2, 110, 24, 80)
      end # > 1
      if $game_party.members.size > 2
   draw_actor_hp(@actor3, 220, 24, 80)
      end # > 2
      if $game_party.members.size > 3
   draw_actor_hp(@actor4, 330, 24, 80)
      end # > 3
   end #if SHOW_HP

   # Actor MP
   if Jami_DQ_Menu::SHOW_MP == true
   draw_actor_mp(@actor1, 0, 44, 80)
     if $game_party.members.size > 1
   draw_actor_mp(@actor2, 110, 44, 80)
      end # > 1
      if $game_party.members.size > 2
   draw_actor_mp(@actor3, 220, 44, 80)
      end # > 2
      if $game_party.members.size > 3
   draw_actor_mp(@actor4, 330, 44, 80)
      end # > 3
   end #if SHOW_MP

   # Actor LV
   if Jami_DQ_Menu::SHOW_LEVEL == true
   draw_actor_level(@actor1, 0, 64)
     if $game_party.members.size > 1
   draw_actor_level(@actor2, 110, 64)
      end # > 1
      if $game_party.members.size > 2
   draw_actor_level(@actor3, 220, 64)
      end # > 2
      if $game_party.members.size > 3
   draw_actor_level(@actor4, 330, 64)
      end # > 3
   end #if SHOW_Level
 end # df draw_window_content
end #end class Window_Location

 #--------------------------------------------------------------------------
 # * Draw Horizontal Line
 #--------------------------------------------------------------------------
 def draw_horiz_line(y)
   contents.fill_rect(0, 22, contents_width, 2, line_color)
 end
 #--------------------------------------------------------------------------
 # * Get Color of Horizontal Line
 #--------------------------------------------------------------------------
 def line_color
   color = normal_color
   color.alpha = 200
   color
 end


#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_Simple_MenuStatus < Window_Selectable
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader   :pending_index            # Pending position (for formation)
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(x, y)
   super(x, y, window_width, window_height)
   @pending_index = -1
   refresh
 end
 #--------------------------------------------------------------------------
 # * Get Window Width
 #--------------------------------------------------------------------------
 def window_width
   Jami_DQ_Menu::MENU_WIDTH
 end
 #--------------------------------------------------------------------------
 # * Get Window Height
 #--------------------------------------------------------------------------
 def window_height
   124
 end
 #--------------------------------------------------------------------------
 # * Get Number of Items
 #--------------------------------------------------------------------------
 def item_max
   $game_party.members.size
 end
 #--------------------------------------------------------------------------
 # * Get Item Height
 #--------------------------------------------------------------------------
 def item_height
   22
 end
 #--------------------------------------------------------------------------
 # * Draw Item
 #--------------------------------------------------------------------------
 def draw_item(index)
   actor = $game_party.members[index]
   enabled = $game_party.battle_members.include?(actor)
   rect = item_rect(index)
   draw_item_background(index)
   draw_actor_name(actor, 4, rect.y - 2)

 end
 #--------------------------------------------------------------------------
 # * Draw Background for Item
 #--------------------------------------------------------------------------
 def draw_item_background(index)
   if index == @pending_index
     contents.fill_rect(item_rect(index), pending_color)
   end
 end
 #--------------------------------------------------------------------------
 # * Processing When OK Button Is Pressed
 #--------------------------------------------------------------------------
 def process_ok
   super
   $game_party.menu_actor = $game_party.members[index]
 end
 #--------------------------------------------------------------------------
 # * Restore Previous Selection Position
 #--------------------------------------------------------------------------
 def select_last
   select($game_party.menu_actor.index || 0)
 end
 #--------------------------------------------------------------------------
 # * Set Pending Position (for Formation)
 #--------------------------------------------------------------------------
 def pending_index=(index)
   last_pending_index = @pending_index
   @pending_index = index
   redraw_item(@pending_index)
   redraw_item(last_pending_index)
 end
end


#============================================================================
# ** Scene_Menu
#----------------------------------------------------------------------------
#  This overwrites menu
#============================================================================

class Scene_Menu < Scene_MenuBase
 #--------------------------------------------------------------------------
 # * Start Processing
 #--------------------------------------------------------------------------
 def start
   super
   create_command_window
   if Jami_DQ_Menu::SHOW_LOCATION == false
     create_gold_window
   else
     create_location_window
   end
   if Jami_DQ_Menu::SIMPLE_STATUS == false
     create_status_window
   else
     create_simple_status_window
   end
   if Jami_DQ_Menu::ACTOR_WINDOW == true
     create_actor_window
   end
 end
 #--------------------------------------------------------------------------
 # * Create Command Window
 #--------------------------------------------------------------------------
 def create_command_window
   @command_window = Window_DQ_Menu.new
   @command_window.set_handler(:item,      method(:command_item))
   @command_window.set_handler(:skill,     method(:command_personal))
   @command_window.set_handler(:equip,     method(:command_personal))
   @command_window.set_handler(:status,    method(:command_personal))
   @command_window.set_handler(:formation, method(:command_formation))
   @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))

 end
 #--------------------------------------------------------------------------
 # * Create Status Window
 #--------------------------------------------------------------------------
 def create_status_window
   @status_window = Window_MenuStatus.new(0,0)
   @status_window.hide
 end
 #--------------------------------------------------------------------------
 # * Create Simple Status Window
 #--------------------------------------------------------------------------
 def create_simple_status_window
   @simple_status_window = Window_Simple_MenuStatus.new(0,0)
   @simple_status_window.hide
 end
 #--------------------------------------------------------------------------
 # * [skill], [Equipment] and [status] Commands
 #--------------------------------------------------------------------------
 def command_personal
   if Jami_DQ_Menu::SIMPLE_STATUS == false
   @status_window.show
   @command_window.hide
   if Jami_DQ_Menu::ACTOR_WINDOW == true
   @actor_window.hide
   end
   @status_window.select_last
   @status_window.activate
   @status_window.set_handler(:ok,     method(:on_personal_ok))
   @status_window.set_handler(:cancel, method(:on_personal_cancel))
   else
   @simple_status_window.show
   @command_window.hide
   @simple_status_window.select_last
   @simple_status_window.activate
   @simple_status_window.set_handler(:ok,     method(:on_personal_ok))
   @simple_status_window.set_handler(:cancel, method(:on_personal_cancel))
   end
 end
 #--------------------------------------------------------------------------
 # * [Cancel] Personal Command
 #--------------------------------------------------------------------------
 def on_personal_cancel
   if Jami_DQ_Menu::SIMPLE_STATUS == false
   @status_window.unselect
   @status_window.hide
   if Jami_DQ_Menu::ACTOR_WINDOW == true
   @actor_window.dispose
   @actor_window = Window_Actor.new
   end
   @command_window.show
   @command_window.activate
   else
   @simple_status_window.unselect
   @command_window.show
   @simple_status_window.hide
   if Jami_DQ_Menu::ACTOR_WINDOW == true
   @actor_window.dispose
   @actor_window = Window_Actor.new
   end
   @command_window.activate
   end
 end
 #--------------------------------------------------------------------------
 # * [Formation] Command
 #--------------------------------------------------------------------------
 def command_formation
   if Jami_DQ_Menu::SIMPLE_STATUS == false
   @status_window.show
   @command_window.hide
   if Jami_DQ_Menu::ACTOR_WINDOW == true
   @actor_window.hide
   end
   @status_window.select_last
   @status_window.activate
   @status_window.set_handler(:ok,     method(:on_formation_ok))
   @status_window.set_handler(:cancel, method(:on_formation_cancel))
   else
   @simple_status_window.show
   @command_window.hide
   @simple_status_window.select_last
   @simple_status_window.activate
   @simple_status_window.set_handler(:ok,     method(:on_formation_ok))
   @simple_status_window.set_handler(:cancel, method(:on_formation_cancel))
   end
 end     
 #--------------------------------------------------------------------------
 # * Formation [OK]
 #--------------------------------------------------------------------------
 def on_formation_ok
   if Jami_DQ_Menu::SIMPLE_STATUS == false
   if @status_window.pending_index >= 0
     $game_party.swap_order(@status_window.index,
                            @status_window.pending_index)
     @status_window.pending_index = -1
     @status_window.redraw_item(@status_window.index)
     if Jami_DQ_Menu::ACTOR_WINDOW == true
     @actor_window.dispose
     @actor_window = Window_Actor.new
     @actor_window.hide
     end
   else
     @status_window.pending_index = @status_window.index
   end
   @status_window.activate
   else
   if @simple_status_window.pending_index >= 0
     $game_party.swap_order(@simple_status_window.index,
                            @simple_status_window.pending_index)
     @simple_status_window.pending_index = -1
     @simple_status_window.redraw_item(@simple_status_window.index)
     if Jami_DQ_Menu::ACTOR_WINDOW == true
     @actor_window.dispose
     @actor_window = Window_Actor.new
     end
   else
     @simple_status_window.pending_index = @simple_status_window.index
   end
   @simple_status_window.activate
   end
 end
 #--------------------------------------------------------------------------
 # * Formation [Cancel]
 #--------------------------------------------------------------------------
 def on_formation_cancel
   if Jami_DQ_Menu::SIMPLE_STATUS == false
     if @status_window.pending_index >= 0
       @status_window.pending_index = -1
       @status_window.activate
     else
       @status_window.unselect
       @status_window.hide
       if Jami_DQ_Menu::ACTOR_WINDOW == true
     @actor_window.dispose
     @actor_window = Window_Actor.new
     end
       @command_window.show
       @command_window.activate
     end
     else
     if @simple_status_window.pending_index >= 0
       @simple_status_window.pending_index = -1
       @simple_status_window.activate
     else
       @simple_status_window.unselect
       @simple_status_window.hide
       if Jami_DQ_Menu::ACTOR_WINDOW == true
       @actor_window.dispose
       @actor_window = Window_Actor.new
     end
       @command_window.show
       @command_window.activate
     end
  end
 end
 #--------------------------------------------------------------------------
 # * Location window
 #--------------------------------------------------------------------------
 def create_location_window
   @location_window = Window_Location.new
 end
 #--------------------------------------------------------------------------
 # * Create Gold Window
 #--------------------------------------------------------------------------
 def create_gold_window
   @gold_window = Window_Gold.new
 end
 #--------------------------------------------------------------------------
 # * Create Actor Window
 #--------------------------------------------------------------------------
 def create_actor_window
   @actor_window = Window_Actor.new
 end
end # end Scene_Menu
 

lancerforce

sir himbo
Member
Joined
Nov 9, 2019
Messages
26
Reaction score
1
First Language
English
Primarily Uses
RMVXA
This might be a silly question, but I'm having trouble finding the answer on my own (yes I know this thread is old) but how/where do I put custom event menu commands? (I hope I'm wording this coherently)...
 

KnightDruid

Working on #RelmiaWarrior
Veteran
Joined
Nov 21, 2019
Messages
100
Reaction score
17
First Language
Indonesia
Primarily Uses
RMMZ
How to add character sprite beside actor status hud in menu? thank you!
 

Latest Threads

Latest Posts

Latest Profile Posts

Celebrating a milestone over at Twitter
Sneak peak of my upcoming update! Who's holding her, you may ask? Find out tonight!
10.PNG
BCj
Finished another GUI! Turn indicator wasn't made by me.

ff981f8dc50b03cf58038c644334b454.jpg


3cb092fdc00087acfa0a190fd891f0ed.jpg
Added a small refining scene to my game.

Forum statistics

Threads
115,260
Messages
1,088,415
Members
149,859
Latest member
yhiriend
Top