❤ 0 Bonjour à vous, ami(e)s lecteurs(rices).
Bon, ceci n'est pas vraiment un script, juste un regroupement de diverses fonctions utiles à une gestions avancées du temps sous rmXP.
Script à coller juste au-dessus de "Main" dans un nouveau script (que vous nommerez par exemple "Horloge"):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| class Horloge
def attendre(t) # t en seconde
ti = Time.now
loop do
if Time.now >= ti + t then
break
end
end
end
def année
return Time.new.year
end
def mois_num
return Time.new.month
end
def mois
case Time.new.month
when 1
return "Janvier"
when 2
return "Février"
when 3
return "Mars"
when 4
return "Avril"
when 5
return "Mai"
when 6
return "Juin"
when 7
return "Juillet"
when 8
return "Août"
when 9
return "Septembre"
when 10
return "Octobre"
when 11
return "Novembre"
when 12
return "Décembre"
end
end
def date
return Time.new.day
end
def jour
case Time.new.strftime("%A")
when "Monday"
return "Lundi"
when "Tuesday"
return "Mardi"
when "Wednesday"
return "Mercredi"
when "Thursday"
return "Jeudi"
when "Friday"
return "Vendredi"
when "Saturday"
return "Samedi"
when "Sunday"
return "Dimanche"
end
end
def heure
return Time.new.hour
end
def minute
return Time.new.min
end
def seconde
return Time.new.sec
end
end |
Il s'agit ici d'une horloge. Pour l'utiliser c'est très simple, ajoutez ceci juste après "begin" dans le script "Main" :
Maintenant grâce à la variable "$time", vous avez accès à plusieurs options :
- $time.attendre(t)
En entrant ceci où vous voulez, vous attendrez alors un certain temps, déterminé par "t" (remplacez "t" par un nombre) ; "t" étant en seconde.
Note : Ce bout de texte est de Fabien je crois, je l'ai intégré à ce script car il y a sa place.
- $time.année
Ce texte vous renvoie le numéro de l'année (2007 à l'heure où j'écris ^^), sous forme de nombre (donc vous pouvez faire des opérations avec, et si vous voulez l'afficher sous forme de caractère, il faudra ajouter ".to_s" à la fin de "$time.année" ; "to_s" étant une méthode qui convertie un nombre en chaîne de caractère, l'inverse est cependant impossible -ben wé!-).
- $time.mois_num
Ce texte vous renvoie le numéro du mois, 1 correspond à Janvier, 2 à Février, etc. et ce toujours sous forme de nombre et non de chaîne de caractère.
- $time.mois
Idem que précédement, à la différence que vous obtenez là directement le mois sous forme de chaîne de caractère (ainsi en ce moment vous obtiendrez "Janvier" plutôt que le nombre 1).
- $time.date
Là vous obtenez le numéro correspondant au jour actuel (ici 4 à l'heure où j'écris).
- $time.jour
Idem que précédement sauf que vous obtenez le jour de la semaine sous forme de chaîne de caractère (au lieu d'avoir "4", vous aurez "Jeudi").
- $time.heure
$time.minute
$time.seconde
Ces trois lignes vous renvoient respectivement l'heure, la minute, et la seconde actuelle. Pratique pour afficher le temps réel.
Voilà donc le fait de pouvoir utiliser l'heure réelle offre pas mal de possibilité pour peu que l'on se donne la peine de s'y pencher un peu en manipulant deux trois trucs.
Pour ma part j'ai modifié la fenêtre d'affichage du temps et voici ce que l'on peut obtenir :
(collez ce script à la place de "Window_Playtime")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| #==============================================================================
# ¦ Window_PlayTime
#------------------------------------------------------------------------------
#
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def initialize
super(0, 0, 220, 128)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
refresh
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 188, 32, "Temps de jeu :", 0)
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 180, 32, text, 2)
hour = $time.heure
min = $time.minute
sec = $time.seconde
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.draw_text(4, 32, 180, 32, text, 2)
day = $time.jour
date = $time.date
mois = $time.mois
année = $time.année
cx = 188 - contents.text_size(day + date.to_s + mois + année.to_s).width
self.contents.draw_text(0, 64, 188, 32, day, 0)
x = contents.text_size(day).width + cx/3
self.contents.draw_text(x, 64, 188, 32, date.to_s, 0)
x = contents.text_size(day + date.to_s).width + cx/3 + cx/3
self.contents.draw_text(x, 64, 188, 32, mois, 0)
x = contents.text_size(day + date.to_s + mois).width + cx
self.contents.draw_text(x, 64, 188, 32, année.to_s, 0)
self.contents.font.color = system_color
self.contents.draw_text(0, 32, 188, 32, "Date :", 0)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
|
Vous remarquerez que j'ai agrandi la largeur de la fenêtre, pour des raisons de place, à vous de voir ce que vous pouvez en tirer.
PS : Petit plus :
Avec la simple ligne suivante :
1
| text = Time.now.strftime("%x") |
vous pouvez obtenir dans votre variable "text" selon ce que vous mettez entre parenthèse divers paramètres :
%a le nom abrégé de jour de la semaine en anglais(Sun, Mon...)
%A le nom du jour de la semaine en anglais (Sunday, Monday...)
%b le nom abrégé du mois en anglais (Jan, Feb...)
%B le nom du mois en anglais (January, February...)
%c représentation de la date sous la forme: jj-mm-aa
%d le jour du mois (01->31)
%H heures sous format 24h (00->23)
%I heures sous format 12h (01->12)
%j numéro du jour sur une année (001->366)
%M indicateur méridien de l'heure (00->59)
%p affichage de AM ou PM en fonction de l'heure
%S affichage des secondes (00->60)
%M affichage des minutes
%y affichage de l'année
Voilà, remplacez le "x" du code ci-dessus par une des valeurs de la citation ci-dessus pour obtenir l'information correspondante. (Source de la citation)
|