O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Display Multiples Variables

Iniciado por Takkun, 13/05/2014 às 22:25

13/05/2014 às 22:25 Última edição: 20/01/2017 às 09:27 por King Gerar
Bem... hoje cedo consegui um script que exibisse
o valor de duas variáveis na tela, mas quem quiser
que se exiba mais, tentei esse.
Não postei como uma atualização do outro pois esse
já está gerando lag, então quem deseja somente duas
variáveis na tela, não necessitará de lidar com esse lag.




Display Multiples Variables
por King Gerar

Descrição: Este script permite a exibição do valor de
até dez variáveis na tela, com a opção da troca da fonte,
do tamanho, da cor, da quantidade de variáveis a serem
exibidas, do espaçamento entre os valores e do
posicionamento da janela.
O número de variáveis exibidas pode ser facilmente
aumentado, mas só aconselho fazer isso quem saiba.

Lag: Médio (1 fps para cada variável exibida)

Incompatibilidade: Como utiliza alias, creio que
seja difícil ocorrer.


Script:
#===============================================================================
# Display Multiples Variables
# Por: King Gerar
# Ajudado e muito por Victor Gomes/Misugami e Raizen.
#-------------------------------------------------------------------------------
# Este script permite que fiquem visíveis na tela o valor de duas variáveis.
#===============================================================================

module Multi_Config
  Font_Display = "Candara"                   # Nome da fonte utilizada
  Font_Size = 20                             # Tamanho da fonte
  Font_Color = Color.new(255, 255, 100, 255) # Cor da fonte
  Swch = 1                                   # ID da switch que ativa/desativa
#  Vars = [1,2,3,4,5,6,7,8,9,10]              # ID das variáveis a serem exibidas
  Vars = [1,2,3,4,5]
  #-----------------------------------------------------------------------------
  # Posição da janela na tela
  # 0 = Esquerda acima        1 = Direita Acima
  # 2 = Esquerda Abaixo       3 = Direita Abaixo
  #-----------------------------------------------------------------------------
  Pstn = 3
  #-----------------------------------------------------------------------------
  # Espaçamento entre as linhas (Para correção da fonte).
  #-----------------------------------------------------------------------------
  Spacing = 24
end

#===============================================================================
# Window_Variables
#-------------------------------------------------------------------------------
# Esta classe cria uma janela para a exibição dos valores de dias variáveis.
#===============================================================================
class Window_MultiVariables < Window_Base
  def initialize
    super(0, 0, 96, 32 + ((Multi_Config::Vars.size) * (Multi_Config::Spacing)))
    self.contents.font.name = (Multi_Config::Font_Display)
    self.contents.font.size = (Multi_Config::Font_Size)
    change_color(Multi_Config::Font_Color)
    refresh
  end

  def refresh
    self.contents.clear
    @vars = []
     for i in 0..((Multi_Config::Vars.size) - 1)
       @vars << $game_variables[(Multi_Config::Vars[i])]
       self.contents.draw_text( 0, (Multi_Config::Spacing) * i, 64, line_height, @vars[i].to_s, 2)
    end
  end
end
#===============================================================================
# Spriteset_Map
#-------------------------------------------------------------------------------
# Esta classe reune os sprites da tela de mapa e tilesets. Esta classe é
# usada internamente pela classe Scene_Map. 
#===============================================================================
class Spriteset_Map
  alias multi_var_initialize initialize
  alias multi_var_dispose dispose
  alias multi_var_update update

  def initialize
    create_window_multivar
    multi_var_initialize
  end

  def create_window_multivar
    @window_multivar = Window_MultiVariables.new
    case (Multi_Config::Pstn)
      when 0
        @window_multivar.x = 0
        @window_multivar.y = 0
      when 1
        @window_multivar.x = 544 - @window_multivar.width
        @window_multivar.y = 0
      when 2
        @window_multivar.x = 0
        @window_multivar.y = 416 - @window_multivar.height
      when 3
        @window_multivar.x = 544 - @window_multivar.width
        @window_multivar.y = 416 - @window_multivar.height
      end
    @window_multivar.visible = false
  end

  def dispose
    dispose_window_multivar
    multi_var_dispose
  end

  def dispose_window_multivar
    @window_multivar.dispose
  end

  def update
    @window_multivar.visible = $game_switches[(Multi_Config::Swch)]
    @window_multivar.refresh if Graphics.frame_count % 10 == 0
    multi_var_update
  end
end




Engines: Somente Ace

Créditos:
  • King Gerar, pela tradução.
  • Victor Gomes/Misugami, pelo apoio e ajuda com esse (quase refez ele todo) e todos outros scripts.
  • Raizen, pelo apoio e correção de muitas coisas no script.

Muito legal.
Dá para fazer bastante coisa com isso, e até facilita a vida de eventers o/

Incrível hein, isso é uma mão na roda para muitos :XD: Valeu!
Prazer, Terror dos Modinha