Holy87

Menu Variables

Jun 24th, 2015
269
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. =begin
  2.  ==============================================================================
  3.   ■ Variabili nel menu di Holy87
  4.       versione 1.0
  5.       Difficoltà utente: ★
  6.       Licenza: CC. Chiunque può scaricare, modificare, distribuire e utilizzare
  7.       lo script nei propri progetti, sia amatoriali che commerciali. Vietata
  8.       l'attribuzione impropria.
  9.  ==============================================================================
  10.     Questo script aggiunge quante variabili desideri nella schermata del menu,
  11.     nella finestra dell'oro.
  12.  ==============================================================================
  13.   ■ Compatibilità
  14.     Window_Gold -> alias refresh
  15.  ==============================================================================
  16.   ■ Installazione e istruzioni
  17.     Installare questo script sotto Materials e prima del Main.
  18.     Configurare quante variabili vuoi nell'array VARIABLES in basso.
  19.  ==============================================================================
  20. =end
  21.  
  22. #==============================================================================
  23. # ** CONFIGURAZIONE
  24. #------------------------------------------------------------------------------
  25. #  Configura lo script
  26. #==============================================================================
  27. module MenuVariablesConfig
  28.   VARIABLES = [
  29.   #--------------------------------------------------------------------------
  30.   # * Aggiungi tante righe quante sono le variabili che vuoi e configurale come
  31.   #   da esempio.
  32.   #--------------------------------------------------------------------------
  33.   #nome mostrato  ID variabile  icona
  34.   ["Variabile A", 1,            10    ],
  35.   ["Variabile B", 2,            15    ],
  36.   ["Variabile C", 3,            20    ],
  37.   ]#non rimuovere questa parentesi
  38. end
  39.  
  40.  
  41. #==============================================================================
  42. # ** Variable_Description
  43. #------------------------------------------------------------------------------
  44. #  Contiene le informaizoni sulla variabile da mostrare
  45. #==============================================================================
  46. class Variable_Description
  47.   attr_reader :name         #nome
  48.   attr_reader :id           #id
  49.   attr_reader :icon_index   #id dell'icona
  50.   #--------------------------------------------------------------------------
  51.   # * Inizializzazione
  52.   #   var_array: array delle informazioni sulla variabile [nome, id, icona]
  53.   #--------------------------------------------------------------------------
  54.   def initialize(var_array)
  55.     @name = var_array[0]
  56.     @id = var_array[1]
  57.     @icon_index = var_array[2]
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # * Restituisce il valore della variabile
  61.   #--------------------------------------------------------------------------
  62.   def value; $game_variables[@id]; end
  63.   #--------------------------------------------------------------------------
  64.   # * Restituisce true se non ha l'icona
  65.   #--------------------------------------------------------------------------
  66.   def no_icon?; @icon_index == 0 || @icon_index.nil?; end
  67. end
  68.  
  69. #==============================================================================
  70. # ** Window_Gold
  71. #------------------------------------------------------------------------------
  72. #  Modifica della finestra per includere anche le finestre
  73. #==============================================================================
  74. class Window_Gold < Window_Base
  75.   include MenuVariablesConfig
  76.   alias h87_menuvariable_refresh refresh unless $@
  77.   #--------------------------------------------------------------------------
  78.   # * Modifica del metodo per l'altezza
  79.   #--------------------------------------------------------------------------
  80.   def fitting_height(number)
  81.     number += VARIABLES.size if SceneManager.scene.is_a?(Scene_Menu)
  82.     super(number)
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # * Refresh della finestra
  86.   #--------------------------------------------------------------------------
  87.   def refresh
  88.     if SceneManager.scene.is_a?(Scene_Menu)
  89.       contents.clear
  90.       draw_variables
  91.       draw_currency_value(value, currency_unit, 4, line_height*@variables.size, contents.width - 8)
  92.     else
  93.       h87_menuvariable_refresh
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # * Ottiene gli oggetti delle informazioni sulle variabili
  98.   #--------------------------------------------------------------------------
  99.   def get_variables
  100.     @variables = []
  101.     for i in 0.. VARIABLES.size-1
  102.       @variables.push(Variable_Description.new(VARIABLES[i]))
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # * Disegna le variabili
  107.   #--------------------------------------------------------------------------
  108.   def draw_variables
  109.     get_variables
  110.     for i in 0..@variables.size-1
  111.       var = @variables[i]
  112.       twidth = contents_width - text_size(var.value).width
  113.       twidth -= 24 unless var.no_icon?
  114.       change_color(system_color)
  115.       draw_text(0, line_height*i, twidth, line_height, var.name)
  116.       change_color(normal_color)
  117.       twidth = contents_width - (var.no_icon? ? 0 : 24)
  118.       draw_text(0, line_height*i, twidth, line_height, var.value, 2)
  119.       unless var.no_icon?
  120.         draw_icon(var.icon_index, contents_width-24, line_height*i)
  121.       end
  122.     end
  123.   end
  124. end  #fine dello script.
RAW Paste Data