Bonjours
Description
Vos déplacement font irréel ?
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
- Code:
-
#==============================================================================
# ● [VX] ◦ Bruit de Pas
#--------------------------------------------------------------------------
# ◦ Par Milow
# ◦ Version 1
#==============================================================================
module Bruit
Son = {
#--------------------------------------------------------------------------
# * Bruit par défaut
# "" pas de son
#--------------------------------------------------------------------------
0 => "",
#--------------------------------------------------------------------------
# * Bruit de la 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 incompatibilité avec certain scripts touchant aux déplacement !Bonus
Je vous accorde que devoirs trouver l'ID de la tile est une chose fastidieuse où l'on peut vite se perdre >.>
Voici donc un bête calcul qui vous donnera son ID
- Code:
-
(y - 1) * 8 + x
Remplacez y par la ligne de la tile à calculer
Remplacez x par la colonne de la tile à calculer
[/quote]