• Announcements

    • RagingHobo

      Forum Upgraded!   07/17/2017

      We have successfully upgraded our forum to the latest version! Some things have moved around but don't worry everything is still there, we still need to find updated versions of the plugins we were using previously to restore everything to the way it was. There will be a running topic in the Feedback and Support in case you notice something wrong. Before you do so please clear your browser cache and close your browser completely to rule out a caching issue. Thank you for your patience during the outage and while we get everything back to 150%  
Nicke

xs
XS - Menu Delux

185 posts in this topic

xs.png

XS - Menu Delux

Version 1.1b

Introduction
This script will change default menu into something more customized and an animated background(s).

Features

  • The ability to change font settings, menu commands, windows etc.
  • Add static backgrounds or animated ones that will loop when the menu is opened.
  • Add/remove more information to the detail window.
  • Choose a song (bgm or bgs) to be played when the menu is opened. (The previous song that was played will be remembered and continue on when the menu closes.)
  • Menu commands can call scenes and run common events.
  • And more!

Screenshots


xs-menu-delux.png



How to Use
To install any of my scripts, open up your script editor and copy/paste the script to an open slot below Materials but above Main. Remember to save.

Script
Get the script here and the Core Script.
Optional: Download the example backgrounds and put them in Graphics/System folder.

Updates
Released 1.1b. More bugs corrected and added support for Yanfly's Class System script (Can display subclass next to the normal class).

Credit
Do credit me, Nicke, if you are planing on using any of my scripts. Thanks.
Can be use in commercial projects.

Naridar, KajoCat, Tofuffalo and 9 others like this

Share this post


Link to post
Share on other sites

Now that I have time to test, I find big bugs.

Skills & equipments window are just...empty.

The same on a blank project...

What wrong ?

 

In fact, I tried it on a new project :wacko: ...

Too bad it was beautiful! :(

Share this post


Link to post
Share on other sites

It looks amazing but yeah, it's not working.

error-status.png

This error occurs if you want to go to the stats of Character.

equipment.png

Thats a screen of the Equipment menue.

And here are two errors that occur when you select either "optimize" or "clear"

error-clear.png

error-optimize.png

Share this post


Link to post
Share on other sites

Holy crap, the menu is perfect! :o

 

May I ask if you can add an "Encounter" section over on the right side?

 

Similar to the Tales games where it shows how many battle's you've been in.

Share this post


Link to post
Share on other sites

Fixed. Grab it again.

Are you sure it's fixed? I just grabbed it from your pastebin again.

 

The problems still occur.

 

 

~List of Problems~

 

-Error when trying to equip something.

 

- Error when trying to Optimize your equips.

 

- Error when trying to Clear your equips.

 

- The Equipment Windows are blank.

 

- When you go to click "Stats/Status" on an Actor, you get an Error.

 

- Skills/Spell window is also blank like the Equipments.

Share this post


Link to post
Share on other sites

Thanks, it's Ok for me.

But it looks like it is no longer possible to have personal scenes, like with skills or equipment windows, that wait the selection of

an actor.

Share this post


Link to post
Share on other sites

Thanks, it's Ok for me.

But it looks like it is no longer possible to have personal scenes, like with skills or equipment windows, that wait the selection of

an actor.

How did you get it to work?

I just got his Core, and the Menu script again since he said he updated it, and put it in a new project.

 

The error is still there for me. o.0

are you using the Optional BG Images?

Share this post


Link to post
Share on other sites

How does your script looks like? If I can see it I will know if you are using a old version.

 

Core Script

 

#==============================================================================
#   XaiL System - Core
#   Author: Nicke
#   Created: 07/01/2012
#   Edited: 10/11/2012
#   Version: 2.1
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#
# Core script for XaiL System.
# Caution! This needs to be located before any other XS scripts.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-XS-CORE"] = true

module Colors
 #--------------------------------------------------------------------------#
 # * Colors
 #--------------------------------------------------------------------------#
 White = Color.new(255,255,255)
 LightRed = Color.new(255,150,150)
 LightGreen = Color.new(150,255,150)
 LightBlue = Color.new(150,150,255)
 DarkYellow = Color.new(225,225,20)
 Alpha = Color.new(0,0,0,128)
 AlphaMenu = 100
end
module XAIL
 module CORE
 #--------------------------------------------------------------------------#
 # * Settings
 #--------------------------------------------------------------------------#
 # Graphics.resize_screen(width, height )
 Graphics.resize_screen(544, 416)

 # FONT DEFAULTS:
 Font.default_name = ["VL Gothic"]
 Font.default_size = 20
 Font.default_bold = false
 Font.default_italic = false
 Font.default_shadow = true
 Font.default_outline = true
 Font.default_color = Colors::White
 Font.default_out_color = Colors::Alpha

 # USE_TONE = true/false:
 # Window tone for all windows ingame. Default: true.
 USE_TONE = true

 # SAVE
 SAVE_MAX = 20	   # Default 16.
 SAVE_FILE_VIS = 4   # Default 4.

 end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Vocab
#==============================================================================#
class << Vocab

 def xparam(id)
# // Method to return xparam name.
case id
when 0 ; "Hit Chance"
when 1 ; "Evasion"
when 2 ; "Critical Chance"
when 3 ; "Critical Evasion"
when 4 ; "Magic Evasion"
when 5 ; "Magic Reflection"
when 6 ; "Counter Attack"
when 7 ; "HP Regeneration"
when 8 ; "MP Regeneration"
when 9 ; "TP Regeneration"
end
 end

end
#==============================================================================
# ** Sound
#==============================================================================
class << Sound

 def play(name, volume, pitch, type = :se)
# // Method to play a sound. If specified name isn't valid throw an error.
case type
when :se   ; RPG::SE.new(name, volume, pitch).play rescue valid?(name)
when :me   ; RPG::ME.new(name, volume, pitch).play rescue valid?(name)
when :bgm  ; RPG::BGM.new(name, volume, pitch).play rescue valid?(name)
when :bgs  ; RPG::BGS.new(name, volume, pitch).play rescue valid?(name)
end
 end

 def valid?(name)
# // Method to check if specified sound name is valid.
msgbox("Error. Unable to find sound file: " + name)
exit
 end

end
#==============================================================================
# ** DataManager
#==============================================================================
class << DataManager

 def savefile_max
# // Method override, save file max.
return XAIL::CORE::SAVE_MAX
 end

end
#==============================================================================
# ** Scene_File
#==============================================================================
class Scene_File < Scene_MenuBase

 def visible_max
# // Method override, visible_max for save files.
return XAIL::CORE::SAVE_FILE_VIS
 end

end
#==============================================================================
# ** Window_Base
#==============================================================================
class Window_Base < Window

 # // Importing Custom font fix. (Credit Lone Wolf).
 alias :process_normal_character_vxa :process_normal_character
 def process_normal_character(c, pos)
return unless c >= ' '
process_normal_character_vxa(c, pos)
 end

 def draw_text_ex_no_reset(x, y, text)
# // Method to draw ex text without resetting the font.
text = convert_escape_characters(text)
pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)}
process_character(text.slice!(0, 1), text, pos) until text.empty?
 end

 alias xail_core_winbase_upt_tone update_tone
 def update_tone(*args, &block)
# // Method to change tone of the window.
return unless XAIL::CORE::USE_TONE
xail_core_winbase_upt_tone(*args, &block)
 end

 def draw_gauge_ex(x, y, width, height, rate, color1, color2)
# // Method to draw a gauge.
fill_w = (width * rate).to_i
gauge_y = y + line_height - 8
contents.fill_rect(x, gauge_y, width + 1, height + 1, Color.new(255,255,255,64))
contents.fill_rect(x, gauge_y, width, height, Color.new(0,0,0,100))
contents.gradient_fill_rect(x, gauge_y, fill_w, height, color1, color2)
 end

 def draw_actor_param_gauge(actor, x, y, width, param_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
# // Method to draw actor parameters with a gauge.
case param_id
when 2 ; param_rate = actor.param(2) / actor.param_max(2).to_f
when 3 ; param_rate = actor.param(3) / actor.param_max(3).to_f
when 4 ; param_rate = actor.param(4) / actor.param_max(4).to_f
when 5 ; param_rate = actor.param(5) / actor.param_max(5).to_f
when 6 ; param_rate = actor.param(6) / actor.param_max(6).to_f
when 7 ; param_rate = actor.param(7) / actor.param_max(7).to_f
end
contents.font.name = font
contents.font.size = size
contents.font.bold = true
contents.font.shadow = false
draw_gauge_ex(x, y - 14, width, 20, param_rate, bar_color1, bar_color2)
contents.font.color = txt_color1
draw_text(x + 10, y, 120, line_height, Vocab::param(param_id))
contents.font.color = txt_color2
draw_text(x + width - 38, y, 36, line_height, actor.param(param_id), 2)
reset_font_settings
 end

 def draw_actor_xparam_gauge(actor, x, y, width, xparam_id, font, size, bar_color1, bar_color2, txt_color1, txt_color2)
# // Method to draw actor xparameters with a gauge.
case xparam_id
when 0
  xparam_rate = actor.xparam(0) / 100.to_f
  xparam_name = Vocab.xparam(0)
when 1
  xparam_rate = actor.xparam(1) / 100.to_f
  xparam_name = Vocab.xparam(1)
when 2
  xparam_rate = actor.xparam(2) / 100.to_f
  xparam_name = Vocab.xparam(2)
when 3
  xparam_rate = actor.xparam(3) / 100.to_f
  xparam_name = Vocab.xparam(3)
when 4
  xparam_rate = actor.xparam(4) / 100.to_f
  xparam_name = Vocab.xparam(4)
when 5
  xparam_rate = actor.xparam(5) / 100.to_f
  xparam_name = Vocab.xparam(5)
when 6
  xparam_rate = actor.xparam(6) / 100.to_f
  xparam_name = Vocab.xparam(6)
when 7
  xparam_rate = actor.xparam(7) / 100.to_f
  xparam_name = Vocab.xparam(7)
when 8
  xparam_rate = actor.xparam(8) / 100.to_f
  xparam_name = Vocab.xparam(8)
when 9
  xparam_rate = actor.xparam(9) / 100.to_f
  xparam_name = Vocab.xparam(9)
end
contents.font.name = font
contents.font.size = size
contents.font.bold = true
contents.font.shadow = false
draw_gauge_ex(x, y - 14, width, 20, xparam_rate, bar_color1, bar_color2)
contents.font.color = txt_color1
draw_text(x + 10, y, 120, line_height, xparam_name)
contents.font.color = txt_color2
draw_text(x + width - 38, y, 36, line_height, "#{actor.xparam(xparam_id)}%", 2)
reset_font_settings
 end


 def draw_line_ex(x, y, color, shadow)
# // Method to draw a line with a shadow.
line_y = y + line_height / 2 - 1
contents.fill_rect(x, line_y, contents_width, 2, color)
line_y += 1
contents.fill_rect(x, line_y, contents_width, 2, shadow)
 end

 def draw_icons(icons, alignment, x = 0, y = 0, offset_icon = [])
# // Method to draw icons in a horizonal or vertical alignment.
for i in icons
  # // If included in offset do extra line_height.
  for o in offset_icon
	if i == o
	  y += line_height * 1 if alignment == :vertical
	  x += line_height * 1 if alignment == :horizontal
	end
  end
  draw_icon(i.nil? ? 0 : i, x.nil? ? 0 : x, y.nil? ? 0 : y)
  y += line_height if alignment == :vertical
  x += line_height if alignment == :horizontal
end
 end

 def draw_big_icon(icon, x, y, width, height, opacity = 255)
# // Method to draw a big icon.
bitmap = Cache.system("Iconset")
rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
rect2 = Rect.new(x, y, width, height)
contents.stretch_blt(rect2, bitmap, rect, opacity)
 end

 def draw_font_text(value, x, y, width, alignment, font, size, color, bold = true, shadow = true)
# // Method to draw font text.
contents.font.name = font
contents.font.size = size
contents.font.color = color
contents.font.bold = bold
contents.font.shadow = shadow
draw_text(x, y, width, line_height, value, alignment)
reset_font_settings
 end

end
#==============================================================================#
# ** Window_Icon
#------------------------------------------------------------------------------
#  New Window :: Window_Icon - A window for drawing icon(s).
#==============================================================================#
class Window_Icon < Window_Base

 attr_accessor :enabled
 attr_accessor :alignment

 def initialize(x, y, window_width, hsize)
# // Method to initialize the icon window.
super(0, 0, window_width, window_height(hsize))
@icons = []
@index = 0
@enabled = true
@alignment = 0
refresh
 end

 def window_height(hsize)
# // Method to return the height.
fitting_height(hsize)
 end

 def refresh
# // Method to refresh the icon window.
contents.clear
 end

 def draw_cmd_icons(icons, index)
# // Draw all of the icons.
return if !@enabled
count = 0
for i in icons
  align = 0
  x = 110
  next if i[index].nil?
  case @alignment
  when 1, 2 ; align = -110
  end
  draw_icon(i[index], x + align, 24 * count)
  count += 1
  break if (24 * count > height - 24)
end
 end

end
#==============================================================================
# ** Game_Party
#==============================================================================
class Game_Party < Game_Unit

 def check_item?(item, type)
# // Method to return a item based on the type.
case type
when :item	; item = $data_items[item]
when :weapon  ; item = $data_weapons[item]
when :armor   ; item = $data_armors[item]
end
 end

end
#==============================================================================
# ** Game_Event
#==============================================================================
class Game_Event < Game_Character

 def comment?(comment)
# // Method to check if comment is included in event.
unless empty? or @list.nil?
  for evt in @list
	if evt.code == 108 or evt.code == 408
	  if evt.parameters[0].include?(comment)
		return true
	  end
	end
  end
end
return false
 end

 def comment_int?(comment)
# // Method to check variable integer in event.
unless empty? or @list.nil?
  for evt in @list
	if evt.code == 108 or evt.code == 408
	  if evt.parameters[0] =~ /<#{comment}:[ ]?(\d*)>?/
		return ($1.to_i > 0 ? $1.to_i : 0)
	  end
	end
  end
end
 end

end # END OF FILE

#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=#

 

 

 

Delux Menu

 

#==============================================================================
#   XaiL System - Menu Delux
#   Author: Nicke
#   Created: 20/11/2012
#   Edited: 21/11/2012
#   Version: 1.0b
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#==============================================================================
# Requires: XS - Core Script.
#==============================================================================
#
# This script changes the way the menu scene works. Not compatible with
# XS - Menu or XS - Icon Menu.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-XS-MENU_DELUX"] = true

module XAIL
 module MENU_DELUX
#--------------------------------------------------------------------------#
# * Settings
#--------------------------------------------------------------------------#
# MENU_FONT:
# MENU_FONT = [name, size, color, bold, shadow]
MENU_FONT = [["Calibri", "Verdana"], 18, Color.new(255,255,255), true, true]

# MENU_WINDOW:
# MENU_WINDOW [x, y, z, opacity]
MENU_WINDOW = [-12, -12, 200, 0]

# STATUS_WINDOW:
# STATUS_WINDOW [x, y, z, opacity]
STATUS_WINDOW = [142, -4, 200, 0]

# DETAILS_WINDOW:
# DETAILS_WINDOW [x, y, z, opacity]
DETAILS_WINDOW = [380, -10, 200, 0]

# HELP_WINDOW:
# Setup help window.
# HELP = [x, y, z, opacity, enabled]
HELP_WINDOW = [-6, 352, 200, 0, true]

# MENU_ALIGNMENT:
# MENU_ALIGNMENT = 0 (left), 1 (center), 2 (right)
MENU_ALIGNMENT = 0 # Default: 0.

# MENU_SKIN:
# The windowskin to use for the windows.
# nil to disable.
# MENU_SKIN = string
MENU_SKIN = nil

# MENU_LIST:
# Name, Icon_index and custom_scene are optional.
# If name is empty it will use the corresponding symbol as name instead.
# symbol => [name, description, icon_index, enabled, personal, custom_scene]
MENU_LIST = {
  :item	  => ["", "Browse through your acquired items.", 4148, true, false],
  :equip	 => ["Equipment", "Change your equipment.", 4145, true, true],
  :skill	 => ["Spells", "Manage your available skills.", 4147, true, true],
  :status	=> ["Stats", "See the current status of the hero.", 4136, true, true],
  :formation => ["", "Change the formation of the party.", 4134, true, false],
  :save	  => ["", "Record your progress.", 4139, true, false],
  :load	  => ["", "Load your saved progress.", 4165, true, false, Scene_Load],
  :game_end  => ["Quit", "Exit the program.", 4162, true, false],
  :title	 => ["", "Return to title.", 4133, true, false, Scene_Title]
} # Don't remove this line!

# MENU_SAVE = true/false
# Override enabled option for save (so you can change it ingame).
MENU_SAVE = true

# ANIM_LIST:
# A list of animation images.
# name  =>  [z, zoom_x, zoom_y, blend_type, opacity]
ANIM_LIST = {
  "Menu_Fog1"   => [1, 1.2, 1.2, 1, 125],
  "Menu_Fog2"   => [1, 1.8, 1.8, 1, 155]
} # Don't remove this line!

# BACKGROUND:
# name => [x, y, z, opacity]
BACKGROUND = {
  "Menu_Back" => [0, 0, 4, 255]
} # Don't remove this line!

# BAR_COLOR = rgba(255,255,255,255)
# Set the color of the hp/mp gauge.
BAR_HP = [Color.new(225,50,50,64), Color.new(235,75,75,175)]
BAR_MP = [Color.new(50,50,225,64), Color.new(75,75,235,175)]

# DETAILS:
# Setup details here. (Recommended to use the default ones since you will
# need a bit RGSS knowledge to add more.)
def self.details
  ["#{Vocab::currency_unit}: #{$game_party.gold}",
  "Steps: #{$game_party.steps}",
  "Collected Items: #{$game_party.all_items.size}",
  "Map: #{$game_map.name}",
  "Leader: #{$game_party.leader.name}",
  "Variable I: #{$game_variables[1]}",
  "Variable II: #{$game_variables[2]}",
  "Playtime: #{$game_system.playtime_s}"]
end

# ICONS[id] = icon_id
# Set the details icon_id. (optional)
# Should be in the same order as details.
# Use nil to disable a icon.
ICONS = []
ICONS[0] = 2114 # GOLD
ICONS[1] = 172  # STEPS
ICONS[2] = 270  # ITEMS
ICONS[3] = 232  # MAP
ICONS[4] = 4425 # LEADER
ICONS[5] = nil # VAR 1
ICONS[6] = nil # VAR 2
ICONS[7] = 280 # PLAYTIME

# Transition, nil to use default.
# TRANSITION [speed, transition, opacity]
TRANSITION = nil

 end
end
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Error Handler
#==============================================================================#
 unless $imported["XAIL-XS-CORE"]
# // Error handler when XS - Core is not installed.
msg = "The script %s requires the latest version of XS - Core in order to function properly."
name = "XS - Menu Delux"
msgbox(sprintf(msg, name))
exit
 end
#==============================================================================#
# ** Game_Map
#==============================================================================#
class Game_Map

 attr_reader :name

 alias xail_menu_delux_setup setup
 def setup(map_id)
# // Method to setup the map id.
xail_menu_delux_setup(map_id)
@map_infos = load_data("Data/MapInfos.rvdata2") if @map_infos.nil?
@name = @map_infos[@map_id].name
 end

end
#==============================================================================
# ** Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command

 def window_width
# // Method to return the width of MENU_WINDOW.
return 170
 end

 def alignment
# // Method to return the alignment.
return XAIL::MENU_DELUX::MENU_ALIGNMENT
 end

 def menu_color(color, enabled = true)
 # // Method to set the color and alpha if not enabled.
contents.font.color.set(color)
contents.font.color.alpha = Colors::AlphaMenu unless enabled
 end

 def item_rect_for_text(index)
# // Method to draw item rect for text.
rect = item_rect(index)
contents.fill_rect(rect.x, rect.y, contents_width, contents_height, Color.new(0,0,0,60))
rect.x += 24
rect.width -= 8
draw_icon(XAIL::MENU_DELUX::MENU_LIST.values[index][2], -2, rect.y)
rect
 end

 def draw_item(index)
# // Method to draw the command item.
contents.font.name = XAIL::MENU_DELUX::MENU_FONT[0]
contents.font.size = XAIL::MENU_DELUX::MENU_FONT[1]
# // Save option.
XAIL::MENU_DELUX::MENU_LIST[:save][3] = save_enabled if XAIL::MENU_DELUX::MENU_SAVE
menu_color(XAIL::MENU_DELUX::MENU_FONT[2], menu_enabled?(index))
# // Font settings
contents.font.bold = XAIL::MENU_DELUX::MENU_FONT[3]
contents.font.shadow = XAIL::MENU_DELUX::MENU_FONT[4]
draw_text(item_rect_for_text(index), command_name(index), alignment)
reset_font_settings
 end

 def menu_enabled?(index)
# // Method to check if menu item is enabled.
XAIL::MENU_DELUX::MENU_LIST.values[index][3]
 end

 def make_command_list
# // Method to add the commands.
XAIL::MENU_DELUX::MENU_LIST.each {|key, value|
  name = value[0] == "" ? key.id2name.capitalize : value[0]
  XAIL::MENU_DELUX::MENU_LIST[:save][3] = save_enabled if XAIL::MENU_DELUX::MENU_SAVE
  add_command(name, key, value[3], value[5].nil? ? nil : value[5])
}
 end

end
#==============================================================================
# ** Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable

 def window_width
# // Method to determine window width.
return 250
 end

 def window_height
# // Method to determine window height.
return Graphics.height
 end

 def standard_padding
# // Method to determine standard padding.
return 4
 end

 def col_max
# // Method to determine col max.
return 2
 end

 def spacing
# // Method to determine spacing.
return 30
 end

 def item_width
# // Method to determine item width.
return 98
 end

 def item_height
# // Method to determine item height.
return 118
 end

 def refresh
# // Method to refresh the window.
contents.clear
draw_background
draw_all_items
 end

 def draw_background
# // Method to draw background.
contents.fill_rect(0, 0, contents_width, contents_height, Color.new(0,0,0,60))
 end

 def draw_item(index)
# // Method to draw item.
actor = $game_party.members[index]
rect = item_rect(index)
draw_item_background(index)
# // Face
draw_actor_face(actor, rect.x + 1, rect.y + 1, true)
# // Name
draw_font_text(actor.name, rect.x + 4, rect.y, rect.width, 0, XAIL::MENU_DELUX::MENU_FONT[0], 20, XAIL::MENU_DELUX::MENU_FONT[2])
# // Level
lvl = "#{Vocab::level_a} #{actor.level}"
draw_font_text(lvl, rect.x + 4, rect.y + 76, rect.width, 0, XAIL::MENU_DELUX::MENU_FONT[0], 14, XAIL::MENU_DELUX::MENU_FONT[2])
# // Class
draw_font_text(actor.class.name, rect.x - 4, rect.y + 76, rect.width, 2, XAIL::MENU_DELUX::MENU_FONT[0], 14, XAIL::MENU_DELUX::MENU_FONT[2])
# // Stats
draw_menu_stats(actor, :hp, rect.x, rect.y + 90, XAIL::MENU_DELUX::BAR_HP[0], XAIL::MENU_DELUX::BAR_HP[1], rect.width - 2)
draw_menu_stats(actor, :mp, rect.x, rect.y + 100, XAIL::MENU_DELUX::BAR_MP[0], XAIL::MENU_DELUX::BAR_MP[1], rect.width - 2)
 end

 def draw_menu_stats(actor, stat, x, y, color1, color2, width)
# // Method to draw actor hp & mp.
case stat
when :hp
  rate = actor.hp_rate ; vocab = Vocab::hp_a ; values = [actor.hp, actor.mhp]
when :mp
  rate = actor.mp_rate ; vocab = Vocab::mp_a ; values = [actor.mp, actor.mmp]
end
contents.font.name = XAIL::MENU_DELUX::MENU_FONT[0]
contents.font.size = 14 # // Override font size.
contents.font.color = XAIL::MENU_DELUX::MENU_FONT[2]
contents.font.bold = XAIL::MENU_DELUX::MENU_FONT[3]
contents.font.shadow = XAIL::MENU_DELUX::MENU_FONT[4]
# // Draw guage.
draw_gauge_ex(x, y - 8, width, 8, rate, color1, color2)
# // Draw hp and mp.
draw_text(x + 1, y, width, line_height, values[0], 0)
draw_text(x - 1, y, width, line_height, values[1], 2)
# // Draw vocab.
draw_text(x, y, width, line_height, vocab, 1)
reset_font_settings
 end

end
#==============================================================================
# ** Window_Menu_Details
#==============================================================================
class Window_Menu_Details < Window_Base

 def initialize(x, y)
# // Method to initialize.
super(x, y, window_width, fitting_height(XAIL::MENU_DELUX.details.size) + 8)
refresh
 end

 def standard_padding
# // Method to determine standard padding.
return 8
 end

 def window_width
# // Method to determine window width.
return 170
 end

 def refresh
# // Method to refresh the window.
contents.clear
# // Draw background.
draw_background
# // Draw details.
y = -10
XAIL::MENU_DELUX.details.each_index {|i|
  draw_line_ex(0, y+=24, Color.new(255,255,255,32), Color.new(0,0,0,64))
  draw_font_text(XAIL::MENU_DELUX.details[i], -4, line_height * i + 4, contents_width, 2, XAIL::MENU_DELUX::MENU_FONT[0], 16, XAIL::MENU_DELUX::MENU_FONT[2])
}
# // Draw icons.
draw_icons(XAIL::MENU_DELUX::ICONS, :vertical, 2, line_height * 0 + 2)
# // Draw playtime.
#draw_font_text(@playtime, -4, line_height * XAIL::MENU_DELUX.details.size + 2, contents_width, 2, XAIL::MENU_DELUX::MENU_FONT[0], 16, XAIL::MENU_DELUX::MENU_FONT[2])
 end

 def draw_background
# // Method to draw background.
contents.fill_rect(0, 0, contents_width, contents_height, Color.new(0,0,0,60))
 end

end
#==============================================================================#
# ** Window_Menu_Help
#==============================================================================#
class Window_Menu_Help < Window_Help

 attr_accessor :index

 alias xail_icon_menu_winhelp_init initialize
 def initialize(*args, &block)
# // Method to initialize help window.
xail_icon_menu_winhelp_init(*args, &block)
@index = 0
 end

 alias xail_icon_menu_winhelp_set_text set_text
 def set_text(text, enabled)
# // Method to set a new the tp text to the window.
xail_icon_menu_winhelp_set_text(text)
if text != @text
  menu_color(XAIL::MENU_DELUX::MENU_FONT[2], enabled)
  @text = text
  refresh
end
 end

 def refresh
# // Refresh help contents.
contents.clear
draw_help_text
 end

 def draw_help_text
# // Method to draw the help text.
contents.font.name = XAIL::MENU_DELUX::MENU_FONT[0]
contents.font.size = XAIL::MENU_DELUX::MENU_FONT[1]
menu_color(XAIL::MENU_DELUX::MENU_FONT[2], menu_enabled?(@index))
contents.font.bold = XAIL::MENU_DELUX::MENU_FONT[3]
contents.font.shadow = XAIL::MENU_DELUX::MENU_FONT[4]
# // Draw title and description for the menu.
draw_line_ex(0, 14, Color.new(255,255,255,128), Color.new(0,0,0,200))
draw_text_ex_no_reset(0, 0, @text)
reset_font_settings
 end

 def menu_enabled?(index)
# // Method to check if menu item is enabled.
XAIL::MENU_DELUX::MENU_LIST.values[index][3]
 end

 def menu_color(color, enabled = true)
 # // Method to set the color and alpha if not enabled.
contents.font.color.set(color)
contents.font.color.alpha = 150 unless enabled
 end

end
#==============================================================================#
# ** Scene_MenuBase
#==============================================================================#
class Scene_MenuBase < Scene_Base

 def start
# // Method to start the scene.
super
if SceneManager.scene_is?(Scene_Menu)
  @backgrounds = []
  @animations = []
  @actor = $game_party.menu_actor
  create_menu_backgrounds
  create_menu_animations
end
 end

 def create_menu_backgrounds
# // Method to create custom background(s).
XAIL::MENU_DELUX::BACKGROUND.each {|key, value|
  @backgrounds << [sprite.new, key]
}
@backgrounds.each {|i|
  i[0].bitmap = Cache.system(i[1])
  i[0].x = XAIL::MENU_DELUX::BACKGROUND[i[1]][0]
  i[0].y = XAIL::MENU_DELUX::BACKGROUND[i[1]][1]
  i[0].z = XAIL::MENU_DELUX::BACKGROUND[i[1]][2]
  i[0].opacity = XAIL::MENU_DELUX::BACKGROUND[i[1]][3]
}
 end

 def create_menu_animations
# // Method to create custom animation(s).
# name  =>  [z, zoom_x, zoom_y, blend_type, opacity]
XAIL::MENU_DELUX::ANIM_LIST.each {|key, value|
  @animations.push << [Plane.new, key]
}
@animations.each {|i|
  i[0].bitmap = Cache.system(i[1])
  i[0].z = XAIL::MENU_DELUX::ANIM_LIST[i[1]][0]
  i[0].zoom_x = XAIL::MENU_DELUX::ANIM_LIST[i[1]][1]
  i[0].zoom_y = XAIL::MENU_DELUX::ANIM_LIST[i[1]][2]
  i[0].blend_type = XAIL::MENU_DELUX::ANIM_LIST[i[1]][3]
  i[0].opacity = XAIL::MENU_DELUX::ANIM_LIST[i[1]][4]
}
 end

 def delay?(amount)
# // Method to delay.
amount.times do
  update_basic
end
 end

 alias xail_upd_menubase_delux_upd update
 def update(*args, &block)
# // Method for updating the scene.
xail_upd_menubase_delux_upd(*args, &block)
if SceneManager.scene_is?(Scene_Menu)
  for i in 0...@animations.size
	@animations[i][0].ox += 1.2 - i
	@animations[i][0].oy -= 0.6 + i
  end unless scene_changing?
  delay?(1)
end
 end

 alias xail_menubase_delux_transition perform_transition
 def perform_transition(*args, &block)
# // Method to create the transition.
if XAIL::MENU_DELUX::TRANSITION.nil?
  xail_menubase_delux_transition(*args, &block)
else
  Graphics.transition(XAIL::MENU_DELUX::TRANSITION[0],XAIL::MENU_DELUX::TRANSITION[1],XAIL::MENU_DELUX::TRANSITION[2])
end
 end

 def dispose_sprites
# // Method to dispose sprites.
return if SceneManager.scene_is?(Scene_Map)
@backgrounds.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil }
@animations.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil }
 end

 def terminate
# // Method to terminate.
super
dispose_sprites unless SceneManager.scene_is?(Scene_Menu)
 end

end
#==============================================================================#
# ** Scene_Menu
#==============================================================================#
class Scene_Menu < Scene_MenuBase

 def start
super
# // Method to start the scene.
create_menu_command_window
create_menu_status_window
create_menu_details_window
if XAIL::MENU_DELUX::HELP_WINDOW[4]
  create_menu_help_window
  help_update(@command_window.index)
end
 end

 def create_menu_command_window
# // Method to create the command window.
@command_window = Window_MenuCommand.new
@command_window.windowskin = Cache.system(XAIL::MENU_DELUX::MENU_SKIN) unless XAIL::MENU_DELUX::MENU_SKIN.nil?
@command_window.x = XAIL::MENU_DELUX::MENU_WINDOW[0]
@command_window.y = XAIL::MENU_DELUX::MENU_WINDOW[1]
@command_window.z = XAIL::MENU_DELUX::MENU_WINDOW[2]
@command_window.opacity = XAIL::MENU_DELUX::MENU_WINDOW[3]
XAIL::MENU_DELUX::MENU_LIST.each {|key, value|
  unless value[5].nil?
	@command_window.set_handler(key, method(:command_custom))
  else
	if value[4]
	  @command_window.set_handler(key, method(:command_personal))
	else
	  @command_window.set_handler(key, method("command_#{key}".to_sym))
	end
  end
}	
@command_window.set_handler(:cancel, method(:return_scene))
 end

 def create_menu_status_window
# // Method to create the status window.
x = XAIL::MENU_DELUX::STATUS_WINDOW[0]
y = XAIL::MENU_DELUX::STATUS_WINDOW[1]
@status_window = Window_MenuStatus.new(x, y)
@status_window.z = XAIL::MENU_DELUX::STATUS_WINDOW[2]
@status_window.opacity = XAIL::MENU_DELUX::STATUS_WINDOW[3]
 end

 def create_menu_details_window
# // Method to create the details window.
x = XAIL::MENU_DELUX::DETAILS_WINDOW[0]
y = XAIL::MENU_DELUX::DETAILS_WINDOW[1]
@details_window = Window_Menu_Details.new(x, y)
@details_window.z = XAIL::MENU_DELUX::DETAILS_WINDOW[2]
@details_window.opacity = XAIL::MENU_DELUX::DETAILS_WINDOW[3]
 end

 def create_menu_help_window
# // Method to create the help window.
@help_window = Window_Menu_Help.new(2)
@help_window.viewport = @viewport
@help_window.windowskin = Cache.system(XAIL::MENU_DELUX::MENU_SKIN) unless XAIL::MENU_DELUX::MENU_SKIN.nil?
@help_window.index = @command_window.index
@help_window.x = XAIL::MENU_DELUX::HELP_WINDOW[0]
@help_window.y = XAIL::MENU_DELUX::HELP_WINDOW[1]
@help_window.z = XAIL::MENU_DELUX::HELP_WINDOW[2]
@help_window.opacity = XAIL::MENU_DELUX::HELP_WINDOW[3]
 end

 alias xail_upd_menu_delux_upd update
 def update(*args, &block)
# // Method for updating the scene.
xail_upd_menu_delux_upd(*args, &block)
if XAIL::MENU_DELUX::HELP_WINDOW[4]
  old_index = @help_window.index
  if old_index != @command_window.index
	help_update(@command_window.index)
  end
end
 end

 def help_update(index)
# // If index changes update help window text.
list = XAIL::MENU_DELUX::MENU_LIST
icon = list.values[index][2]
name = list.values[index][0] == "" ? list.keys[index].id2name.capitalize : list.values[index][0]
title = '\i[' + icon.to_s + ']' + name
desc = '\c[0]' + list.values[index][1]
text = "#{title}\n#{desc}"
enabled = list.values[index][3]
@help_window.index = index
@help_window.set_text(text, enabled)
 end

 def command_custom
# // Method to call a custom command.
SceneManager.call(@command_window.current_ext)
 end

end
#==============================================================================#
# ** Scene_Menu
#==============================================================================#
class Scene_File < Scene_MenuBase

 alias xail_upd_menu_delux_create_savefile_viewport create_savefile_viewport
 def create_savefile_viewport
# // Method to create save viewport.
xail_upd_menu_delux_create_savefile_viewport
@savefile_viewport.z = 9999
 end

end # END OF FILE

#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=#

 

 

EDIT~

Never mind it is working fine now.

 

However, how do I align everything to the center for "640 x 480" resolution?

 

1zvd1lu.jpg

Edited by KoutaStepp

Share this post


Link to post
Share on other sites

My game only has several characters but only uses 5 in party so is their any way to gray out the 6th character?

 

 

Edited by Sgt Derpy hooves

Share this post


Link to post
Share on other sites

Would there ever be a full add on to this? Such as turning this into a full main menu with each scene having the same background as the main? instead of it being scene called?

Share this post


Link to post
Share on other sites

I have a question now.

 

How do I add a new commands to the menu such as http://www.rpgmakerv...-select-system/

I want to add that to the menu.

 

Unlike the Menu Ace Engine by Yanfly. I cannot use this

 

COMMANDS =[

	 :item,		 # Opens up the item menu. Default menu item.
	 :skill,		# Opens up the skill menu. Default menu item.
	 :equip,		# Opens up the equip menu. Default menu item.
	 :class,		# Requires YEA - Class System.
	 :status,	   # Opens up the status menu. Default menu item.
-->		  :battle_setup, # Opens up the Battle Skills.
	  :formation,	# Lets player manage party. Default menu item.
	 # :event_1,	  # Launches Common Event 1. Common Event Command.
	 # :event_2,	  # Launches Common Event 2. Common Event Command.
	 # :debug,		# Opens up debug menu. Custom Command.
	 # :shop,		 # Opens up a shop to pawn items. Custom Command.
	   :save,		 # Opens up the save menu. Default menu item.
	  :game_end,	 # Opens up the shutdown menu. Default menu item.

 ] # Do not remove this.

 

and

 

when :battle_setup
	add_command("Battle Setup", :battle_skill, true)

 

Because your Menu does not use those script commands.

Share this post


Link to post
Share on other sites

I have a question now.

 

How do I add a new commands to the menu such as http://www.rpgmakerv...-select-system/

I want to add that to the menu.

 

Unlike the Menu Ace Engine by Yanfly. I cannot use this

 

COMMANDS =[

	 :item,		 # Opens up the item menu. Default menu item.
	 :skill,		# Opens up the skill menu. Default menu item.
	 :equip,		# Opens up the equip menu. Default menu item.
	 :class,		# Requires YEA - Class System.
	 :status,	   # Opens up the status menu. Default menu item.
-->		  :battle_setup, # Opens up the Battle Skills.
	  :formation,	# Lets player manage party. Default menu item.
	 # :event_1,	  # Launches Common Event 1. Common Event Command.
	 # :event_2,	  # Launches Common Event 2. Common Event Command.
	 # :debug,		# Opens up debug menu. Custom Command.
	 # :shop,		 # Opens up a shop to pawn items. Custom Command.
	   :save,		 # Opens up the save menu. Default menu item.
	  :game_end,	 # Opens up the shutdown menu. Default menu item.

 ] # Do not remove this.

 

and

 

when :battle_setup
	add_command("Battle Setup", :battle_skill, true)

 

Because your Menu does not use those script commands.

 

Great idea ... it's interesting to me :D/> ...

However, I have a suggestion :)/> ...

Niclas the effect backgroud with fog you do not also appear in your

XS - Status Delux? Least are the same! ;)/>

Edited by Lionheart

Share this post


Link to post
Share on other sites

Niclas, You did not respond to my question.

Since the update is no longer possible to add personal scene, like equip or skills scene (Awaiting the selection of characters before opening the window.).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.