Menu
Eclipso logo
Merry Christmas !
15/04/2024 14:40:51

2k3 < VX < Ace < XP

[Résolu]Problème d'affichage PT [Vx Ace]

Gelarto

Vétéran
Gelarto
  • Messages : 781

[Résolu]Problème d'affichage PT [Vx Ace]


mar. 05 mai 2015 - 14h37

Salut tout le monde, [img]http://www.zupimages.net/up/15/19/24am.png[/img] Comme vous pouvez le voir, le nombre de TP est de 5,7368.... Sur le coup ça m'a fait marrer mais c'est super moche et inutile. Le truc c'est que j'arrive pas à arranger ça afin d'afficher que l'unité. Je pense que c'est lieu au script de Menu (celui de Xail). Voilà le Core et le Menu : [spoiler] [code]#============================================================================== # 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 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 = false # SAVE SAVE_MAX = 4 # Default 16. SAVE_FILE_VIS = 4 # Default 4. # JAPANESE = true/false JAPANESE = false 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 #=*==========================================================================*=#[/code] [code]#============================================================================== # 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 module XAIL module MENU_DELUX #--------------------------------------------------------------------------# # * Settings #--------------------------------------------------------------------------# # FONT: # FONT = [name, size, color, bold, shadow] FONT = [["Calibri", "Verdana"], 18, Color.new(255,255,255), true, true] # PLAYTIME_ICON: # Set playtime window icon. # PLAYTIME_ICON = icon_id PLAYTIME_ICON = 280 # MENU_ALIGNMENT: # MENU_ALIGNMENT = 0 (left), 1 (center), 2 (right) MENU_ALIGNMENT = 0 # Default: 2. # 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 => ["Inventaire", "Regardez les objets possédés.", 4396, true, false], :equip => ["Equipement", "Changez votre équipement.", 436, true, true], :skill => ["Capacités", "Gérez vos compétences.", 117, true, true], :com_event => ["Classes", "Changer les classes de vos personnages.", 10511, true, false, 4], :status => ["État", "Voir l'état actuel des héros.", 10510, true, true], :licence => ["Permis", "Gérez les permis des héros.", 9376, true, false, Scene_LicenceBoard], :quest_journal => ["Quêtes", "Voir les différentes quêtes", 3347, true, false, Scene_Quest], :save => ["Sauvegarder", "Enregistrez votre progression.", 1238, true, false], :load => ["Charger", "Chargez une sauvegarde existante.", 2335, true, false, Scene_Load], :game_end => ["Système", "Voir les options, quitter ou retourner à l'écran titre du jeu.", 2048, true, false], # :formation => ["Formation", "Changez la formation de l'équipe.", 10495, true, false], } # Don't remove this line! # MENU_SAVE = true/false # Override enabled option for save (so you can change it ingame). MENU_SAVE = true # 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 = true # The text to be displayed if no menu items is available. # Only used if MENU_CUSTOM is true. # MENU_EMPTY = string EMPTY = "Menu non disponible à cet endroit..." # 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 = { "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 = { #"" => [0, 0, 200, 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(25,255,25,32), Color.new(150,255,150)] # 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}", "Pas: #{$game_party.steps}", "Objets collectés: #{$game_party.all_items.size}", "Carte: #{$data_mapinfos[$game_map.map_id].name}", "Combat: #{$game_system.battle_count}", "Sauvegarde: #{$game_system.save_count}", "Membres: #{$game_party.all_members.size}", ] 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] = 262 # GOLD DETAILS_ICONS[1] = 467 # STEPS DETAILS_ICONS[2] = 270 # ITEMS DETAILS_ICONS[3] = 231 # MAP DETAILS_ICONS[5] = 11 # BATTLE COUNT DETAILS_ICONS[6] = 1216 # SAVE COUNT DETAILS_ICONS[7] = 121 # PARTY MEMBERS # 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_item(index) # // Method to draw item. actor = $game_party.members[index] rect = item_rect(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::FONT[0], 20, XAIL::MENU_DELUX::FONT[2]) # // Level lvl = "#{Vocab::level_a}: #{actor.level}" draw_font_text(lvl, rect.x + 4, rect.y + 64, rect.width, 0, XAIL::MENU_DELUX::FONT[0], 18, XAIL::MENU_DELUX::FONT[2]) # // Class # // Check if Yanfly Class System is installed. if $imported["YEA-ClassSystem"] actor_class = actor.subclass.nil? ? actor.class.name : "#{actor.class.name} [#{actor.subclass.name}]" else actor_class = actor.class.name end draw_font_text(actor_class, rect.x - 4, rect.y + 76, rect.width, 2, XAIL::MENU_DELUX::FONT[0], 16, XAIL::MENU_DELUX::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) draw_menu_stats(actor, :tp, rect.x, rect.y + 110, XAIL::MENU_DELUX::BAR_TP[0], XAIL::MENU_DELUX::BAR_TP[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] 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 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 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 dispose_sprites # // Method to dispose sprites. @backgrounds.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil } rescue nil @animations.each {|i| i[0].dispose unless i[0].nil? ; i[0] = nil } rescue 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. # // 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_playtime_window # // Method to create the playtime window. @playtime_window = Window_Menu_Playtime.new(0, 0) @playtime_window.x = Graphics.width - @playtime_window.width @playtime_window.y = Graphics.height - @playtime_window.height - 26 @playtime_window.opacity = 0 @playtime_window.z = 201 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 #=*==========================================================================*=#[/code] [/spoiler] Je sais pas si ça peut venir de la formule de TP que j'ai modifié, donc je la donne aussi : "1 + (20 * damage_rate)" Merci d'avance^^

Gelarto

Vétéran
Gelarto
  • Messages : 781

[Résolu]Problème d'affichage PT [Vx Ace]


mar. 05 mai 2015 - 16h35

Je me permet un double post pour dire que le sujet est résolu grâce à Zouzaka^^ Il suffit de remplacer la ligne 402 du script Menu par : [code]draw_text(x + 2, y, width, line_height, values[0].to_i, 0)[/code]