¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [RPG Maker VX] Sonido de Pisadas el Vie Dic 23, 2011 3:21 pm

Razor

avatar
Script: Sonido de Pisadas
Autor: DeadlyDan
Versión: 1.0
Descripción: Permite reproducir un sonido según donde el héroe pise un tile.


Código:

#==============================================================================
# Sonido de Pisadas por DeadlyDan
#------------------------------------------------------------------------------
#  Permite escuchar las pisadas cuando se camina por algunos tiles
#==============================================================================
# Para usarlo:
=begin

 Simple, coloca el archivo de audio en el directorio SE, y prueba el juego.

 Tiene algunos bugs, si alguien los arregla que lo comunique :)

 Para añadir sonidos personalizados a los tiles puedes hacer, por ejemplo:

 FOOTSTEP_WOOD = [15] # La ID del tile que se consigue con la función debug_tileid
 FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood" # El archivo de sonido

 Entonces añade a partir de la línea # Inserta aquí sonidos personalizados:

 footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 )

 El último número en esa función es para la capa, ya que el seleccionado
 por defecto está en la capa del suelo, que es 0.

 (NOTA)
 Hay un problema, que cuando vas por alfombra suena suciedad y nieve (?).
 Actualmente no se cómo arreglar esto, así que lo mejor que se puede hacer es
 llamar al comando $game_player.footsteps_enabled = false.

 Para permitir pisadas mientras se hace que dejen de sonar la nieve y la
 suciedad, hay una difícil solución de colocar un evento que llame
 a $game_player.footsteps_enabled = false.

 Lo siento por este problema.

=end
#pd davix: traduccion gracias a Fegarur

class Game_Player < Game_Character

 FOOTSTEP_GRASS = [28, 29, 30]
 FOOTSTEP_GRASS_LONG = [29, 30]
 FOOTSTEP_GRASS_FILE = "Audio/SE/stepgrass"

 FOOTSTEP_DIRT = [32, 33, 34]
 FOOTSTEP_DIRT_LONG = [32 ,34]
 FOOTSTEP_DIRT_FILE = "Audio/SE/stepdirt"

 FOOTSTEP_SAND = [36, 37, 38]
 FOOTSTEP_SAND_LONG = [36, 38]
 FOOTSTEP_SAND_FILE = "Audio/SE/stepdirt"

 FOOTSTEP_SNOW = [39, 41]
 FOOTSTEP_SNOW_LONG = [40, 41]
 FOOTSTEP_SNOW_FILE = "Audio/SE/stepsnow"

 FOOTSTEP_WOOD = [15]
 FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood"

 FOOTSTEP_PITCH = 100
 FOOTSTEP_PITCH2 = 90

 attr_accessor :last_foot
 attr_accessor :footsteps_enabled

 alias foot_initialize initialize
 def initialize
  foot_initialize
  @last_foot = 0
  @last_foot_pitch = FOOTSTEP_PITCH2
  @next_foot_pitch = FOOTSTEP_PITCH
  @footsteps_enabled = true
 end

 alias foot_move_left move_left
 def move_left ( turn_ok = true )
  foot_move_left ( turn_ok )
  if ( @move_failed == false )
    sound_foot
  end
 end
 
 alias foot_move_right move_right
 def move_right ( turn_ok = true )
  foot_move_right ( turn_ok )
  if ( @move_failed == false )
    sound_foot
  end
 end

 alias foot_move_up move_up
 def move_up ( turn_ok = true )
  foot_move_up ( turn_ok )
  if ( @move_failed == false and @footsteps_enabled )
    sound_foot
  end
 end

 alias foot_move_down move_down
 def move_down ( turn_ok = true )
  foot_move_down ( turn_ok )
  if ( @move_failed == false and @footsteps_enabled )
    sound_foot
  end
 end

 def no_layer_tile? ( layer )
  result = [false, false, false]
  for i in 0..2
    if ( @map_tile_id[i] == 0 )
      result[i] = true
    end
  end
  if ( layer == 0 ) 
    if ( result[1] and result[2] )
      return true
    else
      return false
    end
  end
  else if ( layer == 1 )
    if ( result[2] )
      return true
    else
      return false
    end
  else
    return true
  end
 end

 def debug_tileid
  $game_message.texts[0] = @map_tile_tex[0]
  $game_message.texts[1] = @map_tile_tex[1]
  $game_message.texts[2] = @map_tile_tex[2]
 end

 def footstep_check ( footstep, file, layer )
  for i in 0..footstep.length
    if ( ( @map_tile_tex[layer] == footstep[i].to_s ) and ( no_layer_tile? ( layer ) ) )
      Audio.se_play ( file, 100, @next_foot_pitch )
      @last_foot = Graphics.frame_count
      return nil
    end
  end
 end

 def sound_foot
  if ( dash? )
    mul = 6
  else
    mul = 7
  end
  if ( Graphics.frame_count > ( @last_foot + mul ) )
    @map_tile_id = []
    @map_tile_tex = []
    for i in 0..2
      @map_tile_id.push ( $game_map.data[@x, @y, i] )
      @map_tile_tex.push ( @map_tile_id[i].to_s[0,2] )
    end
   
    # Usa "debug_tileid" aquí para traer los números de los tiles actuales
    # Para usarlos con la definición de tileids, camina por ellos en el juego...
   
    if ( @last_foot_pitch == FOOTSTEP_PITCH )
      @next_foot_pitch = FOOTSTEP_PITCH2
      @last_foot_pitch = FOOTSTEP_PITCH2
    else
      @next_foot_pitch = FOOTSTEP_PITCH
      @last_foot_pitch = FOOTSTEP_PITCH
    end
   
    # Suelo
    footstep_check ( FOOTSTEP_GRASS, FOOTSTEP_GRASS_FILE, 0 )
    footstep_check ( FOOTSTEP_DIRT, FOOTSTEP_DIRT_FILE, 0 )
    footstep_check ( FOOTSTEP_SAND, FOOTSTEP_SAND_FILE, 0 )
    footstep_check ( FOOTSTEP_SNOW, FOOTSTEP_SNOW_FILE, 0 )
    footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 )
   
    # Capa 1
    footstep_check ( FOOTSTEP_GRASS_LONG, FOOTSTEP_GRASS_FILE, 1 )
    footstep_check ( FOOTSTEP_DIRT_LONG, FOOTSTEP_DIRT_FILE, 1 )
    footstep_check ( FOOTSTEP_SAND_LONG, FOOTSTEP_SAND_FILE, 1 )
    footstep_check ( FOOTSTEP_SNOW_LONG, FOOTSTEP_SNOW_FILE, 1 )
   
    # Inserta aquí sonidos personalizados
   
  end
 end
end


Instrucciones de uso:
  1. Adicionar el script encima de main
  2. Demás instrucciones pertinentes/relacionadas para hacerlo funcionar vienen en el script, poner atención.



Demostración
No Necesaria



Un Saludo.
Out~





Todos mis aportes por Mediafire tienen contraseña, esa es: www.universomaker.net
Esto es para evitar plagio, asegúrense de copiar y pegar la contraseña.

#2 Re: [RPG Maker VX] Sonido de Pisadas el Sáb Dic 24, 2011 3:50 am

FIGO

avatar
Buen aporte JOse!! Ya vere si lo incorporo en algun proyecto

#3 Re: [RPG Maker VX] Sonido de Pisadas el Sáb Dic 24, 2011 4:30 am

Cuervoso

avatar
Este Script queda bien en los juegos, solo que las pisadas deben escucharse bajas, por que escuchar tan repetidamente los pasos llega a molestar xD.

Creo que deberías agregar el Link de algún "Sonido de Pisada".

En fin, un buen aporte.

Saludos!






Cuervoso! No te pases ¬_¬

#4 Re: [RPG Maker VX] Sonido de Pisadas el Sáb Dic 24, 2011 5:07 pm

Ribbu

avatar
Si queréis ver una demostración, os dejo un video que subí hace tiempo de Imperial Age. Es para RMXP pero el acabado es el mismo.

#5 Re: [RPG Maker VX] Sonido de Pisadas el Lun Ene 23, 2012 5:02 pm

k1000o3237

avatar
hola! muy bueno el script! solo tengo una duda: se puede hacer q suene el mismo tipo de pisada en cualquier terreno? si se puede... como? gracias de antemano Ópalo Contento

#6 Re: [RPG Maker VX] Sonido de Pisadas el Lun Ene 23, 2012 6:03 pm

Razor

avatar
k1000o3237 escribió:hola! muy bueno el script! solo tengo una duda: se puede hacer q suene el mismo tipo de pisada en cualquier terreno? si se puede... como? gracias de antemano Ópalo Contento

Sí se puede, simplemente le pones el mismo numero al terreno para que suene la misma pisada. Es decir todos los terrenos con tag 1 tendrán el mismo sonido de pisada. Para editar los terrenos ve a la base de datos y pulsa la pestaña de tileset, allí esta en elegir terreno y pulsas el numero que quieras.

¡Un Saludo!
Out~





Todos mis aportes por Mediafire tienen contraseña, esa es: www.universomaker.net
Esto es para evitar plagio, asegúrense de copiar y pegar la contraseña.

#7 Re: [RPG Maker VX] Sonido de Pisadas el Lun Ene 23, 2012 8:54 pm

k1000o3237

avatar
hola de nuevo! gracias y disculpa la insistencia pero soy un poco duro:/
pero donde veo el numero de id de los terrenos? eso.. xD
a y encontre algunos SE de pisadas que quisas les sirvan, las encontre en mis documentos y e spor eso q no se a kien le pertenecen para los creditos... las subi al mediafire mediafire.com ?nagez80fo7jcen7

#8 Re: [RPG Maker VX] Sonido de Pisadas el Mar Ene 24, 2012 4:35 am

Razor

avatar
k1000o3237 escribió:hola de nuevo! gracias y disculpa la insistencia pero soy un poco duro:/
pero donde veo el numero de id de los terrenos? eso.. xD
a y encontre algunos SE de pisadas que quisas les sirvan, las encontre en mis documentos y e spor eso q no se a kien le pertenecen para los creditos... las subi al mediafire mediafire.com ?nagez80fo7jcen7

Con tu pequeño aporte completas el mío, gracias por los SE.

Pues como te dije para editar los terrain tag no estoy muy seguro aunque supongo que sigue los mismos pasos que el XP; Base de Datos>Tilesets>Seleccionar terreno

¡Un Saludo!
Out~





Todos mis aportes por Mediafire tienen contraseña, esa es: www.universomaker.net
Esto es para evitar plagio, asegúrense de copiar y pegar la contraseña.

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.