Bonjour à tous! Voici une nouvelle de mes créations qui permet d'afficher des variables sur la map. Toutes les commandes sont expliqués dans le script lui-même. Aucunes configurations nécessaire et tout est modifiable in-game !
Comment afficher une variable ?
Code:
draw_variable(variable, position x, position y, largeur, hauteur, opacité, icone, position x icone, position y icone, texte, position x texte, position y texte)
Voici une vidéo démonstration :
Spoiler:
Des images :
Spoiler:
Le script :
Spoiler:
Code:
################################################################################ ##### VAR MAP ################################################################################ # Auteur : Biward ; Date : 13/09/2013 18:01 ; Version : VXAce # Utilité : permet l'affichage facile et rapide de variable sur la map. # # liste des commandes : # draw_variable(variable, position x, position y, largeur, hauteur, opacité, icone, position x icone, position y icone, texte, position x texte, position y texte) # qui sert à créer une fenêtre contenant une variable # dispose_variable(variable) qui sert à effacer une window # dispose_all_variable qui sert à effacer toutes les windows # refresh_variables qui sert à mettre à jour les fenêtres (souvent automatique) # # Autres commandes : # var_x(var, x) ; var_y(var, y) ; var_w(var, w) ; var_h(var, h) # var_opa(var, opa) ; var_ico(var, ico) ; var_xi(var, xi) ; var_yi(var, yi) # var_text(var, text) ; var_xt(var, xt) ; var_yt(var, yt) # Ces commandes servent à modifier une fenêtre ingame grace à un appel de script.
################################################################################ ##### Début du script ################################################################################ class Game_Interpreter def draw_variable(var, x_v, y_v, x, y, w, h, opa, ico, x_i, y_i, text, x_t, y_t) if ! Spriteset_Variable.dr[var] Spriteset_Variable.var << var Spriteset_Variable.x_v[var] = x_v Spriteset_Variable.y_v[var] = y_v Spriteset_Variable.x[var] = x Spriteset_Variable.y[var] = y Spriteset_Variable.w[var] = w Spriteset_Variable.h[var] = h Spriteset_Variable.opa[var] = opa Spriteset_Variable.ico[var] = ico Spriteset_Variable.x_i[var] = x_i Spriteset_Variable.y_i[var] = y_i Spriteset_Variable.text[var] = text Spriteset_Variable.x_t[var] = x_t Spriteset_Variable.y_t[var] = y_t Spriteset_Variable.upo = var Spriteset_Variable.cr = true end end def dispose_variable(number) ; Spriteset_Variable.ds << number ; end def dispose_all_variable ; Spriteset_Variable.co = true ; end def refresh_variables ; Spriteset_Variable.rs = true ; end def var_x_v(var, xv) ; Spriteset_Variable.x_v[var] = xv ; Spriteset_Variable.upo = var ; end def var_y_v(var, yv) ; Spriteset_Variable.y_v[var] = yv ; Spriteset_Variable.upo = var ; end def var_x(var, x) ; Spriteset_Variable.x[var] = x ; Spriteset_Variable.upo = var ; end def var_y(var, y) ; Spriteset_Variable.y[var] = y ; Spriteset_Variable.upo = var ; end def var_w(var, w) ; Spriteset_Variable.w[var] = w ; Spriteset_Variable.upo = var ; end def var_h(var, h) ; Spriteset_Variable.h[var] = h ; Spriteset_Variable.upo = var ; end def var_opa(var, opa) ; Spriteset_Variable.opa[var] = opa ; Spriteset_Variable.upo = var ; end def var_ico(var, ico) ; Spriteset_Variable.ico[var] = ico ; Spriteset_Variable.upo = var ; end def var_xi(var, xi) ; Spriteset_Variable.x_i[var] = xi ; Spriteset_Variable.upo = var ; end def var_yi(var, yi) ; Spriteset_Variable.y_i[var] = yi ; Spriteset_Variable.upo = var ; end def var_text(var, text) ; Spriteset_Variable.text[var] = text ; Spriteset_Variable.upo = var ; end def var_xt(var, xt) ; Spriteset_Variable.x_t[var] = xt ; Spriteset_Variable.upo = var ; end def var_yt(var, yt) ; Spriteset_Variable.y_t[var] = yt ; Spriteset_Variable.upo = var ; end alias command_122_bi command_122 ; def command_122 ; command_122_bi ; Spriteset_Variable.rs = true ; end end
class Spriteset_Variable class << self ; attr_accessor :var, :x_v, :y_v, :x, :y, :w, :h, :opa, :ico, :x_i, :y_i, :text, :x_t, :y_t, :upo, :dr, :ds, :rs, :cr, :co ; end def initialize ; create_variable ; create_window_var if Spriteset_Variable.var ; end def create_variable Spriteset_Variable.var ||= [] Spriteset_Variable.x_v ||= {} Spriteset_Variable.y_v ||= {} Spriteset_Variable.rs ||= false Spriteset_Variable.co ||= false Spriteset_Variable.dr ||= [] Spriteset_Variable.ds ||= [] Spriteset_Variable.x ||= {} Spriteset_Variable.y ||= {} Spriteset_Variable.w ||= {} Spriteset_Variable.h ||= {} Spriteset_Variable.opa ||= {} Spriteset_Variable.ico ||= {} Spriteset_Variable.text ||= {} Spriteset_Variable.x_i ||= {} Spriteset_Variable.y_i ||= {} Spriteset_Variable.x_t ||= {} Spriteset_Variable.y_t ||= {} @winvar = {} if ! @winvar end def start ; create_window_var if ! Spriteset_Variable.var.empty? ; end def create_window_var Spriteset_Variable.var.each do |i| if ! Spriteset_Variable.dr[i] @winvar[i] = Window_Variable.new(Spriteset_Variable.x[i], Spriteset_Variable.y[i], Spriteset_Variable.w[i], Spriteset_Variable.h[i], i, Spriteset_Variable.opa[i], Spriteset_Variable.ico[i], Spriteset_Variable.x_i[i], Spriteset_Variable.y_i[i] , Spriteset_Variable.text[i], Spriteset_Variable.x_t[i], Spriteset_Variable.y_t[i], Spriteset_Variable.x_v[i], Spriteset_Variable.y_v[i]) Spriteset_Variable.dr[i] = true end end Spriteset_Variable.cr = nil if Spriteset_Variable.cr end def terminate ; dispose_window_var ; end def dispose_window_var(command = false) @winvar.each { |i| i[1].dispose } Spriteset_Variable.dr.clear Spriteset_Variable.var.clear if command Spriteset_Variable.co = false if Spriteset_Variable.co end def dispose_owv(var) @winvar[var].dispose if @winvar[var] if Spriteset_Variable.dr[var] index = Spriteset_Variable.var.index(var) Spriteset_Variable.var.delete_at(index) end Spriteset_Variable.dr[var] = nil end def prep_dispose_window_var ; Spriteset_Variable.ds.each { |i| dispose_owv(i) } ; Spriteset_Variable.ds.clear ; end def update create_window_var if Spriteset_Variable.cr update_window_var if Spriteset_Variable.upo prep_dispose_window_var if ! Spriteset_Variable.ds.empty? refresh_windows if Spriteset_Variable.rs dispose_window_var(true) if Spriteset_Variable.co end def update_window_var i = Spriteset_Variable.upo if Spriteset_Variable.dr[i] @winvar[i].x = Spriteset_Variable.x[i] @winvar[i].y = Spriteset_Variable.y[i] @winvar[i].width = Spriteset_Variable.w[i] @winvar[i].height = Spriteset_Variable.h[i] @winvar[i].opacity = Spriteset_Variable.opa[i] @winvar[i].redraw(Spriteset_Variable.ico[i], Spriteset_Variable.x_i[i], Spriteset_Variable.y_i[i], Spriteset_Variable.text[i], Spriteset_Variable.x_t[i], Spriteset_Variable.y_t[i], Spriteset_Variable.x_v[i], Spriteset_Variable.y_v[i]) end Spriteset_Variable.upo = nil end def refresh_windows @winvar.each do |i| i[1].refresh if i[1] && Spriteset_Variable.dr[i[0]] Spriteset_Variable.rs = false end end end
class Scene_Map alias sbbi start alias tbbi terminate alias ubbi update def start ; sbbi ; @spriteset_variable = Spriteset_Variable.new ; end def terminate ; tbbi ; @spriteset_variable.terminate if @spriteset_variable ; end def update ; ubbi ; @spriteset_variable.update if @spriteset_variable ; end end ################################################################################ ##### Début du script ################################################################################