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.