Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
368 connectés actuellement
30678674 visiteurs depuis l'ouverture
971 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Auteur : Bubblebug
Logiciel : RPG Maker XP
Nombre de scripts : 1
Bonjour/rebonjour,
Ceci est la version amélioré de mon premier script !
Je vous présente mon script pour faire une système qui permet au joueur de voir à quel pourcentage du jeu il est rendu !
En plus, vous pouvez mettre un commentaire suivant le pourcentage du joueur !
C'est a dire que si par exemple le joueur est a 56%, vous pouvez lui mettre le message "tu est sur la bonne voix" !
Screen
Utilisation (version 3)
Peut être moin long, et plus pratique, pour choisir quelle variable contiendra le pourcentage, changer la valeur de "VAR_UN" au début du script !
Et pour changer la variable qui contiendra le nombre de donjon fait, changer la valeur de "VAR_DEUX" au début du script !
Et après, vous pouvez changer les texte, avec les autre valeur au début du texte !
Condtions d'utilisation
Crédit à mettre de préférence.
Code
Version 3.0 (recommandée)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
| #==============================================================================
# ** Système de pourcentage
#------------------------------------------------------------------------------
# Bubblebug
# 3.0
# 03/05/2011
#==============================================================================
class Option
TEXT_UN = "Avancement:"
TEXT_DEUX = "%"
TEXT_TROIS = "Donjon:"
TEXT_QUATRE = "/15"
VAR_UN = 1 #Numéro d variable qui contiendra le pourcentage !
VAR_DEUX = 2 #Numéro de variable qui contiendra le nombre de donjon de fait !
end
class Window_PlayTime < Window_Base
def initialize
super(0, 0, 160, 192)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Temps de jeu")
@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, 32, 120, 32, text, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 55, 120, 32, Option::TEXT_UN.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(4, 85, 100, 32, $game_variables[Option::VAR_UN].to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 85, 120, 32, Option::TEXT_DEUX.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 110, 120, 32, Option::TEXT_TROIS.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(4, 130, 80, 32, $game_variables[Option::VAR_DEUX].to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(90, 130, 200, 32, Option::TEXT_QUATRE.to_s)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Statut"
s5 = "Sauvegarder"
s6 = "Quitter le jeu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
end
def update
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end |
Version 2.0 (archive)
Spoiler (cliquez pour afficher) Donc ce système est constitué de trois scripts !
Il faut mettre les trois script dans l'ordre donné ici et au dessus du script main (tout en bas) !
C'est a dire:
-Window_Pourcent
-Window_Steps
-Scene_Menu
-Main
Script n°1 a nommer "Window_Pourcent":
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
| #==============================================================================
# ** Système de pourcentage
#------------------------------------------------------------------------------
# Bubblebug
# v2.0
# 01/03.2011
#==============================================================================
# Le pourcentage est définie dans la variable n°1 !
# Donc pour modifier le pourcentage, modifié la variable n°1 !
#==============================================================================
class Window_Pourcent < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Avancement")
@total_sec = $game_variables[1]
text = $game_variables[1]
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 100, 32, text.to_s, 2)
self.contents.draw_text(4, 32, 125, 32, "%", 2)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end |
Script n°2 a nomé "Window_Steps":
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
| #==============================================================================
# ** Système de pourcentage
#------------------------------------------------------------------------------
# Bubblebug
# v2.0
# 01/03.2011
#==============================================================================
# Le pourcentage est définie dans la variable n°1 !
# Donc pour modifier le pourcentage, modifié la variable n°1 !
#==============================================================================
class Window_Steps < Window_Base
def option #Reglez comme vous voulez !
@afficher = true
#Mettre "true" pour afficher les commentaire, mettre "false" pour les masquer !!
end
def initialize
option
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
if @afficher == true
if $game_variables[1] <= 25
commentaire = "Tu débute"
end
if $game_variables[1] >= 26
if $game_variables[1] <= 50
commentaire = "Tu es bon"
end
end
if $game_variables[1] >= 51
if $game_variables[1] <= 75
commentaire = "Tu es fort"
end
end
if $game_variables[1] >= 76
if $game_variables[1] <= 99
commentaire = "Tu es puissant"
end
end
if $game_variables[1] == 100
commentaire = "Tu as fini"
end
if $game_variables[1] < 0
commentaire = "Erreur (-)"
end
if $game_variables[1] > 100
commentaire = "Erreur (+)"
end
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Commentaire")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, commentaire.to_s)
end
end
end |
Script n°3 a nomé "Scene_Menu":
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
| #==============================================================================
# ** Système de pourcentage
#------------------------------------------------------------------------------
# Bubblebug
# v2.0
# 01/03.2011
#==============================================================================
# Le pourcentage est définie dans la variable n°1 !
# Donc pour modifier le pourcentage, modifié la variable n°1 !
#==============================================================================
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Statut"
s5 = "Sauvegarder"
s6 = "Quitter le jeu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@pourcent_window = Window_Pourcent.new
@pourcent_window.x = 0
@pourcent_window.y = 224
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@pourcent_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end
def update
@command_window.update
@pourcent_window.update
@steps_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end |
Alors comment marche se système de pourcentage ?
Hé bien, pour modifier le pourcentage, il suffit de modifier la variable n°1 du jeu !
Par exemple, pour ajouter 1%, vous devez faire +1 à la variable 001 !
Il est maintenant possible de masquer ce qui sera marquer dans les commentaire !
Au début du script "Window_Steps", il y a "@afficher = true" !
Pour masquer il vous suffit de mettre "false" a la place de "true" !
Mis à jour le 20 octobre 2020.
|
tampaxor -
posté le 06/04/2011 à 15:29:11 (10274 messages postés)
| | Bien pensé, mais contrôler l'avancée du personnage en pourcentage, c'est dur quand même. Si tu mets trouzemille quêtes annexes, des objets à collectionner, etc et patata, comment tu sais où on en est ?
|
zou -
posté le 06/04/2011 à 15:35:57 (2197 messages postés)
| | Moi j'aurais pas supprimé les autres fenêtres, Si tu veux un petit défi pour t'améliorer, essayes de mettre dans la même fenêtre le temps de jeu, le commentaire et le pourcentage mais qui change tout les 100 frames par exemple
Parceque le pourcentage et le commentaire on supprimés les autres infos et comme c'est pas un truc important...
|
bubblebug -
posté le 06/04/2011 à 22:07:46 (384 messages postés)
| | Citation: comment tu sais où on en est ? |
C'est le créateur du jeu qui choisi a quelle condition les pourcentation sont gagner !
|
tampaxor -
posté le 07/04/2011 à 10:40:35 (10274 messages postés)
| | C'est pas pratique je trouve. Faut savoir précisément ce qui octroie l'augmentation du pourcentage, avoir découpé son jeu en tranches, le connaître, perdre du temps à l'analyser, etc... Je vois vraiment pas l'avantage que ton script amène. Pour un pourcentage de vie, okay, mais si on doit interagir nous-même sur une variable pour balancer ça dans le menu, c'est moyen.
|
Kaila -
posté le 07/04/2011 à 14:09:25 (3617 messages postés)
| Hmmm ? | M'enfin, il est absolument intolérable d'obliger le joueur à utiliser la variable №1. D'autant plus que c'est la №1, quoi, elle sera forcément utilisée avant.
Et puis c'est quoi cette def "option" qui sert à configurer le script O_o'. Et ces chaînes à aller chercher au milieu du code pour les modifier O_o".
Non, même, d'une manière générale... wtf !?
Citation: Faut savoir précisément ce qui octroie l'augmentation du pourcentage, avoir découpé son jeu en tranches, le connaître, perdre du temps à l'analyser, etc... |
Heu... le maker est un peu "obligé" de connaître son jeu
|
Everything is better with zombies. |
bubblebug -
posté le 07/04/2011 à 19:36:49 (384 messages postés)
| | Citation: C'est pas pratique je trouve. Faut savoir précisément ce qui octroie l'augmentation du pourcentage, avoir découpé son jeu en tranches, le connaître, perdre du temps à l'analyser, etc... Je vois vraiment pas l'avantage que ton script amène. Pour un pourcentage de vie, okay, mais si on doit interagir nous-même sur une variable pour balancer ça dans le menu, c'est moyen. |
Citation: M'enfin, il est absolument intolérable d'obliger le joueur à utiliser la variable №1. D'autant plus que c'est la №1, quoi, elle sera forcément utilisée avant. |
Ceci est mon premier script, donc il n'est pas au point, je voulai justement que l'on critique cela, et merci, je tiendrai compte de tout cela
|
clarabel -
posté le 08/04/2011 à 00:00:03 (47 messages postés)
| | Dans ce cas, ce script n'a pas été posté dans la bonne section.
Je veux bien apporter mon aide cependant, en commençant par un commentaire constructif:
la méthode 'refresh' de Window_Steps est à chier
Elle est difficlement, peiniblement paramétrable.
Que doit-elle faire ?
à partir de n=25 afficher "du texte"
à partir de n=50, afficher "un autre texte"
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
n = $game_variables[1] #on reparlera du 1 plus tard
if n < 26
commentaire = "T'es une buse"
elsif n < 51 # donc 26 <= n <= 50
commentaire = "En progrès"
elsif n < 76
commentaire = "T'es devenu un bon joueur"
elsif n < 100
commentaire = "Plus que quelques slimes à dézinguer !"
else
commentaire = "Voilà, c'est fini"
end
|
Si on veut un script vraiment commode à utiliser, je voudrais pouvoir paramétrer avec un simple dictionnaire :
1
2
3
4
5
6
7
8
9
|
PERC_COM = {
26 => "T'es une buse",
51 => "En progrès",
76 => "T'es devenu un bon joueur",
100 => "Plus que quelques slimes à dézinguer !",
105 => "Voilà, c'est fini"
}
|
Exercice pour vendredi :
- récrire la méthode refresh utilisant le Hash PERC_COM et qui aura le même comportement que l'exemple ci dessus
Spoiler (cliquez pour afficher)
Il faut chercher, c'est ainsi qu'on progresse.
Tu ne crois pas que je vais te donner une réponse toute de suite.
Mais il est nécessaire d'apprendre à se servir des constantes : Variables dont le script ne devra pas changer les valeurs.
Ruby reconnaît les constantes au majuscules.
PERC_COM est une constante : le développeur y définit ses commentaires et paliers.
Afficher_Commentaires (avec de majuscules au début seulement, c'est pareil, constante)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class Window_Steps
Afficher_Commentaires = true
PERC_COM = {
26 => "T'es une buse",
51 => "En progrès",
76 => "T'es devenu un bon joueur",
100 => "Plus que quelques slimes à dézinguer !",
105 => "Voilà, c'est fini"
}
#---------------------------------------------------------------
#*refresh
#--------------------------------------------------------------
def refresh
if Afficher_Commentaires == true
chercher_et_ecrire_comment
end
end
end
|
C'est devenu simple pour le développeur de modifier ces paramètres, sans aller bidouiller dans le script.
|
Kaila -
posté le 08/04/2011 à 11:49:17 (3617 messages postés)
| Hmmm ? | Mwaip, si tu cherches des conseils en scripting, c'est clairement pas le bon endroit. Mieux vaut privilégier la section "entraide".
Sinon clarabel, je ne suis pas sûr que lui faire faire de la recherche dans un hash soit à sa portée pour le moment.
J'ai bien une petite solution, mais du coup j'hésite à la poster
Aussi, pour suivre les critiques: tu pourrais faire en sorte que le pourcentage et le commentaire s'affichent dans la même fenêtre, permettre au maker de choisir la variable à utiliser (les constantes !).
Enfin, pour faire un script plus large et plus configurable:
- Permettre de choisir le titre de la fenêtre
- Permettre de choisir le caractère affiché après les chiffre
- Permettre de rentrer les valeurs dans n'importe quel ordre dans le hash
Au final, on pourrait avoir aussi bien cette fenêtre:
Avancement:
16%
Tu débutes...
Que celle là:
Joyaux:
32 / 35
Encore quelques uns !
Mais commences déjà par essayer de faire ce que t'as dit de faire clarabel, et postes un topic d'entraide si tu n'y arrive vraiment pas.
|
Everything is better with zombies. |
Benku -
posté le 12/04/2011 à 17:48:07 (2843 messages postés)
| Benku, le prince des ténèbres ! | Pourcentage maker spotted
|
Comme tout ceux qui vivent des heures si sombres mais ce n'est pas à eux de décider, tout ce que vous avez à décider, c'est quoi faire du temps qui vous est imparti. |
bubblebug -
posté le 03/05/2011 à 10:03:15 (384 messages postés)
| | Bonjour, je vous poste ici la dernière version de ce script !
Script:
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
| #==============================================================================
# ** Système de pourcentage
#------------------------------------------------------------------------------
# Bubblebug
# 3.0
# 03/05/2011
#==============================================================================
class Option
TEXT_UN = "Avancement:"
TEXT_DEUX = "%"
TEXT_TROIS = "Donjon:"
TEXT_QUATRE = "/15"
VAR_UN = 1 #Numéro d variable qui contiendra le pourcentage !
VAR_DEUX = 2 #Numéro de variable qui contiendra le nombre de donjon de fait !
end
class Window_PlayTime < Window_Base
def initialize
super(0, 0, 160, 192)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "Temps de jeu")
@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, 32, 120, 32, text, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 55, 120, 32, Option::TEXT_UN.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(4, 85, 100, 32, $game_variables[Option::VAR_UN].to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 85, 120, 32, Option::TEXT_DEUX.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, 110, 120, 32, Option::TEXT_TROIS.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(4, 130, 80, 32, $game_variables[Option::VAR_DEUX].to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(90, 130, 200, 32, Option::TEXT_QUATRE.to_s)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Statut"
s5 = "Sauvegarder"
s6 = "Quitter le jeu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
end
def update
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end |
Explication:
Peut être moin long, et plus pratique, pour choisir quel variable contiendra le pourcentage, changer la valeur de "VAR_UN" au début du script !
Utilisation:
Et pour changer la variable qui contiendra le nombre de donjon fait, changer la valeur de "VAR_DEUX" au début du script !
Et après, vous pouvez changer les texte, avec les autre valeur au début du texte !
Crédit a mettre de préférence
| |
|
|