View Single Post
Author Message
Javivi
AlliedModders Donor
Join Date: Dec 2008
Old 12-14-2009 , 16:11   [ES][TUT] Añadir tu propio sonido a un modo (4.2 & 4.3)
#1

Es muy fácil, pero me lo preguntaron, y por si acaso alguien más tiene la duda, pues lo pongo o.o

Como añadir tu propio sonido/s a un modo

Primero pensemos lo que queremos hacer, muchas veces (casi siempre xD) algo muy similar o parecido a lo que queremos hacer ESTA YA hecho pero en otra parte, o a medias.


v4.2


Vaya que casualidad, si justo mirando el modo survivor he visto esto
PHP Code:
PlaySound(sound_survivor[random_num(0sizeof sound_survivor -1)]); 
Y luego por cualquier remoto se me ha ocurrido buscar en el .sma "sound_survivor" y mira lo que he encontrado!
PHP Code:
new const sound_survivor[][] = { "zombie_plague/survivor1.wav""zombie_plague/survivor2.wav" 
Y luego, pues le di a buscar otra vez y salió esto
PHP Code:
    for (0sizeof sound_survivori++)
        
engfunc(EngFunc_PrecacheSoundsound_survivor[i]) 

Creo que ya se lo que tengo que hacer...

PHP Code:
// Justo abajo de sound_survivor
new const sound_mimodosuperguay[][] = { "zombie_plague/lalala1.wav""zombie_plague/lalala2.wav" }
 
// creamos una constante con los sonidos que queremos


// en el plugin_precache, justo abajo del sound_survivor
for (0sizeof sound_mimodosuperguayi++) 
// cargar todos los sonidos de sound_mimodosuperguay
    
engfunc(EngFunc_PrecacheSoundsound_mimodosuperguay[i])


// en mimodosuperguay
PlaySound(sound_mimodosuperguay[random_num(0sizeof sound_mimodosuperguay -1)]); // reproducir un sonido aleatoriamente 
v4.3

Aqui ya no tengo ganas de escribir mucho, asi que lo cuento normal ;)


Vamos al zombieplague.ini y en la parte de [Sounds] añadimos una linea que ponga
Code:
ROUND LALALA = zombie_plague/lalala1.wav , zombie_plague/lalala2.wav
// Luego desde esta linea se cargaran los sonidos

Buscamos // Customization vars y añadimos
PHP Code:
Array:sound_lalala // creamos un array, sound_lalala 

Luego en el plugin_precache, buscamos
PHP Code:
sound_plague ArrayCreate(641
Y abajo ponemos
PHP Code:
sound_lalala ArrayCreate(641

Buscamos en el sma else if (equal(key, "ROUND PLAGUE"))
Y veremos esto
PHP Code:
                else if (equal(key"ROUND PLAGUE"))
                {
                    
// Parse sounds
                    
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
                    {
                        
// Trim spaces
                        
trim(key)
                        
trim(value)
                        
                        
// Add to sounds array
                        
ArrayPushString(sound_plaguekey)
                    }
                } 
Pues justo abajo, antes de GRENADE INFECT EXPLODE añadimos
PHP Code:
// Si en el zombieplague.ini se lee ROUND LALALA
                
else if (equal(key"ROUND LALALA"))
                {
                    
// procesamos los sonidos escritos en ROUND LALALA
                    
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
                    {
                        
// Trim spaces
                        
trim(key)
                        
trim(value)
                        
                        
// Los añadimos al Array sound_lalala
                        
ArrayPushString(sound_lalalakey)
                    }
                } 


Mas abajo todabia en el precache, buscamos
PHP Code:
    for (0ArraySize(sound_plague); i++)
    {
        
ArrayGetString(sound_plagueibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    } 
Y añadimos abajo

PHP Code:
// Aqui cargaremos todos los sonidos del array de sound_lalala
    
for (0ArraySize(sound_lalala); i++)
    {
        
ArrayGetString(sound_lalalaibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    } 

En nuestro modo, ponemos
PHP Code:
// Obtenemos desde el array sound_lalala aleatoriamente el sonido
        
ArrayGetString(sound_lalalarandom_num(0ArraySize(sound_lalala) - 1), soundcharsmax(sound))
        
PlaySound(sound); // y lo reproducimos 


et voilà
__________________
Javivi is offline