Kyo Panda
Versão 1.1 - 10 de Novembro de 2010
Utlize os seguintes comandos com o Comando de Evento Chamar Script em um Evento qualquer:Discreet_Timer.show = true / false
* Para exibir ou ocultar o Timer. Onde true exibe e false esconde.
Spoiler
#==============================================================================
# Timer Discreto [VX]
#------------------------------------------------------------------------------
# Adiciona um pequeno Timer indicando a hora atual em seu projeto.
#------------------------------------------------------------------------------
# Site : http://www.centrorpg.com
# Autor : Kyo Panda
# Versão : 1.1
# Lançado em : 10 de Novembro de 2010
#==============================================================================
#==============================================================================
# Como usar:
#------------------------------------------------------------------------------
#
# #--------------------------------------------------------------------------
# # Instalação
# #--------------------------------------------------------------------------
#
# • Cole o script acima do "▼ Principal" e abaixo dos "▼ Script Adicionais"
# no Editor de Scripts do RPG Maker VX.
#
# • Configure o script no guia "Configuração" logo abaixo.
#
# #--------------------------------------------------------------------------
# # Utilização
# #--------------------------------------------------------------------------
#
# • Utilize o código abaixo com o "Comando de Evento" "Chamar Script" num
# evento qualquer:
#
# Discreet_Timer.show = true / false
# * Para exibir ou ocultar o Timer. Onde true exibe e false esconde.
#
#==============================================================================
#==============================================================================
# Histórico de versões:
#------------------------------------------------------------------------------
# • Versão 1.1, 10 de Novembro de 2010:
# * Adicionado a opção de definir o tempo de jogo como timer.
# • Versão 1.0, 10 de Novembro de 2010:
# * Primeira versão do Timer Discreto.
#==============================================================================
#==============================================================================
# Discreet_Timer
#------------------------------------------------------------------------------
# Módulo de configuração para o script Timer Discreto.
#==============================================================================
module Discreet_Timer
#--------------------------------------------------------------------------
# Configuração
#--------------------------------------------------------------------------
# Defina aqui o método de contagem de tempo do timer.
# 0 : Relógio com tempo real
# 1 : Contagem de frames; Tempo de jogo
METHOD = 0
# Defina aqui as configurações relacionadas à fonte do Timer.
FONT_NAME = "Trebuchet MS" # Nome da fonte
FONT_SIZE = 12 # Tamanho da fonte
FONT_OPACITY = 128 # Opacidade da fonte
TEXT_ALIGN = 1 # Alinhamento do texto (0: <; 1: |; 2: >)
# Defina aqui as configurações relativas à janela do Timer.
# Eis o que cada valor representa:
# X : Posicionamento horizontal da janela
# Y : Posicionamento vertical da janela
# Largura : Largura da janela
# Altura : Altura da janela
# Z : Prioridade da janela
# Opacidade : Opacidade da janela
# Window : Windowskin da janela
# [ X , Y , Lar, Alt, Z , Opa, "Window" ]
WINDOW_TIMER = [464, 372, 64, 44, 201, 0, "Window" ]
#--------------------------------------------------------------------------
# Fim da configuração
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# Exibir relógio
#--------------------------------------------------------------------------
def self.show=(state)
$game_temp.discreet_timer = state
end
end
#==============================================================================
# Game_Temp
#------------------------------------------------------------------------------
# Esta classe controla dados que não são salvos pelo jogo, os dados temporários
# Pode ser acessada utilizando $game_temp
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# Variáveis públicas
#--------------------------------------------------------------------------
attr_accessor :discreet_timer
#--------------------------------------------------------------------------
# Alias da inicialização do objeto
#--------------------------------------------------------------------------
alias kpndt0001_initialize initialize
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize
@discreet_timer = true
kpndt0001_initialize
end
end
#==============================================================================
# Window_Timer
#------------------------------------------------------------------------------
# Janela que exibe o relógio com o horário atual.
#==============================================================================
class Window_Timer < Window_Base
#--------------------------------------------------------------------------
# Inclusão das constantes e métodos do módulo Discreet_Timer
#--------------------------------------------------------------------------
include Discreet_Timer
#--------------------------------------------------------------------------
# Variáveis públicas
#--------------------------------------------------------------------------
attr_reader :hour # Horas
attr_reader :min # Minutos
attr_reader :sec # Segundos
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize
super(WINDOW_TIMER[0], WINDOW_TIMER[1], WINDOW_TIMER[2], WINDOW_TIMER[3])
self.opacity = WINDOW_TIMER[5]
self.contents = Bitmap.new(WINDOW_TIMER[2] - 32, WINDOW_TIMER[3] - 32)
self.windowskin = Cache.system(WINDOW_TIMER[6])
self.z = WINDOW_TIMER[4]
@hour = 0
@min = 0
@sec = 0
refresh
end
#--------------------------------------------------------------------------
# Atualização
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.name = FONT_NAME
self.contents.font.size = FONT_SIZE
self.contents.font.color.alpha = FONT_OPACITY
case METHOD
when 0
@hour, @min, @sec = Time.now.hour, Time.now.min, Time.now.sec
when 1
frames = Graphics.frame_count / Graphics.frame_rate
@hour, @min, @sec = frames / 60 / 60, frames / 60 % 60, frames % 60
end
text = sprintf("%02d:%02d:%02d", @hour, @min, @sec)
self.contents.draw_text(0, 0, self.contents.width, FONT_SIZE, text,
TEXT_ALIGN)
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
super
self.visible = $game_temp.discreet_timer
case METHOD
when 0
if @hour != Time.now.hour || Time.now.min != @min || Time.now.sec !=
@sec
refresh
end
when 1
frames = Graphics.frame_count / Graphics.frame_rate
if @hour != frames / 60 / 60 || @min != frames / 60 % 60 || @sec !=
frames % 60
refresh
end
end
end
end
#==============================================================================
# Scene_Base
#------------------------------------------------------------------------------
# Classe superior à todas as classes Scene_.
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# Alias do processo principal
#--------------------------------------------------------------------------
alias kpndt0001_main main
#--------------------------------------------------------------------------
# Processo principal
#--------------------------------------------------------------------------
def main
@timer_window = Window_Timer.new
kpndt0001_main
@timer_window.dispose
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
@timer_window.update
end
end