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

Display Dual Variables

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

13/05/2014 às 22:23 Última edição: 20/01/2017 às 09:27 por King Gerar
Bem... a pedido de meu parceiro Faalco,
tentei passar o script, inicialmente feito por
Raziel (para VX), para o Ace.




Display Dual Variables
por King Gerar

Descrição: Este script permite a exibição do valor de
duas variáveis na tela, com a opção da troca da fonte,
do tamanho, da cor e do posicionamento da janela.

Lag: Imperceptível

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


Script:
#===============================================================================
# Display Dual Variables
# Por: King Gerar
# Baseado no script de Raziel (Variável na tela por Raziel) para VX.
#-------------------------------------------------------------------------------
# Este script permite que fiquem visíveis na tela o valor de duas variáveis.
#===============================================================================

module Dual_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
  Var1 = 1                                   # ID de uma variável exibida
  Var2 = 2                                   # ID de outra variável exibida
  Swch = 1                                   # ID da switch que ativa/desativa
  #-----------------------------------------------------------------------------
  # Posição da janela na tela
  # 0 = Esquerda acima     1 = Direita Acima
  # 2 = Esquerda Abaixo    3 = Direita Abaixo
  #-----------------------------------------------------------------------------
  Pstn = 0
end
#===============================================================================
# Window_Variables
#-------------------------------------------------------------------------------
# Esta classe cria uma janela para a exibição dos valores de dias variáveis.
#===============================================================================
class Window_Variables < Window_Base
  def initialize
    super( 0, 0, 96, 64)
    self.opacity = 255
    self.contents.font.name = (Dual_Config::Font_Display)
    self.contents.font.size = (Dual_Config::Font_Size)
    change_color(Dual_Config::Font_Color)
    refresh
  end

  def refresh
    self.contents.clear
    @var1 = $game_variables[(Dual_Config::Var1)]
    @var2 = $game_variables[(Dual_Config::Var2)]
    self.contents.draw_text( 0, -2, 64, line_height, @var1.to_s, 2)
    self.contents.draw_text( 0, line_height - 4, 64, line_height, @var2.to_s, 2)
  end

  def update
    super
    if @var1 != $game_variables[(Dual_Config::Var1)] or
    @var2 != $game_variables[(Dual_Config::Var2)]
      refresh
    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 dual_var_initialize initialize
  alias dual_var_dispose dispose
  alias dual_var_update update

  def initialize
    create_window_variables
    dual_var_initialize
  end

  def create_window_variables
    @window_variables = Window_Variables.new
    case (Dual_Config::Pstn)
      when 0
        @window_variables.x = 0
        @window_variables.y = 0
      when 1
        @window_variables.x = 544 - @window_variables.width
        @window_variables.y = 0
      when 2
        @window_variables.x = 0
        @window_variables.y = 416 - @window_variables.height
      when 3
        @window_variables.x = 544 - @window_variables.width
        @window_variables.y = 416 - @window_variables.height
      end
    @window_variables.visible = false
  end

  def dispose
    dispose_window_variables
    dual_var_dispose
  end

  def dispose_window_variables
    @window_variables.dispose
  end

  def update
    update_window_variables
    dual_var_update
  end

  def update_window_variables
    if $game_switches[(Dual_Config::Swch)] == true
      @window_variables.visible = true
      @window_variables.update
    else
      @window_variables.visible = false
    end
  end
end




Engines: Somente Ace

Créditos:
  • King Gerar, pela tradução.
  • Raziel, pela versão para o VX.
  • Raizen, pela ajuda e correção dos milhares de erros.