Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
390 connectés actuellement
30732280 visiteurs depuis l'ouverture
2258 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Auteur : Zeus81
Logiciel : RPG Maker XP
Nombre de scripts : 1
Créer un nouveau script au dessus du main et y copier tout le reste .
Version 1.2 (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
| #=================================
# Tremblement de l'écran amélioré v1.2
# Script créé par Zeus81
#=================================
#
#
# Manuel d'utilisation :
#
# Faire insérer un script et écrire :
# $game_screen.start_shake(power, speed, duration, direction)
#
# power = Intensité du tremblement.
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Par exemple pour un micro tremblement on peut mettre 0.5
# Si la valeur est inférieure à 0.3333334 l'écran ne tremblera pas.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 power changera de valeur aléatoirement entre 1 et 9.
#
# speed = Vitesse du tremblement
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 speed changera de valeur aléatoirement entre 1 et 9.
#
# duration = Temps que durera le tremblement en nombre de frames.
# Nombre entier supérieur à zéro.
# Si on met -1 l'écran tremblera sans jamais s'arrêter.
# Si on met 0 le tremblement s'arrêtera.
#
# direction = Sens dans lequel tremblera l'écran.
# Si on met 0 l'écran tremblera dans des directions aléatoires.
# Si on met 1 l'écran tremblera en diagonale.
# Si on met 2 l'écran tremblera de haut en bas.
# Si on met 3 l'écran tremblera dans l'autre diagonale.
# Si on met 4 l'écran tremblera de gauche à droite.
#
# Exemple d'utilisation :
# $game_screen.start_shake(2, 15, 200, 0)
#
# Il est aussi possible de régler la direction par défaut avec la constante SHAKE_DIRECTION_DEFAULT ci-dessous.
# Ainsi lorsque l'utilitaire d'origine pour faire trembler l'écran sera utilisé, ce sera dans cette direction.
class Game_Screen
SHAKE_DIRECTION_DEFAULT = 0
alias game_screen_initialize initialize
def initialize
game_screen_initialize
@shake2 = 0
@shake_power_random = @shake_speed_random = @shake_direction_random = false
end
def shake2() @shake2 ||= 0 end
def start_shake(power, speed, duration, direction = SHAKE_DIRECTION_DEFAULT)
@shake_duration = duration
@shake_power_random = power == 0
@shake_power = @shake_power_random ? rand(9) + 1 : power
@shake_speed_random = speed == 0
@shake_speed = @shake_speed_random ? rand(9) + 1 : speed
@shake_direction_random = direction == 0
if !@shake_direction_random and @shake_direction != direction and @shake_direction != (10 - direction)
@shake_direction = direction
@shake = @shake2 = 0
end
end
def update
if @tone_duration >= 1
d = @tone_duration
@tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
@tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
@tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
@tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
@tone_duration -= 1
end
if @flash_duration >= 1
d = @flash_duration
@flash_color.alpha = @flash_color.alpha * (d - 1) / d
@flash_duration -= 1
end
if @shake_duration != 0 or @shake != 0 or @shake2 != 0
delta = @shake_power * @shake_speed / 10.0
if @shake.abs < delta and @shake2.abs < delta
@shake_power = rand(9)+1 if @shake_power_random
@shake_speed = rand(9)+1 if @shake_speed_random
@shake_direction = rand(9)+1 if @shake_direction_random
delta = @shake_power * @shake_speed / 10.0
@shake = @shake2 = 0
end
if @shake.abs > @shake_power * 2 or @shake2.abs > @shake_power * 2
@shake_direction = 10 - @shake_direction
end
@shake += delta if @shake_direction % 3 == 0
@shake -= delta if (@shake_direction+2) % 3 == 0
@shake2 += delta if @shake_direction < 4
@shake2 -= delta if @shake_direction > 6
if @shake_duration > 0
@shake_duration -= 1
elsif @shake.abs <= delta and @shake2.abs <= delta
@shake = @shake2 = 0
end
end
if @weather_duration >= 1
d = @weather_duration
@weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
@weather_duration -= 1
@weather_type = @weather_type_target if @weather_duration == 0
end
for i in $game_temp.in_battle ? 51..100 : 1..50
@pictures[i].update
end
end
end
class Spriteset_Map
alias spriteset_map_update update
def update
spriteset_map_update
@viewport1.oy = $game_screen.shake2
end
end |
Spoiler (cliquez pour afficher) Version 1.0
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
| #=================================
# Tremblement de l'écran amélioré
# Script créé par Zeus81
#=================================
#
#
# Manuel d'utilisation :
#
# Faire insérer un script et écrire :
# $game_screen.start_shake(power, speed, duration, direction)
#
# power = Intensité du tremblement.
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Par exemple pour un micro tremblement on peut mettre 0.5
# Si la valeur est inférieure à 0.3333334 l'écran ne tremblera pas.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 power changera de valeur aléatoirement entre 1 et 9.
#
# speed = Vitesse du tremblement
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 speed changera de valeur aléatoirement entre 1 et 9.
#
# duration = Temps que durera le tremblement en nombre de frames.
# Nombre entier supérieur à zéro.
# Si on met -1 l'écran tremblera sans jamais s'arrêter.
# Si on met 0 le tremblement s'arrêtera.
#
# direction = Sens dans lequel tremblera l'écran.
# Si on met 0 l'écran tremblera dans des directions aléatoires.
# Si on met 1 l'écran tremblera en diagonale.
# Si on met 2 l'écran tremblera de haut en bas.
# Si on met 3 l'écran tremblera dans l'autre diagonale.
# Si on met 4 l'écran tremblera de gauche à droite.
#
# Exemple d'utilisation :
# $game_screen.start_shake(2, 15, 200, 0)
#
# Il est aussi possible de régler la direction par défaut avec la constante SHAKE_DIRECTION_DEFAULT ci-dessous.
# Ainsi lorsque l'utilitaire d'origine pour faire trembler l'écran sera utilisé, ce sera dans cette direction.
class Game_Screen
SHAKE_DIRECTION_DEFAULT = 0
alias game_screen_initialize initialize
def initialize
game_screen_initialize
@shake2 = 0
@shake_power_random = false
@shake_speed_random = false
@shake_direction_random = false
end
def shake2
@shake2 = 0 if @shake2 == nil
return @shake2
end
def start_shake(power, speed, duration, direction = SHAKE_DIRECTION_DEFAULT)
@shake_duration = duration
if power == 0
@shake_power = rand(9) + 1
@shake_power_random = true
else
@shake_power = power
@shake_power_random = false
end
if speed == 0
@shake_speed = rand(9) + 1
@shake_speed_random = true
else
@shake_speed = speed
@shake_speed_random = false
end
if direction == 0
@shake_direction_random = true
else
if @shake_direction != direction and @shake_direction != (10 - direction)
@shake_direction = direction
@shake = 0
@shake2 = 0
end
@shake_direction_random = false
end
end
def update
if @tone_duration >= 1
d = @tone_duration
@tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
@tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
@tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
@tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
@tone_duration -= 1
end
if @flash_duration >= 1
d = @flash_duration
@flash_color.alpha = @flash_color.alpha * (d - 1) / d
@flash_duration -= 1
end
if @shake_duration != 0 or @shake != 0 or @shake2 != 0
delta = (@shake_power * @shake_speed) / 10.0
if @shake.abs < delta and @shake2.abs < delta
if @shake_power_random == true
@shake_power = rand(9) + 1
end
if @shake_speed_random == true
@shake_speed = rand(9) + 1
end
if @shake_direction_random == true
@shake_direction = rand(8) + 1
@shake_direction += 1 if @shake_direction > 4
end
delta = (@shake_power * @shake_speed) / 10.0
@shake = 0
@shake2 = 0
end
if @shake.abs > @shake_power * 2 or @shake2.abs > @shake_power * 2
@shake_direction = 10 - @shake_direction
end
if @shake_duration > 0
@shake_duration -= 1
end
if @shake_duration == 0 and @shake.abs < delta and @shake2.abs < delta
@shake = 0
@shake2 = 0
else
@shake += delta if @shake_direction % 3 == 0
@shake -= delta if (@shake_direction + 2) % 3 == 0
@shake2 += delta if @shake_direction < 4
@shake2 -= delta if @shake_direction > 6
end
end
if @weather_duration >= 1
d = @weather_duration
@weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
@weather_duration -= 1
if @weather_duration == 0
@weather_type = @weather_type_target
end
end
if $game_temp.in_battle
for i in 51..100
@pictures[i].update
end
else
for i in 1..50
@pictures[i].update
end
end
end
end
class Spriteset_Map
alias spriteset_map_update update
def update
spriteset_map_update
@viewport1.oy = $game_screen.shake2
end
end |
Mis à jour le 4 juillet 2020.
|
Timo -
posté le 29/11/2010 à 20:13:09 (822 messages postés)
| | Pas mal, en bordure de l'écran, il met du noir lors des tremblements ?
|
Léopold -
posté le 25/02/2012 à 13:22:37 (85 messages postés)
| It's brillant... It's simple... It's science! | Ok, ça marche, sauf un détail.
En ligne 301, il y a @pictures.update (juste en dessous de for i in 1..50). Dès qu'on lance le jeu, ça bugue.
Faut retirer cette ligne 301, et là le script fonctionne sans problème.
Mon cher Zeus81, tu es un génie!
|
Docteur L |
Zeus81 -
posté le 25/02/2012 à 20:29:06 (11071 messages postés)
| | Non dans un script faut jamais retirer des lignes pour le réparer.
Là c'est juste que les trois quarts des scripts d'oniro sont mort à cause des conneries de Nonor et TNL.
Tiens une version qui marche :
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
| #=================================
# Tremblement de l'écran amélioré v1.2
# Script créé par Zeus81
#=================================
#
#
# Manuel d'utilisation :
#
# Faire insérer un script et écrire :
# $game_screen.start_shake(power, speed, duration, direction)
#
# power = Intensité du tremblement.
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Par exemple pour un micro tremblement on peut mettre 0.5
# Si la valeur est inférieure à 0.3333334 l'écran ne tremblera pas.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 power changera de valeur aléatoirement entre 1 et 9.
#
# speed = Vitesse du tremblement
# Nombre supérieur à zéro qui n'est pas forcément un entier.
# Si la valeur est trop grande le tremblement sera abusé !
# Pour donner une idée de grandeur d'origine la valeur maximale est 9.
# Si on met 0 speed changera de valeur aléatoirement entre 1 et 9.
#
# duration = Temps que durera le tremblement en nombre de frames.
# Nombre entier supérieur à zéro.
# Si on met -1 l'écran tremblera sans jamais s'arrêter.
# Si on met 0 le tremblement s'arrêtera.
#
# direction = Sens dans lequel tremblera l'écran.
# Si on met 0 l'écran tremblera dans des directions aléatoires.
# Si on met 1 l'écran tremblera en diagonale.
# Si on met 2 l'écran tremblera de haut en bas.
# Si on met 3 l'écran tremblera dans l'autre diagonale.
# Si on met 4 l'écran tremblera de gauche à droite.
#
# Exemple d'utilisation :
# $game_screen.start_shake(2, 15, 200, 0)
#
# Il est aussi possible de régler la direction par défaut avec la constante SHAKE_DIRECTION_DEFAULT ci-dessous.
# Ainsi lorsque l'utilitaire d'origine pour faire trembler l'écran sera utilisé, ce sera dans cette direction.
class Game_Screen
SHAKE_DIRECTION_DEFAULT = 0
alias game_screen_initialize initialize
def initialize
game_screen_initialize
@shake2 = 0
@shake_power_random = @shake_speed_random = @shake_direction_random = false
end
def shake2() @shake2 ||= 0 end
def start_shake(power, speed, duration, direction = SHAKE_DIRECTION_DEFAULT)
@shake_duration = duration
@shake_power_random = power == 0
@shake_power = @shake_power_random ? rand(9) + 1 : power
@shake_speed_random = speed == 0
@shake_speed = @shake_speed_random ? rand(9) + 1 : speed
@shake_direction_random = direction == 0
if !@shake_direction_random and @shake_direction != direction and @shake_direction != (10 - direction)
@shake_direction = direction
@shake = @shake2 = 0
end
end
def update
if @tone_duration >= 1
d = @tone_duration
@tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
@tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
@tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
@tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
@tone_duration -= 1
end
if @flash_duration >= 1
d = @flash_duration
@flash_color.alpha = @flash_color.alpha * (d - 1) / d
@flash_duration -= 1
end
if @shake_duration != 0 or @shake != 0 or @shake2 != 0
delta = @shake_power * @shake_speed / 10.0
if @shake.abs < delta and @shake2.abs < delta
@shake_power = rand(9)+1 if @shake_power_random
@shake_speed = rand(9)+1 if @shake_speed_random
@shake_direction = rand(9)+1 if @shake_direction_random
delta = @shake_power * @shake_speed / 10.0
@shake = @shake2 = 0
end
if @shake.abs > @shake_power * 2 or @shake2.abs > @shake_power * 2
@shake_direction = 10 - @shake_direction
end
@shake += delta if @shake_direction % 3 == 0
@shake -= delta if (@shake_direction+2) % 3 == 0
@shake2 += delta if @shake_direction < 4
@shake2 -= delta if @shake_direction > 6
if @shake_duration > 0
@shake_duration -= 1
elsif @shake.abs <= delta and @shake2.abs <= delta
@shake = @shake2 = 0
end
end
if @weather_duration >= 1
d = @weather_duration
@weather_max = (@weather_max * (d - 1) + @weather_max_target) / d
@weather_duration -= 1
@weather_type = @weather_type_target if @weather_duration == 0
end
for i in $game_temp.in_battle ? 51..100 : 1..50
@pictures[i].update
end
end
end
class Spriteset_Map
alias spriteset_map_update update
def update
spriteset_map_update
@viewport1.oy = $game_screen.shake2
end
end |
|
Léopold -
posté le 18/03/2012 à 13:53:25 (85 messages postés)
| It's brillant... It's simple... It's science! | C'est bon, tout marche impec'. Merci Zeus!
|
Docteur L |
| | Salut! je sais que le post date d'un moment maintenant, mais j'ai un problème avec la ligne "alias spriteset_map_update update"(L 118 de la version 1.2 du script).
Sa m'affiche "Script'Game_Screen" line 73: NameError occured.
undefined method 'update' for class 'Spriteset_Map'
Si vous pouviez m'aider sa serai génial les mec^^
| |
|
|