RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[VXA] Customizable Main Menu

0 Members and 2 Guests are viewing this topic.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Customizable Main Menu
Version: 1.0c
Author: modern algebra
Date: January 20, 2012

Version History


  • <Version 1.0c> 2012.02.17 - Fixed a major bug with custom commands.
  • <Version 1.0b> 2012.01.20 - Fixed a slight graphical inconsistency regarding the size of the selection box.
  • <Version 1.0a> 2012.01.19 - A minor change to better accomodate efforts at compatibility
  • <Version 1.0> 2012.01.18 - Original Release

Description


This script is a base menu script which allows you to create custom menu commands and to move, add, or remove them from the menu easily. Not only can you easily add a command which directly calls a scene, you can also add commands which call common events or which call a particular method (the method needs to be defined). At the same time, the script is also designed to recongize and include any commands that are added by another script, without requiring setup in this one.

Additionally, this script allows easy creation of custom windows which show simple data, so you are not limited to just the gold window - you could, for instance, show data such as the value of particular variables or the playtime, etc.. These optional windows can be added and removed at will, and they show up beneath the command window in the menu.

Since too many windows could overlap with the command window, this script also allows you to set a row max for the command window so that you need to scroll the window down to see the other commands. Additionally, you canchange the width of the command and data windows and the Menu Status window will now better accomodate different resolutions. Finally, you can also change the alignment so that the status window is on the left and the command window is on the right.

Features

  • You can add, remove, and reorganize the commands in the menu.
  • You can set up new commands which call scenes, call common events, or even just evaluate ruby code when selected. Additionally, you can set whether or not an actor should first be selected.
  • You can set the enable conditions for each command, either by requiring a specified switch to be on or by any other condition as long as you know the code.
  • Can create, add, or remove custom windows which show simple data, like the gold window. You can include multiple lines of data within the same window or even use many different windows.
  • You can change the width and height of the command window, as well as determine on which side of the screen to show it.
  • The Status screen can be appropriately resized for different resolutions.

Screenshots

This shows a combined data window, as well as several new commands added to the menu.

This shows a differently positioned command window with a row max of 5 and multiple data windows.

This shows support for different resolutions.


Instructions

Paste this script into its own slot in the Script Editor, above Main and below Materials. If you are using any scripts which require this menu, then this script should be above them as well.

Aside from that, you can go to the Editable Region at line 64 to figure out how to configure the menu. If you do not change anything, then the menu will operate exactly like the default menu.

I understand that the configuration can be very difficult. If you need any assistance at all, please do not hesitate to post here.

Script


The script is too long to post. Please retrieve it from Pastebin.

Addons

Spoiler for cozziekuns' Ring Menu:
Cozziekuns wrote a nice ring menu that works well with my Customizable Main Menu. You can get it here: http://rmrk.net/index.php/topic,47627.0.html

Spoiler for Location Window:
Generally speaking, the space provided in the optional data windows is not enough to properly show long location names. This addon allows you to create a location window that shows up directly below the status window and is the width of the status window.

Note that this requires at least v. 1.0b of the Customizable Main Menu. Earlier versions will not work.


Code: [Select]
#==============================================================================
#    Location Window
#      Addon to Customizable Main Menu 1.0b
#    Version: 1.0a
#    Author: modern algebra (rmrk.net)
#    Date: January 20, 2012
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This is an Addon for the Customizable Main Menu (found at:
#   http://rmrk.net/index.php/topic,44906.0.html). With this script, you can
#   add a long window to properly display location in the main menu, as the
#   auto window function in the script doesn't create a wide enough window to
#   show long location names.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot in the Script Editor, above Main but
#   below the Customizable Main Menu script.
#
#    Other than that, all you need to do is set the display text at line xx.
#   That is the label drawn on the left hand side of the window to indicate
#   what the window shows. Additionally, you will need to make sure that you
#   have not created any custom windows in the Customizable Main Menu that have
#   :location as their identifer, or else this script will be overridden.
#
#    You can add or remove the location window in-game by using the following
#   codes in a script call:
#
#      add_menu_window(:location)
#      remove_menu_window(:location)
#==============================================================================

if $imported && $imported[:MA_CustomizableMenu]
$imported[:MACMM_LocationWindow] = true

#==============================================================================
# *** MA Customizable Menu
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new constants - LOCATION_LABEL; LOCATION_FULL_WIDTH
#==============================================================================

module MA_CustomizableMenu
  #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #  Editable Region
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  The label to be shown at the left hand side of the window. Message codes
  # are recognized
  LOCATION_LABEL = "\\i[231]"
  #  The value of this constant determines whether the location window should
  # take up the entire width of the screen, or be the same width as the status
  # window. false = Full; true = Status
  LOCATION_FULL_WIDTH = false
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  End Editable Region
  #//////////////////////////////////////////////////////////////////////////
  OPTIONAL_WINDOWS_LIST.push(:location) unless OPTIONAL_WINDOWS_LIST.include?(:location)
end

#==============================================================================
# ** MACMM_LocationWindow
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This window shows the location data.
#==============================================================================

class MACMM_LocationWindow < Window_MACMM_AutoCustom
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def initialize(*args)
    super([MA_CustomizableMenu::LOCATION_LABEL, "$game_map.display_name"])
    self.x = (MA_CustomizableMenu::COMMAND_WINDOW_ON_RIGHT ||
      MA_CustomizableMenu::LOCATION_FULL_WIDTH) ? 0 : $game_system.macmm_command_width
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Window Width
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def window_width
      MA_CustomizableMenu::LOCATION_FULL_WIDTH ? Graphics.width :
      Graphics.width - $game_system.macmm_command_width
  end
end

#==============================================================================
# ** Scene Menu
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - manual_window; create_optional_windows
#==============================================================================

class Scene_Menu
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Optional Windows
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias macmm_locwin_crtoptwins_8ul5 create_optional_windows
  def create_optional_windows(*args, &block)
    if $game_system.macmm_optional_windows.include?(:location)
      # Make sure Location first window to be created
      $game_system.macmm_optional_windows.delete(:location)
      $game_system.macmm_optional_windows.push(:location)
    end
    macmm_locwin_crtoptwins_8ul5(*args, &block) # Call Original Method
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Manually Set Custom Window
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias macmm_locwin_mancustwin_2rw6 manual_custom_window
  def manual_custom_window(symbol, *args, &block)
    if symbol == :location
      @macmm_location_window = MACMM_LocationWindow.new
      set_custom_window_y(@macmm_location_window) if @macmm_location_window.width == Graphics.width
      @macmm_location_window.y = Graphics.height - @macmm_location_window.height
      # Change height of the Status Window
      if @status_window
        @status_window.height -= @macmm_location_window.height
        @status_window.create_contents
        @status_window.refresh
      end
    else
      macmm_locwin_mancustwin_2rw6(symbol, *args, &block) # Call Original Method
    end
  end
end

else
  p "Location Window requires the Customizable Main Menu, and the Location
    Window must be below it in the Script Editor. You can find the script at:
      http://rmrk.net/index.php/topic,44906.0.html"
end

Credit


  • modern algebra

Thanks

  • Yanfly, for some inspiration on my VX Full Status CMS, and parts of this script are based on my FSCMS

Support


Please post in this topic at RMRK for assistance with any aspect of this script.

Known Compatibility Issues

This script will likely not be compatible with most other menu systems which substantially alter the menu. However, it is designed to be compatible with scripts which add themselves to the menu, such that you do not need to manually set those up through the mechanisms provided in this script.

Author's Notes


I just wrote this script to encapsulate some of the functional features that were common to all my menu scripts in VX. That way, I can release the other portions as independent but compatible scripts, so that if these functions are desired they can be achieved, but without importing the heavy customization burden of these features for people who only want the graphical enhancements of my other menus.
« Last Edit: February 06, 2013, 01:51:54 AM by modern algebra »

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Best IRC Quote2014 Zero to Hero2014 Most Missed Member2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
Dear god, that's beautiful. Utterly brilliant.
Almost makes me want to port it to VX. I should probably get VXA... keep up with you guys.
it's like a metaphor or something i don't know

**
Rep:
Level 72
RMRK Junior
Truly amazing!

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
I made an addon to show a location window that is wider than the custom data windows, since location names sometimes need the extra space. The location window shows up directly below the status window and is the width of the status window, or there is an option to make it the width of the screen.

Please note that you need to have v. 1.0b of the Customizable Main Menu in order for this to work. Earlier versions won't.


Code: [Select]
#==============================================================================
#    Location Window
#      Addon to Customizable Main Menu 1.0b
#    Version: 1.0a
#    Author: modern algebra (rmrk.net)
#    Date: January 20, 2012
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This is an Addon for the Customizable Main Menu (found at:
#   http://rmrk.net/index.php/topic,44906.0.html). With this script, you can
#   add a long window to properly display location in the main menu, as the
#   auto window function in the script doesn't create a wide enough window to
#   show long location names.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot in the Script Editor, above Main but
#   below the Customizable Main Menu script.
#
#    Other than that, all you need to do is set the display text at line xx.
#   That is the label drawn on the left hand side of the window to indicate
#   what the window shows. Additionally, you will need to make sure that you
#   have not created any custom windows in the Customizable Main Menu that have
#   :location as their identifer, or else this script will be overridden.
#
#    You can add or remove the location window in-game by using the following
#   codes in a script call:
#
#      add_menu_window(:location)
#      remove_menu_window(:location)
#==============================================================================

if $imported && $imported[:MA_CustomizableMenu]
$imported[:MACMM_LocationWindow] = true

#==============================================================================
# *** MA Customizable Menu
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new constants - LOCATION_LABEL; LOCATION_FULL_WIDTH
#==============================================================================

module MA_CustomizableMenu
  #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #  Editable Region
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  The label to be shown at the left hand side of the window. Message codes
  # are recognized
  LOCATION_LABEL = "\\i[231]"
  #  The value of this constant determines whether the location window should
  # take up the entire width of the screen, or be the same width as the status
  # window. false = Full; true = Status
  LOCATION_FULL_WIDTH = false
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  End Editable Region
  #//////////////////////////////////////////////////////////////////////////
  OPTIONAL_WINDOWS_LIST.push(:location) unless OPTIONAL_WINDOWS_LIST.include?(:location)
end

#==============================================================================
# ** MACMM_LocationWindow
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This window shows the location data.
#==============================================================================

class MACMM_LocationWindow < Window_MACMM_AutoCustom
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def initialize(*args)
    super([MA_CustomizableMenu::LOCATION_LABEL, "$game_map.display_name"])
    self.x = (MA_CustomizableMenu::COMMAND_WINDOW_ON_RIGHT ||
      MA_CustomizableMenu::LOCATION_FULL_WIDTH) ? 0 : $game_system.macmm_command_width
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Window Width
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def window_width
      MA_CustomizableMenu::LOCATION_FULL_WIDTH ? Graphics.width :
      Graphics.width - $game_system.macmm_command_width
  end
end

#==============================================================================
# ** Scene Menu
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - manual_window; create_optional_windows
#==============================================================================

class Scene_Menu
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Optional Windows
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias macmm_locwin_crtoptwins_8ul5 create_optional_windows
  def create_optional_windows(*args, &block)
    if $game_system.macmm_optional_windows.include?(:location)
      # Make sure Location first window to be created
      $game_system.macmm_optional_windows.delete(:location)
      $game_system.macmm_optional_windows.push(:location)
    end
    macmm_locwin_crtoptwins_8ul5(*args, &block) # Call Original Method
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Manually Set Custom Window
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias macmm_locwin_mancustwin_2rw6 manual_custom_window
  def manual_custom_window(symbol, *args, &block)
    if symbol == :location
      @macmm_location_window = MACMM_LocationWindow.new
      set_custom_window_y(@macmm_location_window) if @macmm_location_window.width == Graphics.width
      @macmm_location_window.y = Graphics.height - @macmm_location_window.height
      # Change height of the Status Window
      if @status_window
        @status_window.height -= @macmm_location_window.height
        @status_window.create_contents
        @status_window.refresh
      end
    else
      macmm_locwin_mancustwin_2rw6(symbol, *args, &block) # Call Original Method
    end
  end
end

else
  p "Location Window requires the Customizable Main Menu, and the Location
    Window must be below it in the Script Editor. You can find the script at:
      http://rmrk.net/index.php/topic,44906.0.html"
end
« Last Edit: January 20, 2012, 10:10:44 PM by modern algebra »

**
Rep: +0/-0Level 64
RMRK Newbie
Thanks for the script, but...
I get an error when I try to open the menu:

---------------------------
Test Game
---------------------------
Script 'Modern Algebra's Custom menu' line 842: NoMethodError occurred.

undefined method `[]' for nil:NilClass
---------------------------
Accept   
---------------------------
In the code It says:
when Symbol then method(cc[@command_window.current_symbol][2])
Please help me, I don't know how to script!

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Where you see:

Code: [Select]
      when Symbol then method(cc[@command_window.current_symbol][2])
      when String then lambda { eval(cc[@command_window.current_symbol][2]) }

Replace it with just:

Code: [Select]
      when String then lambda { eval(cc[symbol][2]) }

Tell me if that works.
« Last Edit: February 17, 2012, 11:42:16 PM by modern algebra »

*
The Hero of Rhyme
Rep:
Level 83
( ͡° ͜ʖ ͡°)
2014 Queen of RMRK2014 Best RPG Maker User - StoryProject of the Year 20142011 Best Newbie2014 Best RPG Maker User - Creativity2014 Kindest Member2013 Queen of RMRKBronze SS AuthorBronze Writing ReviewerSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.GOOD!For frequently finding and reporting spam and spam bots2012 Best Yuyubabe Smiley2012 Best RPG Maker User (Creativity);o
Why have I not seen this yet? This is utterly perfect. Thank you, MA. :) Certainly going to use this when VXA comes out.
Spoiler for My Games and Art:
ℒℴѵℯ❤


My Artwork Thread

The Lhuvia Tales [Current]

Ambassador [Complete]

The Postman [Complete]

The Wyvern [Complete]

Phoenix Wright: Haunted Turnabout [Complete]

Major Arcana [Cancelled]


**
Rep: +0/-0Level 64
RMRK Newbie
Still not working

---------------------------
Test Game
---------------------------
Script 'Modern Algebra menu' line 842: NoMethodError occurred.

undefined method `[]' for nil:NilClass
---------------------------
Accept   
---------------------------

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Upload the project and send it to me, or, if it is your main project and you are not comfortable sharing it, create a new project, reproduce the error-creating situation, and send that to me.

And actually, before you do, get the version from the first post and replace your current version, in case you are working from a prior version.

****
Rep:
Level 69
Thanks, this will be very useful to me. Btw, it works perfectly fine so far, no errors.

**
Rep: +0/-0Level 56
RMRK Junior
Is it possible to change the menu to only display 1 character at a time, and have the menu 'scroll' down to the other characters when you select them like this screenshot indicates (only instead of showing 3 characters and scrolling down to the 4th, show only 1 and have it able to scroll down to view the rest)

Like this (this is a menu mod in VX I was using)
Current Ace menu

Edit: I guess based on this

Quote
Additionally, you can change the width of the command and data windows and the Menu Status window will now better accomodate different resolutions.

No mention of height for the "data windows" and after looking through the script more i'm pretty sure it's not an option so, i'm politely requesting the option to change the Height of the main menu status window.

Thanks again.
« Last Edit: April 19, 2012, 10:12:14 PM by paradoxum »

**
Rep:
Level 56
RMRK Junior
Somewhat unrelated, MA, but what naming convention do you use for your method aliases?
It's more like a big ball of wibbly wobbly...timey wimey...stuff.

**
Rep: +0/-0Level 56
RMRK Junior
Figured out how to get it like I wanted:


just changed
Window_MenuStatus

Code: [Select]
  #--------------------------------------------------------------------------
  # * Get Window Height
  #--------------------------------------------------------------------------
  def window_height
    Graphics.height - 240
  end

**
Rep: +0/-0Level 64
RMRK Junior
Hey I'm sorry for bumping a topic past 60days but I need some help; I just converted to VXA and I want to add in and customize my menu;

I would like to add in 2 new windows that act like the gold window.
1. Keys
2. Stars

and have a menu like the post above me.

***
Rep:
Level 77
RMRK Junior
I wouldn't know exactly how, but you could display a variable for each one; if they're tied into items you'll need to bind those variables with this; it's complex though, so you may need to ask for a bit of help.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
I'd refer you to this portion of the script:

Code: [Select]
  #  CUSTOM_WINDOWS - Here you can set up your own windows to show simple
  # data, like the gold window. Basically, you can show a label, and then real
  # data. The format is as follows:
  #
  #    :unique => ["Label", value],
  #
  #  As with the CUSTOM_COMMANDS, :unique must be a unique identifier so that
  # you can add it into the OPTIONAL_WINDOWS_LIST.
  #
  #  "Label" is a String which will show up on the left hand side. It
  # recognizes special message codes, but if you are using double quotation
  # marks (" "), then you need to use \\, not \. Ie, it would be \\c[16], not
  # \c[16].
  #
  #  value can show one of three things:
  #   (1) The value of a variable - to show this, just put the ID of the
  #      variable you want to show.
  #   (2) Any expression you evaluate - this requires some scripting knowledge,
  #      but if you know the correct code then just put it in a string. Ex:
  #        :steps =>     ["\\c[6]Steps\\c[0]", "$game_party.steps"],
  #        :keys =>      ["Keys", "$game_party.item_number($data_items[8])"],
  #   (3) Playtime - To show playtime, you need to just use :playtime. Ex:
  #        :playtime =>  ["\\i[280]", :playtime],
  #   (4) Other - If you know how to script, then it is possible to add
  #      special data as well, like playtime.
  #
  #  Additionally, you can make windows that have more than one data line,
  # simply by adding further lines. So, for instance:
  #
  #   :combined => ["\\i[280]", :playtime,
  #                 "\\i[467]", "$game_party.steps",
  #                 "\\i[347]", 5],
  #
  #  That would show all of that data in one line. It is the same format, they
  # just need to be within the same [].
  CUSTOM_WINDOWS = { # <- Do not touch!
    :playtime =>  ["\\i[280]", :playtime],
    :variable5 => ["\\i[122]", 5],
    :steps =>     ["\\c[6]Steps\\c[0]", "$game_party.steps"],
    :item8 =>     ["Keys", "$game_party.item_number($data_items[8])"],
    :combined =>  ["\\i[280]", :playtime,
                   "\\i[467]", "$game_party.steps",
                   "\\i[347]", 5,
                   "\\i[262]", "$game_party.gold"],
  } # <- Do not touch!
  #  OPTIONAL_WINDOWS_LIST - Like the COMMAND_LIST, any windows you want to add
  # to the menu need to be included in this array. Just add the :unique
  # identifier, and that is the position the window will show up. The only
  # default option is :gold, which shows the regular gold window. You can
  # delete it if you want. To add windows in-game, you can use the following
  # script calls:
  # 
  #    add_menu_window(:unique, index)
  #    remove_menu_window(:unique)
  #
  #  :unique is the unique identifier of the window you want to add or remove.
  #  index is an integer which allows you to choose where the command shows up
  # in the list when it is added. If you exclude it and just put:
  #
  #    add_menu_window(:unique)
  #
  # then it will be the placed at the bottom.
  OPTIONAL_WINDOWS_LIST = [ # <- Do not touch!
    :gold,
  ] # <- Do not touch!

To help you more specifically, WiiMeiser is correct in that I would need to know what keys and stars are in your game - ie. are they variables or items or whatever? If so, what is their ID in the database? However, the variable binding script is not necessary as this script allows you to have windows display something from Ruby code.

As a more concrete example, you can see in the script itself that it already has a number of examples:

Code: [Select]
  CUSTOM_WINDOWS = { # <- Do not touch!
    :playtime =>  ["\\i[280]", :playtime],
    :variable5 => ["\\i[122]", 5],
    :steps =>     ["\\c[6]Steps\\c[0]", "$game_party.steps"],
    :item8 =>     ["Keys", "$game_party.item_number($data_items[8])"],
    :combined =>  ["\\i[280]", :playtime,
                   "\\i[467]", "$game_party.steps",
                   "\\i[347]", 5,
                   "\\i[262]", "$game_party.gold"],
  } # <- Do not touch!

In particular, notice that this line, if included, would make a window identified as keys and which would show the number of Item 8 that the party currently holds:

Code: [Select]
    :item8 =>     ["Keys", "$game_party.item_number($data_items[8])"],

Then go to the following code:

Code: [Select]
  OPTIONAL_WINDOWS_LIST = [ # <- Do not touch!
    :gold,
  ] # <- Do not touch!

You could have the keys window show up by changing it to:

Code: [Select]
  OPTIONAL_WINDOWS_LIST = [ # <- Do not touch!
    :item8,
    :gold,
  ] # <- Do not touch!

If that is still difficult to understand, then please tell me what precisely the keys and stars window are supposed to show and I can tell you exactly what the code needs to look like. So, if keys corresponds to the number of a particular type of item, then I would need to know that and the ID. Or if it refers to the value of a variable, I would need to know that and the ID of the variable, etc.
« Last Edit: July 17, 2012, 03:09:46 PM by modern algebra »

**
Rep:
Level 86
Deviant Designer
Thanks MA, this is probably the best menu made thus far.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
I'm glad you like it!

**
Rep:
Level 86
Deviant Designer
I have a quick question, how come your state scrolling doesn't work with it? I have been trying to fix the state icons in menus, it annoys me so badly. Do you have any suggestions how to resolve this problem?

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
I'll look into it. What is the problem?

**
Rep:
Level 86
Deviant Designer
For some reason it has no effect in the menu at all. The same goes for Yanfly's status menu, not sure if it is another script causing it, or the class it uses is just separate from the one the menu scenes use.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best RPG Maker User (Scripting)2010 Most Mature Member
I just tested the two scripts together and it appears to be working fine. My best guess is that one of your other scripts overwrites the state drawing method in Window_Base. Try putting the State Icon Scroll script below all your other scripts but still above Main. If that doesn't work, you will need to isolate the incompatibility by moving the State Icon Scroll and Customizable Main Menu scripts into a new project. Set it up so that you can see the scrolling states, then add your other scripts in one-by-one, testing the game after each new script is added. Once it stops working, the last script you had added is likely the source of the incompatibility. Let me know what it is and where to find it and I will tell you how it can be fixed.

But hopefully it will work once State Icon Scroll is below your other custom scripts.

**
Rep:
Level 86
Deviant Designer
Thanks, will do. :)

*
Rep:
Level 52
RMRK Junior
is there a way to display the sprites instead of the faces and or both
Spoiler for "More About Vindaca":

Spoiler for "General Prices":
You can also build packages containing multiple resources. (Package prices are not included.)


Music

Basic Songs = $20 - $50 USD
Advanced Songs = $100+


Graphics
32 x 32, 4 Directional Sprite = $7 USD each / $50 USD per sheet
64 x 32, 4 Directional Sprite = $10 USD each / $60 USD per sheet
Backgrounds = $10 - $40 USD
Tilesets = $5 each / $20 - $50 USD per group
(depending on types of tilesets)
Iconset = $5 each / $35 - $80 if buying more then 10
(depending on quantity)
Windowskins = $7 each


Animations
Titles = $20+ USD (Depending on complexity)
Backgrounds= $20+ USD (Depending on complexity)
Regular Evented Scenes = $40+ USD each (Depending on complexity)
Parallax Scenes = $60+ USD each (Depending on complexity)
CG  = $300+ USD (Depending on complexity)
Maps

Basic Map Design = $7 USD each
Advanced Map Design = $10+ USD (Depending on complexity)
Scripts

Basic Custom Menu Script = $60 - $100 USD
More Advanced Menu Script = $120 - $300 USD (Animated, ext.)
Mini-games = $100 - $300 USD (Depending on complexity)
I am willing to build a custom card game if specifications are given Commissioned out E.T.A. 3 - 6 months
Battle Systems = $100 - $300 USD (Depending on complexity) Commissioned out E.T.A. 3 - 6 months
Others Scripts = $80 - $300 USD (Depending on complexity)

We are also willing to build games for you with as little or as much direction as you want. (Prices vary depending on complexity of game)
If you want to use your resources in multiple titles there is an additional charge of half the cost of the resource. (Prices vary depending on packages)
I require half of the total cost of any projects up front and the other half before completion.
If a project is finished and not picked up within 1 month of notification,
your resources will be resold and no money will be refunded.


***
You pie feeders!
Rep:
Level 68
Everyone... Actually Everyone hates me :)
2012 Biggest Drama Whore
Your work is truly brilliant. Your original VX scripts for many different main menus were brilliant by themselves, but this way of getting many different types of menus and they're all mostly your work. It's Brilliantly Great, and quite outright and obvious too. I love it!
Final Statement: I chowder5lock am a dipshit and MA is a pretty cool dude.