Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- ##### VAR MAP
- ################################################################################
- # Auteur : Biward ; Date : 13/09/2013 18:31 ; Version : XP
- # 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 (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 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 Window_Variable < Window_Base
- def initialize(x, y, h, w, var, opa, icone, x_i, y_i, text, x_t, y_t, x_v, y_v)
- super(x, y, h, w)
- self.opacity = opa
- @var = var
- @icon_index = icone
- @x_i = x_i
- @y_i = y_i
- @text = text
- @x_v = x_v
- @y_v = y_v
- @x_t = x_t
- @y_t = y_t
- @w = w
- @h = h
- refresh
- end
- def refresh
- self.contents = Bitmap.new(@h - 32, @w - 32)
- self.contents.clear
- self.contents.draw_text(@x_v, @y_v - 198, 544, 416, $game_variables[@var].to_s, 0)
- bitmap = RPG::Cache.icon(@icon_index) if @icon_index
- self.contents.blt(@x_i, @y_i + 4, bitmap, Rect.new(0, 0, 24, 24)) if @icon_index && @x_i && @y_i
- self.contents.draw_text(@x_t, @y_t - 198, 544, 416, @text.to_s, 0)
- end
- def redraw(ico, x_i, y_i, text, x_t, y_t, x_v, y_v, h, w)
- @icon_index = ico
- @x_i = x_i
- @y_i = y_i
- @text = text
- @x_t = x_t
- @y_t = y_t
- @x_v = x_v
- @y_v = y_v
- @w = w
- @h = h
- refresh
- 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], Spriteset_Variable.w[i], Spriteset_Variable.h[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 main
- alias ubbi update
- def main
- @spriteset_variable = Spriteset_Variable.new
- sbbi
- @spriteset_variable.terminate if @spriteset_variable
- end
- def update ; ubbi ; @spriteset_variable.update if @spriteset_variable ; end
- end
- ################################################################################
- ##### Début du script
- ################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement