Sonido (Parte1)

Existen varias formas de añadir sonido a tu mapa,
esta es una de ellas.

He colocado un barril con madera quemada en mi mapa de pruebas,

luego he creado los eféctos de fuego y humo porque para este ejemplo necesito tener creados corréctamente los archivos:

maps/mp/mp_nombredetumapa_fx.gsc
maps/createfx/
mp_nombredetumapa_fx.gsc

Quiero hacer que este barril ademas de emitír fuego y humo, tambien emita sonido cuando alguien esté cerca de el.

Todos los sonidos estan controlados por los ¨soundaliases¨ que están en:

raw/soundaliases/multiplayer.csv y common.csv

Pero no pueden usarse diréctamente porque algunos son específicos para mapas de SP y MP de ¨STOCK¨, lo que debes hacer es crear tu propio ¨soundalias¨.

SOUNDALIAS
En la carpeta ¨raw/soundaliases¨ crea un archivo de texto llamado ¨mp_nombredetumapa.csv¨.

Abre con un editor de texto el archivo ¨multiplayer.csv ¨que está en esa misma carpeta y te encontraras con una lista extensa como esta.


Copia la linea del efécto de sonido que te interece, en mi caso:

# Fires - NEW (quiet levels),,,,,,,,,,,,,,,,,,,,,,,,,,,,
fire_metal_medium,,fire/fire_metal_med1v2.wav,0.4,0.45,explosion,0.95,1.05,7,550,auto,streamed,,rlooping,0.85,all_mp,,,,,,,,,,,,,


y pégala en el archivos que has creado. Observa que en algunas de las lineas del archivo ¨multiplayer.csv¨ dice al final nombre de otros mapas como ¨mp_citysctreets¨ y ¨mp_bog¨, en caso de que quieras usar unos de esos efectos de sonido, tendras que copiar la linea completa, eliminar esa parte y escribir en su lugar ¨all_mp¨.

Otra cosa, la primera parte de la linea que hemos copiado corresponde al nombre del efécto ¨fire_metal_medium¨ y la usaré en el siguiente paso.

lo siguiente es abrir el archivo ¨maps/mp/mp_nombredetumapa_fx.gsc¨ y añadir esta linea:

level.scr_sound["fire_metal_medium"] = "fire_metal_medium";

yo tengo algo asi:

main()
{

level._effect[ "fire" ] = loadfx("fire/firelp_small_pm");
level._effect[ "smoke" ] = loadfx("smoke/thin_black_smoke_M");
level.scr_sound["fire_metal_medium"] = "fire_metal_medium";

/#
if ( getdvar( "clientSideEffects" ) != "1" )
maps\createfx\mp_practice1_fx::main();
#/

}

Y en el archivo ¨maps/createfx/mp_nombredetumapa_fx.gsc¨ añado la siguiente linea:

ent.v[ "soundalias" ] = "fire_metal_medium";

Yo tengo algo como esto:

main()
{

ent = maps\mp\_utility::createOneshotEffect( "fire/firelp_small_pm");
ent.v[ "origin" ] = ( 1024, 1152, 72 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "fire";
ent.v[ "delay" ] = -3;
ent.v[ "soundalias" ] = "fire_metal_medium"; <-------- Aquí

ent = maps\mp\_utility::createOneshotEffect( "smoke/thin_black_smoke_M");
ent.v[ "origin" ] = ( 1024, 1152, 72 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "smoke";
ent.v[ "delay" ] = -3;

}

Así el sonido estará justo en el lugar donde se produce el efécto.

Finalmente añado esta linea a mi zone File:

sound,fire_metal_medium,,all_mp

Compila y crea tu Fast File.

Fin de la primera parte.