Nella schermata principale del menù ci sono le facce dei pg con 3 barre, pv, pm e pt. È possibile in qualche modo rimuovere la terza barra (quella dei pt) visto che, nel gioco in cui sto utilizzando lo script, è sempre vuota e diventa abbastanza fastidiosa da vedere?
Il link che porta allo script non sembra funzionare, quindi lo copio-incollo qui sotto ^^
#============================================================================== # XaiL System - Menu Delux # Author: Nicke # Created: 20/11/2012 # Edited: 08/02/2013 # Version: 1.1b #============================================================================== # 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. # # Instructions are in the settings module below. Make sure you read through # everything so you understand each section. # # *** Only for RPG Maker VX Ace. *** #============================================================================== ($imported ||= {})["XAIL-XS-MENU_DELUX"] = true
# MENU_SKIN: # The windowskin to use for the windows. # Set to nil to disable. # MENU_SKIN = string MENU_SKIN = nil
# MENU_LIST: # name, icon_index and custom are optional. # If name is empty it will use the corresponding symbol as name instead. # To make a command a common event you need to set custom to the common event # id you want to run as seen below. # symbol => [name, description, icon_index, enabled, personal, custom] MENU_LIST = { :item => ["Oggetti", "Visualizza gli oggetti posseduti.", 201, true, false], :equip => ["Equip", "Cambia l'equipaggiamento.", 201, true, true], :skill => ["Abilità", "Controlla le abilità disponibili.", 201, true, true], :status => ["Status", "Controlla lo status dei personaggi.", 201, true, true], :formation => ["Formazione", "Chambia la formazione del gruppo.", 201, true, false], :save => ["Quest", "Visualizza le quest.", 201, true, false, Scene_Quest], :load => ["Carica", "Carica i progressi di gioco.", 201, true, false, Scene_Load], :game_end => ["Esci", "Esci dal gioco.", 201, true, false], :title => ["Titolo", "Torna alla schermata del titolo.", 201, true, false, Scene_Title], #:com_event => ["Camping", "Run common event camping.", 728, true, false, 1] } # Don't remove this line!
# MENU_SAVE = true/false # Override enabled option for save (so you can change it ingame). MENU_SAVE = false
# If MENU_CUSTOM is true you will have to add the commands yourself # ingame, which can be useful for certain quest related stuff or if you # want to enable/disable menu commands. # To add/remove a command ingame follow these instructions: # # In a script call do like this: # menu_scene(key, type) # menu_scene(:item,:add) # To add item to menu list. # menu_scene(:item,:del) # To remove item from menu list. # # In a conditional branch you can check if a menu command is # enabled/disabled: # menu_active?(key) # menu_active?(:item) # Check if item is enabled. # !menu_active?(:item) # Check if item is disabled. # # To set a id to be enabled do like this: # menu_active(:skill, true) # Set menu skill to be enabled. # # To add/remove all available menu commands use one of the # following methods in a script call: # menu_add_all # menu_del_all # # MENU_CUSTOM = true/false MENU_CUSTOM = false
# The text to be displayed if no menu items is available. # Only used if MENU_CUSTOM is true. # MENU_EMPTY = string EMPTY = "Il menu non è disponibile."
# MENU_MUSIC: # Set the music to be played at the menu scene. # This is optional. # MUSIC = true/false MUSIC = false # MUSIC_BGM = [name, volume, pitch] MUSIC_BGM = ["Theme4", 70, 100] # MUSIC_BGS = [name, volume, pitch] MUSIC_BGS = ["Darkness", 50, 100]
# ANIM_LIST: # A list of animation images. # name => [z, zoom_x, zoom_y, blend_type, opacity] ANIM_LIST = { #"Menu1" => [1, 1, 1, 1, 125], #"Menu1" => [1, 1.8, 1.8, 1, 155] } # Don't remove this line!
# BACKGROUND: # name => [x, y, z, opacity] BACKGROUND = { #"Menu_Back" => [0, 0, 255, 255] } # Don't remove this line!
# Show vocab for HP, MP and TP. # BAR_VOCAB = true/false BAR_VOCAB = true
# BAR_COLOR = rgba(255,255,255,255) # Set the color of the gauges. BAR_HP = [Color.new(255,25,25,32), Color.new(255,150,150)] BAR_MP = [Color.new(25,25,255,32), Color.new(150,150,255)] BAR_TP = [Color.new(0,0,0,0), Color.new(0,0,0,0)]
# 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}", #"Oggetti Ottenuti: #{$game_party.all_items.size}", #"Zona: #{$data_mapinfos[$game_map.map_id].name}", #"Leader: #{$game_party.leader.name}", #"Battaglie: #{$game_system.battle_count}", #"Save Count: #{$game_system.save_count}", #"Party Members: #{$game_party.all_members.size}", #"Highest Level: #{$game_party.highest_level}", #"Variable I: #{$game_variables[1]}", #"Variable II: #{$game_variables[2]}"], ] end
# DETAILS_ICONS: # DETAILS_ICONS[id] = icon_id # Set the details icon_id. (optional) # Should be in the same order as details. # Use nil to disable a icon. DETAILS_ICONS = [] DETAILS_ICONS[0] = 1490 # GOLD #DETAILS_ICONS[1] = 172 # STEPS #DETAILS_ICONS[2] = 328 # ITEMS #DETAILS_ICONS[3] = 3785 # MAP #DETAILS_ICONS[4] = 4425 # LEADER #DETAILS_ICONS[5] = 3731 # BATTLE COUNT #DETAILS_ICONS[6] = 224 # SAVE COUNT #DETAILS_ICONS[7] = 121 # PARTY MEMBERS #DETAILS_ICONS[8] = 14 # HIGHEST LEVEL #DETAILS_ICONS[9] = nil # VARIABLE 1 #DETAILS_ICONS[10] = nil # VARIABLE 2
# 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_System #==============================================================================# class Game_System
attr_accessor :menu_list
alias xail_menu_delux_gm_sys_initialize initialize def initialize(*args, &block) # // Method to initialize game system. xail_menu_delux_gm_sys_initialize(*args, &block) @menu_list = {} end
def get_menu # // Method to get the menu list. XAIL::MENU_DELUX::MENU_CUSTOM ? @menu_list : XAIL::MENU_DELUX::MENU_LIST end
end #==============================================================================# # ** Game_Interpreter #==============================================================================# class Game_Interpreter
def menu_scene(key, type = :add) # // Method to add/remove a menu item to the list. case type when :add # // Add menu id. unless $game_system.menu_list.include?(XAIL::MENU_DELUX::MENU_LIST[key]) $game_system.menu_list[key] = XAIL::MENU_DELUX::MENU_LIST[key] end unless XAIL::MENU_DELUX::MENU_LIST[key].nil? when :del # // Remove menu id. unless XAIL::MENU_DELUX::MENU_LIST[key].nil? $game_system.menu_list.delete(key) end end end
def menu_active?(key) # // Method to check if menu key is enabled. # This will return nil if menu item not added in the list. return $game_system.menu_list[key][3] rescue nil end
def menu_active(key, enabled) # // Method to enable id. $game_system.menu_list[key][3] = enabled end
def menu_add_all # // Method to add all available menu items. XAIL::MENU_DELUX::MENU_LIST.each_key {|key| menu_scene(key) } end
def menu_del_all # // Method to remove all available menu items. XAIL::MENU_DELUX::MENU_LIST.each_key {|key| menu_scene(key, :del) } end
end #============================================================================== # ** Window_MenuCommand #============================================================================== class Window_MenuCommand < Window_Command
def window_width # // Method to return the width of the window. return Graphics.width / 4 end
def window_height # // Method to return the height of the window. return Graphics.height 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) rect.x += 25 draw_line_ex(rect.x - 4, rect.y + 9, Color.new(255,255,255), Color.new(0,0,0,128)) draw_icon(XAIL::MENU_DELUX::MENU_LIST.values[index][2], -2, rect.y) unless XAIL::MENU_DELUX::MENU_LIST.values[index][2].nil? rect end
def draw_item(index) # // Method to draw the command item. contents.font.name = XAIL::MENU_DELUX::FONT[0] contents.font.size = XAIL::MENU_DELUX::FONT[1] # // Save enable option. XAIL::MENU_DELUX::MENU_LIST[:save][3] = save_enabled if XAIL::MENU_DELUX::MENU_SAVE # // Default enable option. menu_color(XAIL::MENU_DELUX::FONT[2], menu_enabled?(index)) # // Font settings contents.font.bold = XAIL::MENU_DELUX::FONT[3] contents.font.shadow = XAIL::MENU_DELUX::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. return $game_system.get_menu.values[index][3] end
def make_command_list # // Method to add the commands. $game_system.get_menu.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 initialize(x, y) # // Method to initialize the window. super(x, y, window_width, window_height) self.arrows_visible = false @pending_index = -1 refresh end
def window_width # // Method to determine window width. return Graphics.width / 2.4 end
def col_max # // Method to determine col max. return 2 end
def spacing # // Method to determine spacing. return 6 if Graphics.width == 544 # For standard resolution. return 44 # For high resolution. end
def item_width # // Method to determine item width. return 98 end
def item_height # // Method to determine item height. return 128 end
def refresh # // Method to refresh the window. super # // Only display cursor arrow if more or equal to 5 party members. if $game_party.all_members.size >= 5 self.arrows_visible = true end 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] when :tp rate = actor.tp_rate ; vocab = Vocab::tp_a ; values = [actor.tp, actor.max_tp] end contents.font.name = XAIL::MENU_DELUX::FONT[0] contents.font.size = 14 # // Override font size. contents.font.color = XAIL::MENU_DELUX::FONT[2] contents.font.bold = XAIL::MENU_DELUX::FONT[3] contents.font.shadow = XAIL::MENU_DELUX::FONT[4] # // Draw guage. draw_gauge_ex(x, y - 8, width, 8, rate, color1, color2) # // Draw stats. draw_text(x + 2, 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) if XAIL::MENU_DELUX::BAR_VOCAB 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, window_height) @leader = $game_party.leader refresh end
def window_width # // Method to determine window width. return Graphics.width / 3 end
def window_height # // Method to determine window height. return Graphics.height end
def refresh # // Method to refresh the window. contents.clear # // 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::FONT[0], 16, XAIL::MENU_DELUX::FONT[2]) } # // Draw icons. draw_icons(XAIL::MENU_DELUX::DETAILS_ICONS, :vertical, 2, line_height * 0 + 2) end
def update # // Method to update details window. super if @leader != $game_party.leader @leader = $game_party.leader refresh end end
end #============================================================================== # ** Window_Menu_Playtime #============================================================================== class Window_Menu_Playtime < Window_Base
def initialize(x, y) # // Method to initialize. super(x, y, 120, fitting_height(1)) @playtime = $game_system.playtime_s refresh end
def refresh # // Method to refresh the window. contents.clear # // Draw icon. draw_icon(XAIL::MENU_DELUX::PLAYTIME_ICON, 4, 0) # // Draw playtime. draw_font_text(@playtime, 0, 6, contents_width, 2, XAIL::MENU_DELUX::FONT[0], 22, XAIL::MENU_DELUX::FONT[2]) end
def update # // Method to update the window. super @playtime = $game_system.playtime_s refresh 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
def set_text(text, enabled) # // Method to set a new help text. if text != @text menu_color(XAIL::MENU_DELUX::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::FONT[0] contents.font.size = XAIL::MENU_DELUX::FONT[1] menu_color(XAIL::MENU_DELUX::FONT[2], menu_enabled?(@index)) contents.font.bold = XAIL::MENU_DELUX::FONT[3] contents.font.shadow = XAIL::MENU_DELUX::FONT[4] # // Draw title and description for the menu. draw_line_ex(0, 14, Color.new(255,255,255), Color.new(0,0,0,128)) draw_text_ex_no_reset(0, 0, @text) reset_font_settings end
def menu_enabled?(index) # // Method to check if menu item is enabled. return $game_system.get_menu.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 @actor = $game_party.menu_actor if SceneManager.scene_is?(Scene_Menu) @backgrounds = [] @animations = [] create_menu_backgrounds create_menu_animations 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
def delay?(amount) # // Method to delay. amount.times do update_basic end end
alias xail_menubase_delux_transition perform_transition def perform_transition(*args, &block) # // Method to create the transition. return if $game_system.get_menu.empty? 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 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. # // Return if menu empty. return command_map if $game_system.get_menu.empty? # // Create windows. create_menu_command_window create_menu_status_window create_menu_details_window create_menu_playtime_window create_menu_help_window # // Set help text to first menu command. help_update(@command_window.index) # // Play music if enabled. play_menu_music if XAIL::MENU_DELUX::MUSIC 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.back_opacity = 96 $game_system.get_menu.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. @status_window = Window_MenuStatus.new(0, 0) @status_window.height = Graphics.height - 72 @status_window.x = @command_window.width @status_window.back_opacity = 96 end
def create_menu_details_window # // Method to create the details window. @details_window = Window_Menu_Details.new(0, 0) @details_window.x = Graphics.width - @details_window.width @details_window.back_opacity = 96 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.y = Graphics.height - @help_window.height @help_window.back_opacity = 255 @help_window.z = 200 end
def play_menu_music # // Method to play menu music. @last_bgm = RPG::BGM.last @last_bgs = RPG::BGS.last bgm = XAIL::MENU_DELUX::MUSIC_BGM bgs = XAIL::MENU_DELUX::MUSIC_BGS Sound.play(bgm[0], bgm[1], bgm[2], :bgm) Sound.play(bgs[0], bgs[1], bgs[2], :bgs) end
alias xail_upd_menu_delux_upd update def update(*args, &block) # // Method for updating the scene. xail_upd_menu_delux_upd(*args, &block) old_index = @help_window.index help_update(@command_window.index) if old_index != @command_window.index end
def help_update(index) # // If index changes update help window text. list = XAIL::MENU_DELUX::MENU_LIST icon = list.values[index][2].nil? ? "" : list.values[index][2] name = list.values[index][0] == "" ? list.keys[index].id2name.capitalize : list.values[index][0] if icon == "" ; title = name ; else ; title = '\i[' + icon.to_s + ']' + name ; end 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 on_personal_ok # // Method override on personal ok. scene = "Scene_#{@command_window.current_symbol.to_s.capitalize}".to_class SceneManager.call(scene) end
def command_custom # // Method to call a custom command. (Don't remove) if @command_window.current_ext.is_a?(Integer) $game_temp.reserve_common_event(@command_window.current_ext) return command_map end SceneManager.call(@command_window.current_ext) end
def command_map # // command_map (Don't remove) if $game_system.get_menu.empty? Sound.play_buzzer $game_message.texts << XAIL::MENU_DELUX::EMPTY end SceneManager.call(Scene_Map) end
def pre_terminate # // Method to pre terminate scene menu. # // Play last bgm and bgs if menu music is enabled. if XAIL::MENU_DELUX::MUSIC @last_bgm.replay rescue nil @last_bgs.replay rescue nil end end
end # END OF FILE
#=*==========================================================================*=# # ** END OF FILE #=*==========================================================================*=#
Core:
#============================================================================== # XaiL System - Core # Author: Nicke # Created: 07/01/2012 # Edited: 08/10/2013 # Version: 2.1f #============================================================================== # 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
end end # *** Don't edit below unless you know what you are doing. *** #==============================================================================# # ** Game_System #==============================================================================# class Game_System
# // Method to determine japanese game. def japanese? ; return XAIL::CORE::JAPANESE ; end
end #==============================================================================# # ** String #==============================================================================# class String
def to_class(parent = Kernel) # // Method to convert string to class. chain = self.split "::" klass = parent.const_get chain.shift return chain.size < 1 ? (klass.is_a?(Class) ? klass : nil) : chain.join("::").to_class(klass) rescue nil end
def cap_words # // Method to capitalize every word. self.split(' ').map {|w| w.capitalize }.join(' ') end
def slice_char(char) # // Method to slice char. self.split(char).map {|w| w.sub(char, " ") }.join(" ") end
end #==============================================================================# # ** 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 raise error if specified sound name is invalid. 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 #============================================================================== # ** SceneManager #============================================================================== class << SceneManager
def call_ext(scene_class, args = nil) # // Method to call a scene with arguments. @stack.push(@scene) @scene = scene_class.new(args) 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 #------------------------------------------------------------------------------ # Importing font fix that will remove weird characters. # Adding new methods such as new gauge, actor param, font text, icon drawing, # big icon drawing and a line with a shadow. #============================================================================== 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 unless method_defined? :process_normal_character
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 horizontal 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_box(x, y, width, height, color, shadow) # // Method to draw a box with shadow. contents.fill_rect(x, y, width, height, color) x += 1 y += 1 contents.fill_rect(x, y, width, height, shadow) end
def draw_vertical_line_ex(x, y, color, shadow) # // Method to draw a vertical line with a shadow. line_x = x + line_height / 2 - 1 contents.fill_rect(line_x, y, 2, contents_height, color) line_x += 1 contents.fill_rect(line_x, y, 2, contents_height, shadow) end
def draw_icons(icons, alignment, x = 0, y = 0, offset_icon = []) # // Method to draw icons in a horizonal or vertical alignment. icons.each {|icon| next if icon.nil? # // If included in offset do extra spacing. offset_icon.each {|offset| if icon == offset y += line_height * 1 if alignment == :vertical x += line_height * 1 if alignment == :horizontal end } draw_icon(icon.nil? ? nil : icon, x.nil? ? 0 : x, y.nil? ? 0 : y) rescue nil y += line_height if alignment == :vertical x += line_height if alignment == :horizontal } 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(text, 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 contents.font.out_color = Color.new(0,0,0,255) draw_text(x, y, width, calc_line_height(text), text, alignment) reset_font_settings end
def draw_font_text_ex(text, x, y, font, size, color, bold = true, shadow = true) # // Method to draw font text ex. contents.font.name = font contents.font.size = size contents.font.color = color contents.font.bold = bold contents.font.shadow = shadow contents.font.out_color = Color.new(0,0,0,255) 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? reset_font_settings end
end #==============================================================================# # ** Window_Selectable #------------------------------------------------------------------------------ # Adding support for pageleft and pageright for window selectable. #==============================================================================# class Window_Selectable < Window_Base
def cursor_pageright ; end def cursor_pageleft ; end
alias xail_core_winselect_process_cursor_move process_cursor_move def process_cursor_move(*args, &block) # // Method to process cursor movement. xail_core_winselect_process_cursor_move(*args, &block) cursor_pageright if !handle?(:pageright) && Input.trigger?(:RIGHT) cursor_pageright if !handle?(:pageleft) && Input.trigger?(:LEFT) end
alias xail_core_winselect_process_handling process_handling def process_handling(*args, &block) # // Method to process handling. xail_core_winselect_process_handling(*args, &block) return process_pageright if handle?(:pageright) && Input.trigger?(:RIGHT) return process_pageleft if handle?(:pageleft) && Input.trigger?(:LEFT) end
def process_pageright # // Method to process page right. Sound.play_cursor Input.update deactivate call_handler(:pageright) end
def process_pageleft # // Method to process page left. Sound.play_cursor Input.update deactivate call_handler(:pageleft) 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 #------------------------------------------------------------------------------ # Adding check item method to return a item based on the type. #============================================================================== class Game_Party < Game_Unit
def check_item?(item, type) # // Method to return a item based on the type. case type when :items ; $data_items[item] when :weapons ; $data_weapons[item] when :armors ; $data_armors[item] when :gold ; item when :exp ; item end end
end #============================================================================== # ** Game_Event #------------------------------------------------------------------------------ # Adding methods to check for comments on events. #============================================================================== 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 for a 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
def comment_string?(comment) # // Method to check for a string in event. unless empty? or @list.nil? for evt in @list if evt.code == 108 or evt.code == 408 if evt.parameters[0] =~ /<#{comment}:[ ]?(\w*)>?/ return $1.to_s end end end end end
end # END OF FILE
#=*==========================================================================*=# # ** END OF FILE #=*==========================================================================*=#
Question
Glesion
Salve, sto utilizzando questo script per il menù di gioco --> http://www.rpgmakercentral.com/topic/8529-xs-menu-delux/
Nella schermata principale del menù ci sono le facce dei pg con 3 barre, pv, pm e pt. È possibile in qualche modo rimuovere la terza barra (quella dei pt) visto che, nel gioco in cui sto utilizzando lo script, è sempre vuota e diventa abbastanza fastidiosa da vedere?
Il link che porta allo script non sembra funzionare, quindi lo copio-incollo qui sotto ^^
Core:
Edited by DarkRageLink to comment
Share on other sites
4 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now