Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[VX] The Dragon-Quest Style Customizable Menu System - Version 1.20

The Dragon-Quest Style Customizable Menu System
Version 1.20
(Formerly known as "The Dragon Quest Style Status Indicator")


F.A.Q.

What is the D.Q.S.C.M.S.?
It's an easily customizable menu system that allows a user with little to no scripting knowledge to quickly put together a custom menu. You can: Reorder the menu, Change the text displayed for each item, set the numbers of rows and columns, set the total number of items, expand or shink the menus size, reposition the menu (coming soon) turn on and off custom written mini-status indicators at the bottom of the screen, and more! It's based partially on LiteMenu 1.1 so those functions are available to you as well!

What? I thought this was a Dragon Quest Style menu? What Gives?
The menu also includes a completely optional (you can use your own custom menus, or the stock one!) custom-written and easily customizable menus (currently only the status menu is implemented) made to resemble the dragon-quest menu system.


Can I use D.Q.S.C.M.S. in my game?

Sure thing! If it's a commercial game contact me, but otherwise feel free to use it crediting Ekras.


Wow this script is HUMONGOUS!

Well that's more of a comment, but I figure I should give an answer as to why. The script would be MUCH smaller if it wasn't for the ability to customize the menu. There are error messages if you put invalid values in, checks and re-checks to make sure the window closes regardless of what you do. The menu has to write itself completely differently depending on all the possibilities, and still be able to open and close windows properly, update itself accordingly etc.

How do I enable the Dragon Quest Style Menus?
If you just want to replace the stock status with the DQ status just change the type of the menu item (status is item 4) to 3.

Installation Instructions:

Anyway enough with the Q&A lets get on to the actual script. This whole huge thing gets put into a single script above main. I call it "DWSCMS" but you can call it anything you like.

The script is attached as a text file. Let me know if you have any problems, bugs, suggestions, anything!

http://www.rpgrevolution.com/forums/index.php?act=attach&type=post&id=549

(Anyone know of a more...neutral... place I can host the text file?)

Version History:

# Updates to version 1.2
# - Script Name changed from "Dragon Quest Style Status Indicator"
#   to "Dragon Quest Style Customizable Menu System"
# - Dragon Quest Style Status Screen coded
# - Main Menu now easily configurable (Change items on the menu!)
# - Refill Command on the Status Screen currently does not function (TBD)
# - Somehow the blank line never made it into 1.1, but it is definatly in 1.2
# - Added functions to the mini-boxes to show Current EXP, EXP to next level
#  and Class
# - New error msgs are more descriptive, and appear in print commands instead of
# - in game. (you'll get a popup)
# - The player is able to back out of menu screens in the DQ Style Status Screen
# - Able to independantly change the font of the Staus Menu (partially implemented)
#
#  Coming soon in Version 1.3
#  - Lots of optimization - Script will be faster, smarter, and smaller
#  - Sprite display in the mini-boxes (code is done, but still has many bugs)
#  - The ability to use one large "mega" box in place of the mini-boxes
#  - Dragon Quest Style Equip Screen + Equipment Box in DQ Style Status
#  - Additional information (Equipment) displayed under "See All" in the DQ Status screen
#  - More Font customization
#  - Much more......
 
Is there a way we could get it to show a little Sprite of the character to the right of their name?

Other than that, it's really nice :D. I like this better than the Default Menu by a mile.
~Inno
 
Innoccence":2ku7pu4n said:
Is there a way we could get it to show a little Sprite of the character to the right of their name?

Other than that, it's really nice :D. I like this better than the Default Menu by a mile.
~Inno

I'll look into it for a future release :)
 
I know its a quick turn-around but version 1.1 is now available. Added the option to display gold, turn the boxes on and off, and a few other things.

version 1.2 hopefully will also be able to display a sprite in the box as well :)  - I MAY be even able to make it so that the sprite changes based on stat (graphical version of the window anyone?) - although don't hold me to that till I have a look at what it entails.
 
MAJOR UPDATE! Check out the first post for changes! It's now contained in a text file, as it's gotten too big to put in one post. 
 
I'm really liking the work you're putting into this.  As I am a huge DQ fan, it's refreshing to see how the menu is starting to look more and more like a DQ game.  Considering I'm working on a DQ fan game, this is looking really good.  Keep it up.
 
but where do I adjust it. I have moved other boxes to where I want, but I can't find where to move this one.

Edit: Plus I want to adjust the x, not the y
 
I'd have to load it up and have a look. It's been awhile since i've had the time to work on it at all- just started a server company, and have been swamped with work. Amazingly in the middle of a recession people are individually willing to shell out $500 a month to rent a nice server.

Anyway, i'll try to get some time to check into it by the weekend, if you haven't figured it out by then. My logic is a little nutty sometimes, so I can understand why you might have trouble finding something.

Your not talking about the one thats from the simple menu are you? If so I believe that had some bugs in it.
 
I believe its the Litemenu, but not completely sure

Code:
module DQ_Menu_Setup

  #Configure the Main Menu here
=begin
This part of the script allows you to quickly change the display of the main menu.
You can set the number of rows and colums, as well as what items are displayed
=end
  NUM_OF_ITEMS = 6 #Set the number of items on the menu (1-12)
  NUM_ROWS = 3 # The number of Rows in the main menu
  NUM_COL = 2  # The number of columns in the main menu
  
  #Configure the items to appear on the main menu here. Types are as follows:
  # 1- Blank for future use
  # 2- Blank for future use
  # 3- Call the DQ Status Screen
  # 4- Call the DQ Equipment Screen (Do not use in this version)
  # 5- Built-in Save menu
  # 6- Built-in End Game Menu
  # 7- Built-in Item Menu
  # 8- Built-in Status Menu
  # 9- Built-in Skill Menu
  # 10- Built in Equipment Menu
  
  ITEM_1_TYPE = 7        
  ITEM_1_NAME = 'Item'          #What displays on the menu

  ITEM_2_TYPE = 9
  ITEM_2_NAME = 'Skill'   

  ITEM_3_TYPE = 10
  ITEM_3_NAME = 'Equip'   
  
  ITEM_4_TYPE = 8
  ITEM_4_NAME = 'Status'   

  ITEM_5_TYPE = 5
  ITEM_5_NAME = 'Save'   
 
  ITEM_6_TYPE = 6
  ITEM_6_NAME = 'Game End'   
  
  ITEM_7_TYPE = 3
  ITEM_7_NAME = 'Item 7'   
  
  ITEM_8_TYPE = 3
  ITEM_8_NAME = 'Item 8'   

  ITEM_9_TYPE = 3
  ITEM_9_NAME = 'Item 9'   
  
  ITEM_10_TYPE = 3
  ITEM_10_NAME = 'Item 10'   
  
  ITEM_11_TYPE = 3
  ITEM_11_NAME = 'Item 11'   
  
  ITEM_12_TYPE = 3
  ITEM_12_NAME = 'Item 12'   
end

module DQ_Status_Setup
  
#This Module defines the Dragonquest Style Status Screen. If you aren't using it
#you can safely ignore this section.

#Configure the "See Stats" section of the status menu here
  
  #Configure the right-side window here
  #Each "line" is a line of text and the stat value 
  # For type use the following: 1 - Attack, 2 - Agility, 3 - Spirit
  # 4- Class, 5 - Defense, 6- HP, 7 - MP, 8 - MaxHP, 9 - MaxMP, 
  # 10 - Experience, 11 - Experience to Level, #12 - Name, #13 - Level
  STATUS_FONT = "Franklin Gothic Medium" #case sensitive - name any true type font. 
  # Note about fonts: The player must have the font installed for it to display.
  # Font changes currently only affects non-selectable menus.
  SEP = ':' # The character to seperate the stat and its value
  LINE_1_STRING = '' #Set the text to display for line one  
  LINE_1_ONOFF = false #true to turn the line on, false to turn it off 
  LINE_1_TYPE = 1 #see above for type codes
  LINE_2_STRING = 'Agility' #Set the text to display for line one  
  LINE_2_ONOFF = true #true to turn the line on, false to turn it off
  LINE_2_TYPE = 2 #see above for type codes
  LINE_3_STRING = '' #Set the text to display for line one  
  LINE_3_ONOFF = false #true to turn the line on, false to turn it off
  LINE_3_TYPE = 1 #see above for type codes
  LINE_4_STRING = 'Spirit' #Set the text to display for line one  
  LINE_4_ONOFF = true #true to turn the line on, false to turn it off
  LINE_4_TYPE = 3 #see above for type codes
  LINE_5_STRING = '' #Set the text to display for line one  
  LINE_5_ONOFF = false #true to turn the line on, false to turn it off 
  LINE_5_TYPE = 1 #see above for type codes
  LINE_6_STRING = 'Maximum HP' #Set the text to display for line one  
  LINE_6_ONOFF = true #true to turn the line on, false to turn it off
  LINE_6_TYPE = 8 #see above for type codes
  LINE_7_STRING = 'Maximum MP' #Set the text to display for line one  
  LINE_7_ONOFF = true #true to turn the line on, false to turn it off 
  LINE_7_TYPE = 9 #see above for type codes
  LINE_8_STRING = 'Attack Power' #Set the text to display for line one  
  LINE_8_ONOFF = true #true to turn the line on, false to turn it off
  LINE_8_TYPE = 1 #see above for type codes
  LINE_9_STRING = 'Defense Power' #Set the text to display for line one  
  LINE_9_ONOFF = true #true to turn the line on, false to turn it off 
  LINE_9_TYPE = 5 #see above for type codes
  LINE_10_STRING = 'EXP' #Set the text to display for line one  
  LINE_10_ONOFF = true #true to turn the line on, false to turn it off
  LINE_10_TYPE = 10 #see above for type codes
  
  #Configure the Upper Left window here - i'd suggest 8 characters max in the string
  UL_SEP = ':' #Set the character to seperate strings from values here (HP-33 if '-')
  UL_NAME_ONOFF = true #make false to have the characters name not appear
  UL_NAME_DIV = true #Add or remove the divider between the name and the other info.
                      # The divider will not appear if name is disabled
                      
  UL_LINE_1_ONOFF = true #Turn line one on or off
  UL_LINE_1_STRING = 'Class'
  UL_LINE_1_TYPE = 4 #Same types as before
  UL_LINE_2_ONOFF = false #Turn line one on or off
  UL_LINE_2_STRING = ''
  UL_LINE_2_TYPE = 1 #Same types as before
  UL_LINE_3_ONOFF = true #Turn line one on or off
  UL_LINE_3_STRING = 'Level'
  UL_LINE_3_TYPE = 13 #Same types as before
  UL_LINE_4_ONOFF = true #Turn line one on or off
  UL_LINE_4_STRING = 'HP'
  UL_LINE_4_TYPE = 6 #Same types as before
  UL_LINE_5_ONOFF = true #Turn line one on or off
  UL_LINE_5_STRING = 'MP'
  UL_LINE_5_TYPE = 7 #Same types as before
  
end
# END DQ Status Menu configuration

module Wor_Litemenu

  #Litemenu Setup
  MENU_WINDOW_Y = 20
  CHARA_WINDOW_Y = 80
  CHARA_WINDOW_WIDTH = 175
  SHOW_LV = true
  GOLD_TEXT_X = 84
  VOCAB_GOLD = "Penza: "
  SHOW_LOCATION_WINDOW = true
  VOCAB_LOCATION = "Location:"
  LOCATION_WINDOW_Y = 135
  LOCATION_TEXT_X = 150
  GOLD_TEXT_X = 84
end


###################### Don't touch this section
class Scene_Menu < Scene_Base

  def initialize(menu_index = 0)
    @menu_index = menu_index
    @LASTX = 0
    @TEMPX = 0
    @TEMPY = 0
    @dqwhotype = 'null'
    @actorarray = []
##################### Resume Editing
    
#MINI-BOX SETUP HERE  

#These boxes are kinda tricky - messing with one effects the others sometimes
#You can move it anywhere, it may just take a little while to find the right
#combination of numbers. 

#   Main Setup
    @BOX_ONOFF = true #true to turn the miniboxes on, false to turn them off
    @NS_LOCATION = -220 #Move the mini-boxes to the left or right
    @NS_GAP = 225 #Adjust this to make the mini-boxes closer or further apart
    @BOX_W = 115 # Adjust the width of the mini-boxes
    @BOX_H = 140 #Adjust the height of the mini-boxes
    @BOX_Y = 240 #Adjust the Y coordinates of the mini-boxes
    @BOX_LEFT_RIGHT = 2 # set to 1 for the boxes to fold out right to left
                        # set to 2 for the boxes to fold out left to right    
    
#   NAME SETUP
    @NAME_ONOFF = true #True is on, false is off
    @N_X = 0 # Set the X coordinates for the characters name
    @N_Y = 0 # Set the Y coordinates for the characters name
    
 # Setup Each line of text in the boxes. By default it supports a name line and
 # up to 3 other lines of text. (With a 4th coded but disabled)
 # Adjusting these changes the boxes for all characters.
 # I included instructions below on how to add more as well as how to 
 # add new stats to the list.
#   LINE 1 SETUP
    @LINEONE_ONOFF = true #true to turn the box on, false to turn it off
    @L1_Y = 20 # Set the y coordinates of the text
    @L1_X = 0 # Set x coordinates of the stat header
    @L1_X2 = 30 # set the distance of the stat from the header
    @L1_HEADER = 'HP:' #Sets the text header of the stat
    @L1_STAT = 1 # See Stat Guide Below
  
#   LINE 2 SETUP
    @LINETWO_ONOFF = true #true to turn the box on, false to turn it off
    @L2_Y = 40 # Set the y coordinates of the text
    @L2_X = 0 # Set x coordinates of the stat header
    @L2_X2 = 30 # set the distance of the stat from the header
    @L2_HEADER = 'MP:' #Sets the text header of the stat
    @L2_STAT = 2 # See Stat Guide Below 

#   LINE 3 SETUP
    @LINETHREE_ONOFF = true #true to turn the box on, false to turn it off
    @L3_Y = 60 # Set the y coordinates of the text
    @L3_X = 0 # Set x coordinates of the stat header
    @L3_X2 = 30 # set the distance of the stat from the header
    @L3_HEADER = 'LV:' #Sets the text header of the stat
    @L3_STAT = 3 # See Stat Guide Below
#   LINE 4 SETUP
    @LINEFOUR_ONOFF = true #true to turn the box on, false to turn it off
    @L4_Y = 80 # Set the y coordinates of the text
    @L4_X = 0 # Set x coordinates of the stat header
    @L4_X2 = 60 # set the distance of the stat from the header
    @L4_HEADER = 'Penza: ' #Sets the text header of the stat
    @L4_STAT = 4 # See Stat Guide Below
    
    #STAT GUIDE
    
# This is the list of currently implemented stats to show in the mini-boxes
# To use input their item number in the STAT line of the line you want it to
# show up on. If you want it to show anything else it shouldn't take you 
# long to get it to display it

# 
# 1 : Hitpoints
# 2 : Magic-Points
# 3 : Level
# 4 : Gold - Only appears in Player 1s box!
# 5 : EXP
# 6 : EXP to Next Level
# 7 : Class
#

#   ADVANCED SETUP
#      -ADDING NEW LINES
# So you want to add new stats to the boxes huh? Heres how to do it. First off
# change the total number of lines to how many lines are going to be displayed.

    @LCOUNT = 7 #Set the number of items here
#Now to add a new line go to EACH window box, and copy/pasting an existing line
# and modify it to display your new stat. Shouldn't be too hard. 
# Dont forget to change the error code to reflect the new line number
# once you are done, go above and copy/paste a setup from a line, and change the
# varibles on the new one to reflect the new line.
#
#     -ADDING NEW STATS TO BE DISPLAYED
# To add a new stat to the menus first add it to the STAT Guide Above
# Once you have a number go down into EACH Menu box below and copy/paste a stat item
# Change if @L1_STAT == X to the number of the new stat
# Now add to each box an event to get the info of the stat
# Finally edit the stat section of the new item in the list, 
#
#
# Sending new STATS to the author
#
# If you feel the next release of this script should have other stats in it
# email me at strager at comcast dot net with a subject line of "MINI-BOX STAT".
# email without this subject line will not be read (my email only accepts
# pre-approved subject lines
#
# In the email change the STAT number to #
# Send only one status box's code- I'm smart enough to replicate it in the other
# boxes :)
# Please don't email other requests (use the forums to make script requests)
end
 
Yeah ask in the litemenu thread... i didn't change them much, so you should be able to find the same functions in this, and make the appropriate changes.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top