Bueno como dise el titulo como agregar un sonido a una sentencia?
Esto aveces es muy útil como para alguna tienda, menú o algunas otras funciones.
Primeramente necesitamos saber que hay 2 tipos de formatos .mp3 y .wav que cada uno es un procedimiento diferente.
Los formatos .wav son de excelente calidad de audio
Con el detalle que pueden llegar a pesar mucho dependiendo de la duración o calidad.
Esto puede afectar a los usuarios ya que la descarga puede llegar a tardar varios minutos dependiendo el peso del archivo.
Los formatos .mp3 tienen un poco de inferioridad a los .wav ya que tienen una menor calidad que los .wav
Pero los formatos .mp3 tienen mejor compresión comparando con el .wav osea que el tamaño/peso del archivo es menor que el .wav
Este formato tiene un beneficio ya que mejora la rapidez de descarga del archivo.
En fin empecemos con el tutorial.
*** Procedimiento para formato .wav ***
1.- Creamos una const donde tendremos la ubicación de nuestro sonido
Por ejemplo si queremos que nuestro sonido este ubicado en la carpeta: cstrike/sound/mis_sonidos/mi_sonido.wav
Por ahora todo normal hemos puesto la ubicación de nuestro sonido y siempre que llamemos esa función llamara al sonido.
2.- Precacheamos el sonido. Todo sonido tiene que ser precacheado de no precachearlo el sonido no se escuchara o puede producir error en algunas ocasiones.
Porque esto esta dentro de los paréntesis?
Es porque 'SONIDO_WAV' es nuestra dirección para acceder a nuestro sonido como ya lo habíamos hecho anteriormente en el paso anterior.
Perfecto ahora tenemos todo listo solo para llamar a nuestro sonido y emitirlo.
3.- Ahora tenemos todo preparado solo para emitir el sonido, como aremos eso?
client_cmd Con esta función podemos emitir el sonido al jugador
entre comillas "spk %s" porque?
Bueno con spk es la identificación del sonido .wav para reproducirlo
Dentro del %s estamos almacenando la ubicación del sonido y donde esta esa ubicación en nuestra const ' SONIDO_WAV'.
Bueno eso es todo en parte con el formato .wav.
*** Procedimiento para formato .mp3 ***
1.- Creamos una cost para la ubicación de nuestro sonido
por ejemplo si nuestro sonido queremos que este ubicado en la carpeta: cstrike/sound/mi_sonidos/mi_sonido.mp3
Como verán le estoy agregando el directorio 'sound'
Bueno esto es algo que siempre deben agregar cuando es sonido de formato .mp3 de lo contrario no se reproducirá.
2.- Precacheamos el sonido
Bueno igual que la forma anterior esta es la forma que deben precachear el sonido .mp3 de no precachearlo no se reproducirá o puede llegar a dar error.
3.- Sentencia que emitirá el sonido o lo pausara.
Emitir...
Pausar...
De igual forma esto ara que el sonido se reproduzca en donde ustedes lo llamen.
Como verán lo que esta entre comillas "mp3 Play %s" lo mismo estamos identificando que reproducción del sonido .mp3
Y entre comillas "mp3 stop %s" estamos parando el sonido que reproducimos ubicado en nuestra const 'SONIDO_MP3'
*** Procedimiento para emit_sound ***
emit_sound es una funcion la cual hace sonar un sonido según donde este el jugador/objeto.
Por ejemplo si lo llamas en algún objeto el sonido saldra del objeto, un ejemplo claro son las armas el sonido de las balas.
Y se escuchara según la distancia en la que estes mas fuerte o mas bajo.
dato: por lo que yo se solo puede emitir sonidos .wav
1.- Const donde se ubicara nuestro sonido
2.- Pasamos a precachear nuestro sonido
3.- Creamos la función de nuestro sonido
Simplemente cada vez que llamen esa función el sonido se emitirá desde el jugador.
Descripción:
Syntax:
Ahora para que un sonido salga de un objeto.
En este ejemplo para que salga de una granada.
1.- Nuestra const de ubicación del sonido
2.- Precacheamos nuestro sonido
3.- creamos nuestra función con sus respectivos canales.
Y eso es todo el procedimiento solo tienen que llamar esa función donde quieran que se reproduzca su sonido.
Un ejemplo seria cuando la granada explota.
Descripción:
Syntax:
Esto fue todo por el momento actualice mi tutorial porque se un poco mas sobre el tema y se expresarme un poco mejor.
Si tengo algún error o si tienen alguna duda no duden en decirme ya que yo se que no lo ise del todo explicado en algunas partes.
Pueden comentar en lo que falle o si puedo mejorar o ampliar algo espero y les haya servido.
Esto aveces es muy útil como para alguna tienda, menú o algunas otras funciones.
Primeramente necesitamos saber que hay 2 tipos de formatos .mp3 y .wav que cada uno es un procedimiento diferente.
Los formatos .wav son de excelente calidad de audio
Con el detalle que pueden llegar a pesar mucho dependiendo de la duración o calidad.
Esto puede afectar a los usuarios ya que la descarga puede llegar a tardar varios minutos dependiendo el peso del archivo.
Los formatos .mp3 tienen un poco de inferioridad a los .wav ya que tienen una menor calidad que los .wav
Pero los formatos .mp3 tienen mejor compresión comparando con el .wav osea que el tamaño/peso del archivo es menor que el .wav
Este formato tiene un beneficio ya que mejora la rapidez de descarga del archivo.
En fin empecemos con el tutorial.
*** Procedimiento para formato .wav ***
1.- Creamos una const donde tendremos la ubicación de nuestro sonido
Por ejemplo si queremos que nuestro sonido este ubicado en la carpeta: cstrike/sound/mis_sonidos/mi_sonido.wav
Código PHP:
new const SONIDO_WAV[] = { "mi_sonidos/mi_sonido.wav" }
Por ahora todo normal hemos puesto la ubicación de nuestro sonido y siempre que llamemos esa función llamara al sonido.
2.- Precacheamos el sonido. Todo sonido tiene que ser precacheado de no precachearlo el sonido no se escuchara o puede producir error en algunas ocasiones.
Código PHP:
public plugin_precache()
{
precache_sound(SONIDO_WAV)
}
Porque esto esta dentro de los paréntesis?
Es porque 'SONIDO_WAV' es nuestra dirección para acceder a nuestro sonido como ya lo habíamos hecho anteriormente en el paso anterior.
Perfecto ahora tenemos todo listo solo para llamar a nuestro sonido y emitirlo.
3.- Ahora tenemos todo preparado solo para emitir el sonido, como aremos eso?
Código PHP:
client_cmd(id, "spk %s", SONIDO_WAV)
client_cmd Con esta función podemos emitir el sonido al jugador
entre comillas "spk %s" porque?
Bueno con spk es la identificación del sonido .wav para reproducirlo
Dentro del %s estamos almacenando la ubicación del sonido y donde esta esa ubicación en nuestra const ' SONIDO_WAV'.
Bueno eso es todo en parte con el formato .wav.
*** Procedimiento para formato .mp3 ***
1.- Creamos una cost para la ubicación de nuestro sonido
por ejemplo si nuestro sonido queremos que este ubicado en la carpeta: cstrike/sound/mi_sonidos/mi_sonido.mp3
Código PHP:
new const SONIDO_MP3[] = { "sound/mi_sonidos/mi_sonido.mp3" }
Como verán le estoy agregando el directorio 'sound'
Bueno esto es algo que siempre deben agregar cuando es sonido de formato .mp3 de lo contrario no se reproducirá.
2.- Precacheamos el sonido
Código PHP:
public plugin_precache()
{
precache_generic(SONIDO_MP3)
}
Bueno igual que la forma anterior esta es la forma que deben precachear el sonido .mp3 de no precachearlo no se reproducirá o puede llegar a dar error.
3.- Sentencia que emitirá el sonido o lo pausara.
Emitir...
Código PHP:
client_cmd(id, "mp3 play %s", SONIDO_MP3)
Pausar...
Código PHP:
client_cmd(id, "mp3 stop %s", SONIDO_MP3)
De igual forma esto ara que el sonido se reproduzca en donde ustedes lo llamen.
Como verán lo que esta entre comillas "mp3 Play %s" lo mismo estamos identificando que reproducción del sonido .mp3
Y entre comillas "mp3 stop %s" estamos parando el sonido que reproducimos ubicado en nuestra const 'SONIDO_MP3'
*** Procedimiento para emit_sound ***
emit_sound es una funcion la cual hace sonar un sonido según donde este el jugador/objeto.
Por ejemplo si lo llamas en algún objeto el sonido saldra del objeto, un ejemplo claro son las armas el sonido de las balas.
Y se escuchara según la distancia en la que estes mas fuerte o mas bajo.
dato: por lo que yo se solo puede emitir sonidos .wav
1.- Const donde se ubicara nuestro sonido
Código PHP:
new const SONIDO[] = { "mis_sonidos/mi_sonido.wav" }
2.- Pasamos a precachear nuestro sonido
Código PHP:
public plugin_precache()
{
precache_sound(SONIDO)
}
3.- Creamos la función de nuestro sonido
Código PHP:
emit_sound (id, CHAN_VOICE, SONIDO, 0.9, ATTN_NORM, 0, PITCH_NORM)
Simplemente cada vez que llamen esa función el sonido se emitirá desde el jugador.
Descripción:
Código:
CHAN_VOICE - Es el canal que hace que el sonido salga del jugador.
SONIDO - Es nuestra const donde nuestro sonido esta ubicado.
ATTN_NORM - Son los valores de atenuación.
PITCH_NORM - Son los valores de tono
Syntax:
Código PHP:
emit_sound (index, channel, const sample[], Float:vol, Float:att, flags, pitch)
Ahora para que un sonido salga de un objeto.
En este ejemplo para que salga de una granada.
1.- Nuestra const de ubicación del sonido
Código PHP:
new const SONIDO_OBJ[] = { "mis_sonidos/mi_sonido.wav" }
2.- Precacheamos nuestro sonido
Código PHP:
public plugin_precache()
{
precache_sound(SONIDO_OBJ)
}
3.- creamos nuestra función con sus respectivos canales.
Código PHP:
emit_sound(ent, CHAN_BODY, SONIDO_OBJ, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
Y eso es todo el procedimiento solo tienen que llamar esa función donde quieran que se reproduzca su sonido.
Un ejemplo seria cuando la granada explota.
Descripción:
Código:
CHAN_BODY - Es el canal que hace que el sonido salga del objeto.
SONIDO_OBJ - Es nuestra const donde nuestro sonido esta ubicado.
VOL_NORM - Son los valores de volumen.
ATTN_NORM - Son los valores de atenuación.
PITCH_NORM - Son los valores de tono
Syntax:
Código PHP:
emit_sound (index, channel, const sample[], Float:vol, Float:att, flags, pitch)
Esto fue todo por el momento actualice mi tutorial porque se un poco mas sobre el tema y se expresarme un poco mejor.
Si tengo algún error o si tienen alguna duda no duden en decirme ya que yo se que no lo ise del todo explicado en algunas partes.
Pueden comentar en lo que falle o si puedo mejorar o ampliar algo espero y les haya servido.