#===================================================================
# ● [VX] ◦ Système d'Horloge en temps réel
#---------------------------------------------------------------------------------------------------------------------
# ◦ Par La Meche, d'une demande
# ◦
https://rpg-maker-vx.bbactif.com/forum.htm# ◦ Crée le 21/03/2009
# ◦ Version 1.1
#===================================================================
#===================================================================
# Horloge :: Début du Module de configuration
#===================================================================
module Temps
# ~ Début des réglages ~
#==================================================
# ID de l'interrupteur permettant l'afficher de l'horloge
#==================================================
Interrupteur = 1
#==================================================
# Position de l'horloge
# 1 : Haut-Gauche
# 2 : Milieux
# 3 : Haut-Droite
#==================================================
Position = 3
#==================================================
# Couleur d'écriture
# Pour choisir mettre :
# Color.new(rouge, vert, bleu[alpha])
# > Rouge, Vert, Bleu : Ton de couleur Rouge, Vert, Bleu (0-255)
# > Alpha : Facultatif, c'est la transparence, par defaut 255 (0-255)
# Blanc : 255, 255, 255 Noir : 0, 0, 0
#==================================================
Couleur = Color.new(255, 255, 255)
#==================================================
# Style d'écriture
# Si style appliqué : true
# Sinon false
#==================================================
Gras = false
Italique = false
Ombre = true
#==================================================
# Intégrer les données de temps des variables
# Si utilisation des variables : true
# Sinon false
#==================================================
Variable = false
#==================================================
# Définissez les variables de données
# /!\ Ne marche que si Variable = true /!\
# /!\ Ne pas modifier la premiére colonne /!\
#==================================================
ID_VAR = {
"Minutes" => 1,
"Heures" => 2,
"Jours" => 3,
"Mois" => 4,
"Annees"=> 5
}
#==================================================
# Nom des jours
# Il ne peut y avoir que 7 jours, ni plus, ni moins
# /!\ Ne pas modifier la premiére colonne /!\
#==================================================
Jour = [
["Sud", "Dimanche"],
["Mon", "Lundi"],
["Tue", "Mardi"],
["Wed", "Mercredi"],
["Thu", "Jeudi"],
["Fri", "Vendredi"],
["Sat", "Samedi"]
]
#==================================================
# Nom des mois
# Il ne peut y avoir que 12 mois, ni plus, ni moins
# /!\ Ne pas modifier la premiére colonne /!\
#==================================================
Mois = [
["Jan", "Janvier"],
["Feb", "Fevrier"],
["Mar", "Mars"],
["Apr", "Avril"],
["May", "Mai"],
["Jun", "Juin"],
["Jul", "Juillet"],
["Aug", "Août"],
["Sep", "Septembre"],
["Oct", "Octobre"],
["Nov", "Novembre"],
["Dec", "Décembre"]
]
# ~ Fin des réglages ~
end
#===================================================================
# * * Scene_Map
#---------------------------------------------------------------------------------------------------------------------
# La scéne principale qui gére l'horloge
#===================================================================
class Scene_Map
#--------------------------------------------------------------------------
# * Allias
#--------------------------------------------------------------------------
alias temps_start start
alias temps_terminate terminate
alias temps_update update
#--------------------------------------------------------------------------
# * Lance la scéne
#--------------------------------------------------------------------------
def start
@temps = Window_Temps.new
@temps.visible = false
t = Time.new
@changer = t.min
temps_start
end
#--------------------------------------------------------------------------
# *Fin de la scene
#--------------------------------------------------------------------------
def terminate
@temps.dispose
temps_terminate
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
if $game_switches[Temps::Interrupteur] == true
@temps.visible = true if @temps.visible == false
t = Time.new
minute = t.min
if @changer != minute
@temps.refresh
end # if
else
@temps.visible = false if @temps.visible == true
end
temps_update
end
end
#===================================================================
# * * Window_Temps
#---------------------------------------------------------------------------------------------------------------------
# Window de l'Horloge
#===================================================================
class Window_Temps < Window_Base
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
def initialize
super(0, 0, 544, 88)
self.opacity = 0
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
temps
self.contents.font.color = Temps::Couleur
self.contents.font.bold = Temps::Gras
self.contents.font.italic = Temps::Italique
self.contents.font.shadow = Temps::Ombre
case Temps::Position
when 1
align = 0
when 2
align = 1
when 3
align = 2
end
self.contents.draw_text(0, 0, 512, 24, "#{@jour} #{@nbr_jour} #{@mois} #{@annees}", align)
self.contents.draw_text(0, 32, 512, 24, "#{@heures}:#{@minutes}", align)
self.contents.font.color = normal_color
end
#--------------------------------------------------------------------------
# * Définition des variables de Temps
#--------------------------------------------------------------------------
def temps
#--------------------------------------------------------------------------
# * Lettres
#--------------------------------------------------------------------------
@text = Time.now.to_s
for i in 0...Temps::Jour.size
if @text.include?(Temps::Jour[i][0])
@jour = Temps::Jour[i][1]
end # if
end # for
for i in 0...Temps::Mois.size
if @text.include?(Temps::Mois[i][0])
@mois = Temps::Mois[i][1]
end # if
end # for
#--------------------------------------------------------------------------
# * Chiffres
#--------------------------------------------------------------------------
t = Time.new
@minutes = t.min
@heures = t.hour
@nbr_jour = t.day
@annees = t.year
if Temps::Variable == true
$game_variables[Temps::ID_VAR["Minutes"]] = t.min
$game_variables[Temps::ID_VAR["Heures"]] = t.hour
$game_variables[Temps::ID_VAR["Jours"]] = t.day
$game_variables[Temps::ID_VAR["Annees"]] = t.year
end
end
end
#===================================================================
# Fin du script
#===================================================================