SHARE
TWEET

Barra Generica VX - VX Ace

Holy87 Jul 12th, 2013 (edited) 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #===============================================================================
  2. # BARRA GENERICA SU MAPPA
  3. #===============================================================================
  4. # Autore: Holy87
  5. # Versione: 1.2
  6. # Difficoltà utente: ★★
  7. # Changelog 1.2:
  8. # - Possibilità di assegnare una variabile ad una barra, in modo da aggiornarsi
  9. #   automaticamente ad ogni modifica del valore
  10. # - Bugfix generali
  11. # Changelog 1.1:
  12. # - Passaggio di gestione da Game_Party a Game_System
  13. # - Possibilità di inserire un numero illimitato di barre
  14. # - Effetti speciali! Tremolio e flash alla barra
  15. #-------------------------------------------------------------------------------
  16. # Con questo script potrai mostrare una barra su mappa che indichi una qualsiasi
  17. # cosa. È possibile, tramite comandi script, impostare posizione, descrizione e
  18. # colore della barra, e, ovviamente, il valore.
  19. # Non è volutamente personalizzabilissimo per renderlo facile da usare.
  20. #-------------------------------------------------------------------------------
  21. # Istruzioni:
  22. # Copiare lo script sotto Materials, prima del Main. Puoi impostare la descri-
  23. # zione della barra con un Chiama Script:
  24. # ★ set_genbar("Testo"), ad esempio Vita, Magia ecc...
  25. # una volta impostata, puoi mostrarla con il comando
  26. # ★ show_bar
  27. # puoi impostare il valore della barra con un numero da 0 a 100, chiamando lo
  28. # script
  29. # ★ bar_value(x), dove x è il valore.
  30. # per chiudere la finestraq quando non serve più
  31. # ★ hide_bar
  32. #
  33. # CONTROLLI AVANZATI:
  34. # ★ set_genbar("Testo",colore,x,y)
  35. # dove colore è Color.new(R,G,B) (R, G e B) sono le tonalità da 0 a 255, e
  36. # rappresenta il colore della barra
  37. # x e y sono rispettivamente le coordinate x e y del riquadro
  38. # ★ bar_resize(lunghezza, altezza)
  39. # ridimensiona l'aspetto del riquadro della barra
  40. # ★ get_bar_value o get_bar_value(nome_barra) restituisce il valore della barra
  41. #
  42. # PER PIU' BARRE:
  43. # ★ add_bar("nome_barra") aggiunge una nuova barra generica
  44. # ★ remove_bar("nome_barra") elimina una barra dalla mappa
  45. # ★ set_custom_bar("Testo",colore,x,y, "nome_barra")
  46. #    aggiunge e imposta una nuova barra sullo schermo. La variabile nome_barra
  47. #    la identifica (ad esempio "fame")
  48. # ★ bar_resize(lunghezza, altezza, "nome_barra")
  49. #    ridimensiona l'aspetto del riquadro della barra identificata da nome_barra
  50. # ★ show_bar("nome_barra") mostra una barra specifica sullo schermo
  51. # ★ bar_value(x, "nome_barra") imposta il valore di una barra specifica
  52. # ★ hide_bar("nome_barra") nasconde una barra
  53. #
  54. # USARE EFFETTI SPECIALI
  55. # ★ snooze_bar o snooze_bar(nome_barra) fa tremare la barra (ad esempio per
  56. #    simulare un colpo ricevuto)
  57. #    altre opzioni: snooze_bar(nome_barra, tempo, forza)
  58. #    tempo: il tempo di tremata (predefinito è 15)
  59. #    forza: la forza della tremata(predefinito è 5)
  60. # ★ flash_bar o flash_bar(nome_barra) emette un flash sulla barra
  61. #    altre opzioni: flash_bar(nome_barra, tempo, colore)
  62. #    tempo: il tempo del flash (prefefinito è 30, ½ secondo)
  63. #    colore (predefinito è bianco) mettere Color.new(R, G, B)
  64. #-------------------------------------------------------------------------------
  65. # Compatibilità:
  66. # classe Spriteset_Map -> alias di update, initialize, terminate
  67. #-------------------------------------------------------------------------------
  68.  
  69. #===============================================================================
  70. # ** Impostazioni
  71. #===============================================================================
  72. module H87_GBSettings
  73.   #R, G,  B
  74.   Default_Color = [0,120,250]           #Colore predefinito
  75.   DefaultX = 10                         #Posizione X predefinita
  76.   DefaultY = 10                         #Posizione Y predefinita
  77.   DefaultWidth = 200                    #Larghezza predefinita
  78.   DefaultHeight = 40                    #Altezza predefinita
  79.   BarHeight = 10                        #Altezza della barra
  80. end
  81. #============================================================================
  82. # ** FINE CONFIGURAZIONE **
  83. # Modificare da questo punto in poi è rischioso.
  84. #============================================================================
  85.  
  86. $imported = {} if $imported == nil
  87. $imported["h87_Genericbar"] = true
  88. #===============================================================================
  89. # ** Classe Game_System
  90. #===============================================================================
  91. class Game_System
  92.   include H87_GBSettings          #Inclusione del modulo
  93.   #-----------------------------------------------------------------------------
  94.   # * Restituisce lo stato della barra generica
  95.   #-----------------------------------------------------------------------------
  96.   def generic_bar_settings(bar = :default)
  97.     @barsettings = {} if @barsettings.nil?
  98.     reset_bar_h(bar) if @barsettings[bar] == nil
  99.     @barsettings[bar]
  100.   end
  101.   #-----------------------------------------------------------------------------
  102.   # * Resetta le impostazioni della barra
  103.   #-----------------------------------------------------------------------------
  104.   def reset_bar_h(bar = :default)
  105.     @barsettings[bar] = [
  106.         bar_defaultx, #PosX
  107.         bar_defaulty, #PosY
  108.         bar_defaultw, #Larghezza
  109.         bar_defaulth, #Altezza
  110.         "",           #Nome
  111.         bar_def_colr, #Colore Barra
  112.         false,        #Visibile?
  113.         0,            #Percentuale
  114.         false,        #Cambiato?
  115.         false         #aggiorna lung_barra
  116.     ]
  117.   end
  118.   #-----------------------------------------------------------------------------
  119.   # * Restituisce la schermata corrente (VX o VX Ace)
  120.   #-----------------------------------------------------------------------------
  121.   def current_scene
  122.     begin
  123.       return SceneManager.scene
  124.     rescue
  125.       return $scene
  126.     end
  127.   end
  128.   #-----------------------------------------------------------------------------
  129.   # * Restituisce il colore predefinito della barra
  130.   #-----------------------------------------------------------------------------
  131.   def bar_def_colr
  132.     c = Default_Color
  133.     Color.new(c[0],c[1],c[2])
  134.   end
  135.   #-----------------------------------------------------------------------------
  136.   # * Restituisce la coordinata predefinita
  137.   #-----------------------------------------------------------------------------
  138.   def bar_defaultx
  139.     DefaultX
  140.   end
  141.   #-----------------------------------------------------------------------------
  142.   # * Restituisce la coordinata predefinita
  143.   #-----------------------------------------------------------------------------
  144.   def bar_defaulty
  145.     DefaultY
  146.   end
  147.   #-----------------------------------------------------------------------------
  148.   # * Restituisce la larghezza predefinita
  149.   #-----------------------------------------------------------------------------
  150.   def bar_defaultw
  151.     DefaultWidth
  152.   end
  153.   #-----------------------------------------------------------------------------
  154.   # * Restituisce l'altezza predefinita
  155.   #-----------------------------------------------------------------------------
  156.   def bar_defaulth
  157.     DefaultHeight
  158.   end
  159.   #-----------------------------------------------------------------------------
  160.   # * Reimposta le proprietà della finestra della barra. Aggiunge una nuova se
  161.   #   il nome non è compreso
  162.   #-----------------------------------------------------------------------------
  163.   def generic_bar_set(letter, colore = bar_def_colr, x = nil, y = nil, bar = :default)
  164.     @barsettings = {} if @barsettings.nil?
  165.     if @barsettings[bar] == nil
  166.       reset_bar_h
  167.       add_active_bar(bar)
  168.     end
  169.     @barsettings[bar][0] = x if x != nil
  170.     @barsettings[bar][1] = y if y != nil
  171.     @barsettings[bar][4] = letter
  172.     @barsettings[bar][5] = colore
  173.     @barsettings[bar][8] = true #flag di modifica per refresh
  174.   end
  175.   #-----------------------------------------------------------------------------
  176.   # * Metodo alternativo per impostare la barra
  177.   #-----------------------------------------------------------------------------
  178.   def set_bar(bar, text, colore = bar_def_colr, x = nil, y = nil)
  179.     generic_bar_set(text, colore, x, y, bar)
  180.   end
  181.   #-----------------------------------------------------------------------------
  182.   # * Restituisce il colore predefinito della barra
  183.   #-----------------------------------------------------------------------------
  184.   def active_bars
  185.     @barsettings ||= {}
  186.     return @barsettings
  187.   end
  188.   #-----------------------------------------------------------------------------
  189.   # * Aggiunge una nuova barra
  190.   #-----------------------------------------------------------------------------
  191.   def add_active_bar(bar_name)
  192.     return if bar_name == :default
  193.     return if active_bars.keys.include?(bar_name)
  194.     @barsettings[bar_name] = reset_bar_h(bar_name)
  195.     current_scene.add_genbar(bar_name)
  196.   end
  197.   #-----------------------------------------------------------------------------
  198.   # * Rimuove una barra
  199.   #-----------------------------------------------------------------------------
  200.   def remove_active_bar(bar_name)
  201.     return if bar_name == :default
  202.     return unless active_bars.keys.include?(bar_name)
  203.     self.active_bars.delete(bar_name)
  204.     current_scene.remove_genbar(bar_name)
  205.   end
  206.   #-----------------------------------------------------------------------------
  207.   # * Mostra la finestra della barra
  208.   #-----------------------------------------------------------------------------
  209.   def show_generic_bar(bar = :default)
  210.     @barsettings ||= {}
  211.     reset_bar_h(bar) if @barsettings[bar] == nil
  212.     return unless @barsettings[bar][6]
  213.     @barsettings[bar][6] = true
  214.     @barsettings[bar][8] = true
  215.   end
  216.   #-----------------------------------------------------------------------------
  217.   # * Nasconde la finestra della barra
  218.   #-----------------------------------------------------------------------------
  219.   def hide_generic_bar(bar = :default)
  220.     @barsettings ||= {}
  221.     reset_bar_h(bar) if @barsettings[bar] == nil
  222.     return unless @barsettings[bar][6]
  223.     @barsettings[bar][6] = false
  224.     @barsettings[bar][8] = true
  225.   end
  226.   #-----------------------------------------------------------------------------
  227.   # * Assegna un valore da 0 a 100 per la percentuale della barra
  228.   #-----------------------------------------------------------------------------
  229.   def bar_percentage(value, bar = :default)
  230.     @barsettings = {} if @barsettings.nil?
  231.     reset_bar_h(bar) if @barsettings[bar].nil?
  232.     max = @barsettings[bar][10] ? @barsettings[bar][10] : 100
  233.     value = [[0, value].max, max].min
  234.     @barsettings[bar][7] = value
  235.     @barsettings[bar][9] = false
  236.   end
  237.   #-----------------------------------------------------------------------------
  238.   # * restituisce il valore della barra
  239.   #-----------------------------------------------------------------------------
  240.   def get_bar_percentage(bar = :default)
  241.     @barsettings = {} if @barsettings.nil?
  242.     @barsettings[bar][7] = 0 if @barsettings[bar][7] == nil
  243.     @barsettings[bar][7]
  244.   end
  245.   #-----------------------------------------------------------------------------
  246.   # * Ridimensiona la finestra della barra
  247.   #-----------------------------------------------------------------------------
  248.   def bar_resize(w,h, bar = :default)
  249.     @barsettings[bar][2] = w
  250.     @barsettings[bar][3] = h
  251.     @barsettings[bar][8] = true
  252.   end
  253.   #-----------------------------------------------------------------------------
  254.   # *  Returns an assigned bars array
  255.   #-----------------------------------------------------------------------------
  256.   def assigned_bars; @assigned_bars ||= {}; end
  257.   #-----------------------------------------------------------------------------
  258.   # * Assegna il valore di una variabile ad una barra
  259.   # @param [Integer] variable_id
  260.   # @param [Object] bar_id
  261.   #-----------------------------------------------------------------------------
  262.   def assign_bar(variable_id, bar_id = :default)
  263.     if assigned_bars[variable_id].nil?
  264.       assigned_bars[variable_id] = [bar_id]
  265.     else
  266.       unless assigned_bars[variable_id].include?(bar_id)
  267.         assigned_bars[variable_id].push(bar_id)
  268.       end
  269.     end
  270.   end
  271.   #-----------------------------------------------------------------------------
  272.   # * Unassign bar from variable
  273.   # @param [Integer] variable_id
  274.   # @param [Object] bar_id
  275.   #-----------------------------------------------------------------------------
  276.   def unassign_bar(variable_id, bar_id = :default)
  277.     assigned_bars[variable_id].delete(bar_id)
  278.   end
  279.   #-----------------------------------------------------------------------------
  280.   # * Handle assigned bars
  281.   # @param [Integer] variable_id
  282.   # @param [Object] bar_id
  283.   #-----------------------------------------------------------------------------
  284.   def handle_bars(variable_id, value)
  285.     return unless assigned_bars[variable_id]
  286.     if assigned_bars[variable_id].size > 0
  287.       assigned_bars[variable_id].each {|x| bar_percentage(value, x)}
  288.     end
  289.   end
  290. end #game_system
  291.  
  292. #===============================================================================
  293. # ** Classe Barra_Generica
  294. #===============================================================================
  295. class Barra_Generica
  296.   attr_reader   :visible    # if the bar is visible
  297.   attr_reader   :x          # x coord
  298.   attr_reader   :y          # y coord
  299.   attr_reader   :width      # bar frame width
  300.   attr_reader   :height     # bar frame height
  301.   attr_reader   :max_value  # max value
  302.   #-----------------------------------------------------------------------------
  303.   # * Inizializzazione
  304.   #-----------------------------------------------------------------------------
  305.   def initialize(viewport, bar_name = :default)
  306.     @bar_name = bar_name
  307.     @lb = H87_GBSettings::BarHeight #altezza barra
  308.     @sp = 5                         #spaziatura
  309.     @viewport = viewport
  310.     @snooze_time = 0
  311.     reset_settings
  312.   end
  313.   #-----------------------------------------------------------------------------
  314.   # * Assegna (o reimposta) le proprietà
  315.   #-----------------------------------------------------------------------------
  316.   def reset_settings(update = false)
  317.     set = $game_system.generic_bar_settings(@bar_name)
  318.     @x = set[0]
  319.     @y = set[1]
  320.     @width = set[2]
  321.     @height = set[3]
  322.     @letter = set[4]
  323.     @color = set[5]
  324.     @visible = set[6]
  325.     @max_value = set[10] ? set[10] : 100
  326.     start(update)
  327.   end
  328.   #-----------------------------------------------------------------------------
  329.   # * Comincia a creare la grafica
  330.   #   update: true se è già stata creata
  331.   #-----------------------------------------------------------------------------
  332.   def start(update=false)
  333.     create_main_graphic(update)
  334.     create_bar(update)
  335.   end
  336.   #-----------------------------------------------------------------------------
  337.   # * Crea la grafica di sfondo
  338.   #-----------------------------------------------------------------------------
  339.   def create_main_graphic(update)
  340.     @sprite_rect.bitmap.clear if update
  341.     barback_color = Color.new(@color.red/2,@color.green/2,@color.blue/2)
  342.     bitmap = Bitmap.new(@width+4, @height+4)
  343.     bitmap.fill_rect(2,2,@width,@height,Color.new(0,0,0,150))
  344.     bitmap.blur
  345.     bitmap.fill_rect(@sp,@height-(@sp+@lb),@width-(@sp*2),@lb,barback_color)
  346.     bitmap.draw_text(@sp,@sp,@width-@sp,24,@letter)
  347.     @sprite_rect = Sprite.new(@viewport)
  348.     @sprite_rect.bitmap = bitmap
  349.     @sprite_rect.x = @x-2
  350.     @sprite_rect.y = @y-2
  351.     @visible ? @sprite_rect.opacity = 255 : @sprite_rect.opacity = 0
  352.   end
  353.   #-----------------------------------------------------------------------------
  354.   # * Crea la grafica della barra
  355.   #-----------------------------------------------------------------------------
  356.   def create_bar(update)
  357.     @bar.bitmap.clear if update                       #pulisci se si deve agg.
  358.     bitmap = Bitmap.new(1,@lb)
  359.     @color = $game_system.generic_bar_settings(@bar_name)[5]
  360.     bitmap.fill_rect(0,0,1,@lb,@color)
  361.     @bar = Sprite.new(@viewport)
  362.     @bar.x = @sprite_rect.x + @sp
  363.     @bar.y = @sprite_rect.y + @sprite_rect.height - @sp-@lb -4
  364.     @bar.bitmap = bitmap
  365.     @bar.zoom_x = 1
  366.     @visible ? @bar.opacity = 255 : @bar.opacity = 0
  367.     $game_system.generic_bar_settings(@bar_name)[9] = false
  368.   end
  369.   #-----------------------------------------------------------------------------
  370.   # * Imposta se mostrare o nascondere la finestra della barra
  371.   #-----------------------------------------------------------------------------
  372.   def visible=(vis)
  373.     @visible = vis
  374.     @visible ? @sprite_rect.opacity = 255 : @sprite_rect.opacity = 0
  375.     @visible ? @bar.opacity = 255 : @bar.opacity = 0
  376.   end
  377.   #-----------------------------------------------------------------------------
  378.   # * Effetto del flash
  379.   #-----------------------------------------------------------------------------
  380.   def flash(time = 30, color = Color.new(255,255,255))
  381.     @bar.flash(color, time)
  382.     @sprite_rect.flash(color, time)
  383.   end
  384.   #-----------------------------------------------------------------------------
  385.   # * Effetto tremolio
  386.   #-----------------------------------------------------------------------------
  387.   def snooze(time = 20, str = 5)
  388.     str = 0 if str < 0
  389.     time = 0 if time < 0
  390.     str = 20 if str > 20
  391.     @snooze_str = str
  392.     @snooze_time = time
  393.   end
  394.   #-----------------------------------------------------------------------------
  395.   # * Aggiornamento
  396.   #-----------------------------------------------------------------------------
  397.   def update
  398.     if $game_system.generic_bar_settings(@bar_name)[8] #controllo refresh
  399.       reset_settings(true)
  400.       $game_system.generic_bar_settings(@bar_name)[8] = false
  401.       return
  402.     end
  403.     if @visible #aggiorna se la finestra è visibile
  404.       bar_update
  405.       snooze_update
  406.       effects_update
  407.     end
  408.   end
  409.   #-----------------------------------------------------------------------------
  410.   # * Aggiornamento del tremolio
  411.   #-----------------------------------------------------------------------------
  412.   def snooze_update
  413.     return if @snooze_time <= 0
  414.     if @snooze_time % 2 == 0
  415.       randx = rand(@snooze_str)-(@snooze_str/2)
  416.       randy = rand(@snooze_str)-(@snooze_str/2)
  417.       @bar.ox = randx
  418.       @bar.oy = randy
  419.       @sprite_rect.ox = randx
  420.       @sprite_rect.oy = randy
  421.     else
  422.       @bar.ox = 0
  423.       @bar.oy = 0
  424.       @sprite_rect.ox = 0
  425.       @sprite_rect.oy = 0
  426.     end
  427.     @snooze_time -= 1
  428.     if @snooze_time == 0
  429.       @bar.ox = 0
  430.       @bar.oy = 0
  431.       @sprite_rect.ox = 0
  432.       @sprite_rect.oy = 0
  433.     end
  434.   end
  435.   #-----------------------------------------------------------------------------
  436.   # * Aggiornamento del flash
  437.   #-----------------------------------------------------------------------------
  438.   def effects_update
  439.     @bar.update
  440.     @sprite_rect.update
  441.   end
  442.   #-----------------------------------------------------------------------------
  443.   # * Aggiornamento dell'animazione della barra
  444.   #-----------------------------------------------------------------------------
  445.   def bar_update
  446.     return if $game_system.generic_bar_settings(@bar_name)[9]
  447.     percent = $game_system.generic_bar_settings(@bar_name)[7]
  448.     width = @width-(@sp*2)
  449.     larg = width.to_f * percent / @max_value
  450.     distanza = larg - @bar.zoom_x
  451.     @bar.zoom_x += distanza/2
  452.     $game_system.generic_bar_settings(@bar_name)[9] = true if distanza <1 and distanza > -1
  453.   end
  454.   #-----------------------------------------------------------------------------
  455.   # * Assegnazione del valore massimo
  456.   #-----------------------------------------------------------------------------
  457.   def max_value=(value); @max_value = [1, value].max; end
  458.   #-----------------------------------------------------------------------------
  459.   # * Eliminazione
  460.   #-----------------------------------------------------------------------------
  461.   def dispose
  462.     @bar.bitmap.dispose
  463.     @bar.dispose
  464.     @sprite_rect.bitmap.dispose
  465.     @sprite_rect.dispose
  466.   end
  467. end #barra
  468.  
  469. #===============================================================================
  470. # ** Classe Spriteset_Map
  471. #===============================================================================
  472. class Spriteset_Map
  473.   alias bgen_initialize initialize unless $@
  474.   alias bgen_dispose dispose unless $@
  475.   alias bgen_update update unless $@
  476.   #-----------------------------------------------------------------------------
  477.   # * Alias Inizializzazione
  478.   #-----------------------------------------------------------------------------
  479.   def initialize
  480.     create_generic_bars
  481.     bgen_initialize
  482.   end
  483.   #-----------------------------------------------------------------------------
  484.   # * Alias Uscita
  485.   #-----------------------------------------------------------------------------
  486.   def dispose
  487.     bgen_dispose
  488.     dispose_generic_bars
  489.   end
  490.   #-----------------------------------------------------------------------------
  491.   # * Alias Aggiornamento
  492.   #-----------------------------------------------------------------------------
  493.   def update
  494.     bgen_update
  495.     update_generic_bars
  496.   end
  497.   #-----------------------------------------------------------------------------
  498.   # * Creazione finestra con barra
  499.   #-----------------------------------------------------------------------------
  500.   def create_generic_bars
  501.     @generic_bars = {}
  502.     @generic_bars[:default] = Barra_Generica.new(@viewport2)
  503.     $game_system.active_bars.each_key do |name|
  504.       next if name == :default or name.nil?
  505.       @generic_bars[name]=Barra_Generica.new(@viewport2, name)
  506.     end
  507.   end
  508.   #-----------------------------------------------------------------------------
  509.   # * Eliminazione
  510.   #-----------------------------------------------------------------------------
  511.   def dispose_generic_bars
  512.     @generic_bars.each do |bar|
  513.       bar[1].dispose
  514.     end
  515.   end
  516.   #-----------------------------------------------------------------------------
  517.   # * Aggiornamento
  518.   #-----------------------------------------------------------------------------
  519.   def update_generic_bars
  520.     @generic_bars.each do |gbar|
  521.       gbar[1].update
  522.     end
  523.   end
  524.   #-----------------------------------------------------------------------------
  525.   # * Aggiunge una barra
  526.   #-----------------------------------------------------------------------------
  527.   def add_gen_bar(bar_name)
  528.     @generic_bars[bar_name] = Barra_Generica.new(@viewport2, bar_name)
  529.     print @generic_bars.size
  530.   end
  531.   #-----------------------------------------------------------------------------
  532.   # * Rimuove una barra
  533.   #-----------------------------------------------------------------------------
  534.   def remove_gen_bar(bar_name)
  535.     bar = @generic_bars[bar_name]
  536.     bar.visible = false
  537.     bar.dispose
  538.     @generic_bars.delete(bar_name)
  539.   end
  540.   #-----------------------------------------------------------------------------
  541.   # * Flash alla barra
  542.   #-----------------------------------------------------------------------------
  543.   def bar_flash(time, color, bar)
  544.     return if @generic_bars[bar].nil?
  545.     @generic_bars[bar].flash(time, color)
  546.   end
  547.   #-----------------------------------------------------------------------------
  548.   # * Tremolio della barra
  549.   #-----------------------------------------------------------------------------
  550.   def bar_snooze(time, str, bar)
  551.     return if @generic_bars[bar].nil?
  552.     @generic_bars[bar].snooze(time, str)
  553.   end
  554. end #spriteset_map
  555.  
  556. #===============================================================================
  557. # ** Classe Game_Interpreter
  558. #===============================================================================
  559. class Game_Interpreter
  560.   #-----------------------------------------------------------------------------
  561.   # * Reimposta le proprietà della barra
  562.   #-----------------------------------------------------------------------------
  563.   def set_genbar(letter, color = bar_def_colr, x = nil, y = nil)
  564.     $game_system.generic_bar_set(letter, color, x, y)
  565.   end
  566.   #-----------------------------------------------------------------------------
  567.   # * Reimposta una barra generica
  568.   #-----------------------------------------------------------------------------
  569.   def set_custom_bar(bar_name, letter, color = bar_def_colr, x = nil, y = nil)
  570.     $game_system.generic_bar_set(letter, color, x, y, bar_name)
  571.   end
  572.   #-----------------------------------------------------------------------------
  573.   # * Nascondi barra
  574.   #-----------------------------------------------------------------------------
  575.   def hide_bar(bar_name = :default)
  576.     $game_system.hide_generic_bar(bar_name)
  577.   end
  578.   #-----------------------------------------------------------------------------
  579.   # * Mostra barra
  580.   #-----------------------------------------------------------------------------
  581.   def show_bar(bar_name = :default)
  582.     $game_system.show_generic_bar(bar_name)
  583.   end
  584.   #-----------------------------------------------------------------------------
  585.   # * Assegna valore barra
  586.   #-----------------------------------------------------------------------------
  587.   def bar_value(value, bar_name = :default)
  588.     $game_system.bar_percentage(value, bar_name)
  589.   end
  590.   #-----------------------------------------------------------------------------
  591.   # * Ridimensiona finestra
  592.   #-----------------------------------------------------------------------------
  593.   def bar_resize(width,height,bar_name = :default)
  594.     $game_system.bar_resize(width,height,bar_name)
  595.   end
  596.   #-----------------------------------------------------------------------------
  597.   # * Aggiunge una barra personalizzata
  598.   #-----------------------------------------------------------------------------
  599.   def add_bar(bar_name)
  600.     $game_system.add_active_bar(bar_name)
  601.   end
  602.   #-----------------------------------------------------------------------------
  603.   # * Rimuove una barra personalizzata
  604.   #-----------------------------------------------------------------------------
  605.   def remove_bar(bar_name)
  606.     $game_system.remove_active_bar(bar_name)
  607.   end
  608.   #-----------------------------------------------------------------------------
  609.   # * Flash alla barra
  610.   #-----------------------------------------------------------------------------
  611.   def flash_bar(bar = :default, time = 30, color = Color.new(255,255,255))
  612.     $game_system.current_scene.bar_flash(time, color, bar)
  613.   end
  614.   #-----------------------------------------------------------------------------
  615.   # * Tremolio
  616.   #-----------------------------------------------------------------------------
  617.   def snooze_bar(bar = :default, time = 15, str = 5)
  618.     $game_system.current_scene.bar_snooze(time, str, bar)
  619.   end
  620.   #-----------------------------------------------------------------------------
  621.   # * Assign a bar to a variable change
  622.   # @param [Integer] variable_id
  623.   # @param [Object] bar_id
  624.   #-----------------------------------------------------------------------------
  625.   def assign_bar(variable_id, bar_id = :default)
  626.     $game_system.assign_bar(variable_id, bar_id)
  627.   end
  628.   #-----------------------------------------------------------------------------
  629.   # * Unassign a bar from a variable
  630.   # @param [Integer] variable_id
  631.   # @param [Object] bar_id
  632.   #-----------------------------------------------------------------------------
  633.   def unassign_bar(variable_id, bar_id = :default)
  634.     $game_system.unassign_bar(variable_id, bar_id)
  635.   end
  636.   #-----------------------------------------------------------------------------
  637.   # * Set a new max (100 default)
  638.   # @param [Integer] max
  639.   # @param [Object] bar_id
  640.   #-----------------------------------------------------------------------------
  641.   def set_bar_max(max = 100, bar_id = :default)
  642.     $game_system.set_bar_max(max, bar_id)
  643.   end
  644.   #-----------------------------------------------------------------------------
  645.   # * Assegnazione colore
  646.   #-----------------------------------------------------------------------------
  647.   def bar_def_colr
  648.     c = H87_GBSettings::Default_Color
  649.     Color.new(c[0],c[1],c[2])
  650.   end
  651. end #game_interpreter
  652.  
  653. #===============================================================================
  654. # ** Classe Scene_Base
  655. #===============================================================================
  656. class Scene_Base
  657.   #-----------------------------------------------------------------------------
  658.   # * Metodi vuoti, servono per non generare errori se non si è sulla mappa.
  659.   #-----------------------------------------------------------------------------
  660.   def add_genbar(bar_name);end
  661.   def remove_genbar(bar_name);end
  662.   def bar_flash(time, color, bar);end
  663.   def bar_snooze(time, str, bar);end
  664. end #scene_base
  665.  
  666. #===============================================================================
  667. # ** Classe Scene_Map
  668. #===============================================================================
  669. class Scene_Map < Scene_Base
  670.   #-----------------------------------------------------------------------------
  671.   # * Aggiunge una barra allo spriteset
  672.   #-----------------------------------------------------------------------------
  673.   def add_genbar(bar_name)
  674.     @spriteset.add_gen_bar(bar_name)
  675.   end
  676.   #-----------------------------------------------------------------------------
  677.   # * Rimuove una barra dallo spriteset
  678.   #-----------------------------------------------------------------------------
  679.   def remove_genbar(bar_name)
  680.     @spriteset.remove_gen_bar(bar_name)
  681.   end
  682.   #-----------------------------------------------------------------------------
  683.   # * Flash barra dello spriteset
  684.   #-----------------------------------------------------------------------------
  685.   def bar_flash(time, color, bar)
  686.     @spriteset.bar_flash(time, color, bar)
  687.   end
  688.   #-----------------------------------------------------------------------------
  689.   # * Tremolio alla barra dello spriteset
  690.   #-----------------------------------------------------------------------------
  691.   def bar_snooze(time, str, bar)
  692.     @spriteset.bar_snooze(time,str,bar)
  693.   end
  694. end #scene_map
  695.  
  696. #===============================================================================
  697. # ** Game_Variables
  698. #===============================================================================
  699. class Game_Variables
  700.   alias old_set []= unless $@
  701.   #-----------------------------------------------------------------------------
  702.   # * Adding bar handle on value change
  703.   # @param [Integer] variable_id
  704.   # @param [Integer] value
  705.   #-----------------------------------------------------------------------------
  706.   def []=(variable_id, value)
  707.     old_set(variable_id, value)
  708.     $game_system.handle_bars(variable_id, value)
  709.   end
  710. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top