- GelartoGelato Della Mamma
- Nombre de messages : 2919
Age : 29
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012
[Résolu]Problème d'affichage de TP
Mar 5 Mai 2015 - 14:40
Salut tout le monde,
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^^
- Spoiler:
- 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:
#==============================================================================
# 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
#=*==========================================================================*=#
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^^
- ZouzakaMembre
- Nombre de messages : 302
Age : 25
Distinction : aucune
Date d'inscription : 25/12/2011
Re: [Résolu]Problème d'affichage de TP
Mar 5 Mai 2015 - 15:56
essai de remplacer la ligne 400 du script du menu par celle-ci :
- Code:
draw_text(x + 2, y, width, line_height, values[0].to_i, 0)
- GelartoGelato Della Mamma
- Nombre de messages : 2919
Age : 29
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012
Re: [Résolu]Problème d'affichage de TP
Mar 5 Mai 2015 - 16:34
C'était pas la ligne 400 mais la ligne 402 que j'ai du modifié mais ça marche parfaitement! Merci beaucoup
Le sujet peut être mis en résolu^^
Le sujet peut être mis en résolu^^
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|