Partagez
Aller en bas
avatar
taquana
Membre

Nombre de messages : 17
Distinction : aucune
Date d'inscription : 31/12/2010

Bruit de pas by Milow

le Mer 27 Juil 2011 - 15:44
j'ai chercher rapidement et je n'est pas trouvé un script dans le meme stile donc je vais le poster(ce n'est pas moi qui la fait)

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
avatar
Mist'
Staffeux retraité

Nombre de messages : 3298
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: Bruit de pas by Milow

le Mer 27 Juil 2011 - 18:57
Déjà, je te remercie de ton partage de script, ça peut toujours servir Wink
Puis, un script de bruit de pas avait déjà été posté, mais celui que tu nous proposes me semble meilleur niveau gestion que celui déjà proposé, donc c'est un "mal" pour un bien x)

Merci à toi!

_________________
avatar
taquana
Membre

Nombre de messages : 17
Distinction : aucune
Date d'inscription : 31/12/2010

Re: Bruit de pas by Milow

le Jeu 28 Juil 2011 - 13:19
Derien
avatar
Coco'
Staffeux retraité

Nombre de messages : 6580
Age : 24
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Re: Bruit de pas by Milow

le Jeu 28 Juil 2011 - 13:29
Merchi du partage!
+1 pour Mist' j'ai la flemme de redire la même chose x)
Contenu sponsorisé

Re: Bruit de pas by Milow

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum