❤ 0 Description
Vos déplacements font irréels ?
Pourquoi ne pas ajouter un son en fonction de l'endroit où l'on se déplace ?
Voici donc le but de ce script ^^
Comment ça marche ?
Il vous suffit de régler le script en fonction de vos attente.
Le script gère ensuite le bruit.
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
| #==============================================================================
# ● [VX] ◦ Bruit de Pas
#--------------------------------------------------------------------------
# ◦ Par Milow
# ◦ Version 1
#==============================================================================
module Bruit
Son = {
#--------------------------------------------------------------------------
# * Bruit par défaut
# "" pas de son
#--------------------------------------------------------------------------
0 => "",
#--------------------------------------------------------------------------
# * Bruit de tile
# Pour créer un nouveau bruit de tile
# Sautez une ligne puis suivez le modèle suivant
# ID => "SE",
# ID : l'ID de la tile
# SE : Nom du fichier son
#--------------------------------------------------------------------------
1 => "Eau", # Première tile
20 => "Herbe", # Herbe
# Ne mettez rien après ici !
}
end
#==============================================================================
# ** Game_Player
#==============================================================================
class Game_Player
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias add_ini initialize
def initialize
add_ini
@last_x = @x
@last_y = @y
end
#--------------------------------------------------------------------------
# * Move by Input
#--------------------------------------------------------------------------
def move_by_input
return unless movable?
return if $game_map.interpreter.running?
case Input.dir4
when 2; move_down
when 4; move_left
when 6; move_right
when 8; move_up
end
play_tile_noise if not @move_failed and moving?
end
#--------------------------------------------------------------------------
# * Play Tile Noise
#--------------------------------------------------------------------------
def play_tile_noise
tile_noise = $game_map.tile_noise
data = $game_map.data[@last_x, @last_y, 0]
tile_noise.each_key { |i|
@se = Bruit::Son[tile_noise[i]] if data >= (i - 48) and data <= i
}
@se = Bruit::Son[0] if @se == nil
Audio.se_play("Audio/SE/#{@se}", 50, 100) if @se != ""
@last_x = @x
@last_y = @y
@se = nil
end
end
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
attr_reader :tile_noise
#--------------------------------------------------------------------------
# * Setup
#--------------------------------------------------------------------------
alias add_setup setup
def setup(*arg)
add_setup(*arg)
@tile_noise = {}
reference
end
#--------------------------------------------------------------------------
# * Reference
#--------------------------------------------------------------------------
def reference
for tile_id in Bruit::Son.keys
if tile_id > 128
key = 1536 + ((tile_id - 1) - 128)
elsif tile_id > 0
key = 2094 + (tile_id - 1) * 48
else
key = 0
end
@tile_noise[key] = tile_id
end
end
end |
Risque d'incompatibilité avec certains scripts touchant aux déplacement !
Bonus
Je vous accorde que devoir trouver l'ID d'un tile est une chose fastidieuse où l'on peut vite se perdre >.>
Voici donc un bête calcul qui vous donnera son ID
Remplacez y par la ligne de la tile à calculer
Remplacez x par la colonne de la tile à calculer
|