Sonido final de la ronda (v1.1)
#1
Buenos Días/Tardes/Noches. Como están todos hoy les vengo aportar este plugin que realice en aburrimiento total.

¿En que consiste?, Fácil al terminar la ronda comienza a sonar alguna de las 2 canciones aleatorio por equipo, Le he removido las cvars y he agregado las opciones /on & /off .

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new bool:iMusica[33]

new const 
SonidoTT[][] = { "sound/sonido_tt.mp3""sound/sonido_tt2.mp3" }

new const 
SonidoCT[][] = { "sound/sonido_ct.mp3""sound/sonido_ct2.mp3" }

public 
plugin_precache()
{
    for(new 
id 0id sizeof(SonidoTT); id++)
        
precache_generic(SonidoTT[id])
    
    for(new 
id 0id sizeof(SonidoCT); id++)
        
precache_generic(SonidoCT[id])
}

public 
client_putinserver(id)
{
    
iMusica[id] = true
}

public 
plugin_init()
{
    
register_plugin("Sonido Final Ronda""1.1""OsweRRR")
    
    
register_logevent("Final_Ronda"2"1=Round_End")
    
    
register_clcmd("say /on","MusicaON")
    
register_clcmd("say /off","MusicaOFF")
    
    
set_task(60.0"mensaje"___"b")
}

public 
mensaje(id)
{
    
client_print(idprint_chat"[AMXX] Escribe /on para activar los sonidos & /off para desactivar los sonidos del fin de ronda!.")
}

public 
Final_Ronda()
{
    for(new 
id 1id <= get_maxplayers() ;id++)
    {
        if(
is_user_connected(id))
        {
            if(
get_user_team(id) == )
            {
                if(
iMusica[id] == true)
                {
                    
client_cmd(id"mp3 play %s",SonidoCT[random_num(0,sizeof(SonidoCT)-1)])
                }
                else
                if(
iMusica[id] == false)
                {
                    
client_print(idprint_chat"[AMXX] No escuchas nada porque desactivaste el sonido final solo para ti.")
                }
            }
            else
            if(
get_user_team(id) == )
            {
                if(
iMusica[id] == true)
                {
                    
client_cmd(id"mp3 play %s",SonidoTT[random_num(0,sizeof(SonidoTT)-1)])
                }
                else
                if(
iMusica[id] == false)
                {
                    
client_print(idprint_chat"[AMXX] No escuchas nada porque desactivaste el sonido final solo para ti.")
                }
            }
        }
    }
}

public 
MusicaOFF(id)
{
    if(
iMusica[id] == false)
    {
        
client_print(idprint_chat"[AMXX] Ya tienes desactivados los sonidos, No hace falta que lo vuelvas hacer!.")
        return
    }
    else
    {
        
iMusica[id] = false
        client_print
(idprint_chat"[AMXX] Ya no escucharas los sonidos al final de la ronda!.")
    }
}

public 
MusicaON(id)
{
    if(
iMusica[id] == true)
    {
        
client_print(idprint_chat"[AMXX] Ya tienes activado los sonidos, No hace falta que lo vuelvas hacer!.")
        return
    }
    else
    {
        
iMusica[id] = true
        client_print
(idprint_chat"[AMXX] Ahora ya puedes escuchar los sonidos al final de la ronda.")
    }


He añadido 2 comandos.

/on <- Para que el user pueda escuchar las músicas.
/off <- Por si el user lo desea no escuchara las músicas.

Versión vieja pacman
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new g_maxplayers

const RamdonTT /* Si agregaste mas de 2 sonidos de TT, Cambia el 2 por el # de sonidos que agregaste */

const RamdonCT /* Si agregaste mas de 2 sonidos de CT, Cambia el 2 por el # de sonidos que agregaste */

new const SonidoTT[RamdonTT][] = { "sound/sonido_tt.mp3""sound/sonido_tt2.mp3" }

new const 
SonidoCT[RamdonCT][] = { "sound/sonido_ct.mp3""sound/sonido_ct2.mp3" }

public 
plugin_precache()
{
    for(new 
id 0id sizeof(SonidoTT); id++)
    {
        
precache_generic(SonidoTT[id])
    }
    
    for(new 
id 0id sizeof(SonidoCT); id++)
    {
        
precache_generic(SonidoCT[id])
    }
}

public 
plugin_init()
{
    
register_plugin("Sonido Final Ronda""1.0""OsweRRR")
    
    
register_logevent("Final_Ronda"2"1=Round_End")
    
    
register_cvar("amx_sonido_final_ct""2")
    
    
register_cvar("amx_sonido_final_tt""2")
    
    
g_maxplayers get_maxplayers()
}

public 
Final_Ronda()
{
    for(new 
id 1id <= g_maxplayers;id++)
    {
        if(
is_user_connected(id))
        {
            if(
get_user_team(id) == )
            {
                if(
get_playersnum() < get_cvar_num("amx_sonido_final_ct"))
                {
                    
client_print(idprint_chat"[AMXX] Se necesita %i Jugadores, Para los sonidos al final de la ronda."get_cvar_num("amx_sonido_final_ct"))
                    return;
                }
                
                new 
i;
                
random_num(0RamdonCT -1)
                
                
client_cmd(id"mp3 play %s",SonidoCT[i])
            }
            else
            if(
get_user_team(id) == )
            {
                if(
get_playersnum() < get_cvar_num("amx_sonido_final_tt"))
                {
                    
client_print(idprint_chat"[AMXX] Se necesita %i Jugadores, Para los sonidos al final de la ronda."get_cvar_num("amx_sonido_final_tt"))
                    return;
                }
                
                new 
i;
                
random_num(0RamdonTT -1)
                
                
client_cmd(id"mp3 play %s",SonidoTT[i])
            }
        }
    }


Les he dejado las canciones en un .zip con las que estuve probando el plugin.
Se que ya hay un plugin de esto pero esta en el alliedmodders oficial, No se si haya uno como en el oficial acá en el alliedmodders - español.


Archivos adjuntos
.zip   sound.zip (Tamaño: 856.95 KB / Descargas: 73)
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#2
Oh god whyOh god whyOh god whyOh god why
Responder
#3
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why
Oh god whyOh god whyOh god whyOh god why
buen aporte Nothingdohere

PD:
1. estas consiguiendo mal el valor de las cvars
~Digito ergo sum~
Responder
#4
Ya hay uno Oh god why pero bueno la intensión es buena no e visto el round sound aquí en el español buen aporte no e visto el code lo probare y veo si funciona Nothingdohere
* Ing. Informático * Mapper * Venezolano
Responder
#5
Modo "Arkshine copia barata" ON

Código PHP:
#include <amxmodx>
#include <file>

#define PLUGIN "Nuevo Plugin"
#define VERSION "1.0"
#define AUTHOR "Sugisaki"

#define MAXSOUNDS 15


new const FILE[] = "roundsounds.ini"

new szSounds_CT[MAXSOUNDS][50]
new 
szSounds_TT[MAXSOUNDS][50]

new 
count_ctcount_tt

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_message(get_user_msgid("SendAudio"), "pfn_Hook_SendAudio")

}

load_sounds()
{
    new 
fhconfigsdir[38], file[sizeof configsdir 20], linedata[50], arg1[50], arg2[4]
    
get_localinfo("amxx_configsdir"configsdircharsmax(configsdir))
    
formatex(filecharsmax(file), "%s/%s"configsdirFILE)
    
    if(!
file_exists(file))
    {
        
set_fail_state("Archivo de configuracion no existe")
        return 
    }
    
    
fh fopen(file,"rt")
    
    if(!
fh)
    {
        
set_fail_state("No se pudo abrir el archivo de configuracion")
        return
    }
    while (!
feof(fh))
    {
        
fgets(fhlinedatacharsmax(linedata))
        
        
replace(linedatacharsmax(linedata), "^n""")
        
        if (
linedata[0] == ';' || !linedata[0]) continue
        
        
parse(linedataarg1charsmax(arg1), arg2charsmax(arg2))
        
        if(
arg2[0] == 'C')
        {
            if(
count_ct MAXSOUNDS)
            {
                
formatex(szSounds_CT[count_ct], charsmax(szSounds_CT[]), arg1)
                
count_ct++
            }
            else
                continue

        }
        else if(
arg2[0] == 'T')
        {
            if(
count_tt MAXSOUNDS)
            {
                
formatex(szSounds_TT[count_tt], charsmax(szSounds_TT[]), arg1)
                
count_tt++
            }
            else
                continue

        }
    }
    
fclose(fh)
}

public 
plugin_precache()
{
    
load_sounds()
    
    for(new 
sizeof szSounds_CT i++)
    {
        if(!
szSounds_CT[i][0]) continue
        
precache_generic(szSounds_CT[i])
    }
    for(new 
sizeof szSounds_TT i++)
    {
        if(!
szSounds_TT[i][0]) continue
        
precache_generic(szSounds_TT[i])
    }
}
PlaySound(id, const sound[])
{
    
client_cmd(id"mp3 play %s"sound)
}
public 
pfn_Hook_SendAudio(mei)
{    
    static 
out[18]
    
get_msg_arg_string(2outcharsmax(out))
    
    if(
equali(out"%!MRAD_terwin"))
    {
        if(!
count_tt) return PLUGIN_CONTINUE
        PlaySound
(iszSounds_TT[random_num(0count_tt 1)])
        return 
PLUGIN_HANDLED
    
}
    else if(
equali(out"%!MRAD_ctwin"))
    {
        if(!
count_ct) return PLUGIN_CONTINUE
        PlaySound
(iszSounds_CT[random_num(0count_ct 1)])
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE


crear un archivo roundsounds.ini en config, siguiendo este formato

roundsounds.ini
Código:
"sound/puta_carpeta/putosonido.mp3" "T"
"sound/puta_carpeta/putosonido2.mp3" "C"

también :
Código:
"sound/puta_carpeta/putosonido.mp3" "TT",
"sound/puta_carpeta/putosonido.mp3" "Tsddadasd"
"sound/puta_carpeta/putosonido2.mp3" "Casdasdasda"

siempre y cuando lleve una puta "T" o "C" mayúscula al inicio

PD: De arkloco no tome nada de su code... lel
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#6
(17/10/2015, 09:40 PM)Sugisaki escribió: Modo "Arkshine copia barata" ON

Código PHP:
#include <amxmodx>
#include <file>

#define PLUGIN "Nuevo Plugin"
#define VERSION "1.0"
#define AUTHOR "Sugisaki"

#define MAXSOUNDS 15


new const FILE[] = "roundsounds.ini"

new szSounds_CT[MAXSOUNDS][50]
new 
szSounds_TT[MAXSOUNDS][50]

new 
count_ctcount_tt

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_message(get_user_msgid("SendAudio"), "pfn_Hook_SendAudio")

}

load_sounds()
{
    new 
fhconfigsdir[38], file[sizeof configsdir 20], linedata[50], arg1[50], arg2[4]
    
get_localinfo("amxx_configsdir"configsdircharsmax(configsdir))
    
formatex(filecharsmax(file), "%s/%s"configsdirFILE)
    
    if(!
file_exists(file))
    {
        
set_fail_state("Archivo de configuracion no existe")
        return 
    }
    
    
fh fopen(file,"rt")
    
    if(!
fh)
    {
        
set_fail_state("No se pudo abrir el archivo de configuracion")
        return
    }
    while (!
feof(fh))
    {
        
fgets(fhlinedatacharsmax(linedata))
        
        
replace(linedatacharsmax(linedata), "^n""")
        
        if (
linedata[0] == ';' || !linedata[0]) continue
        
        
parse(linedataarg1charsmax(arg1), arg2charsmax(arg2))
        
        if(
arg2[0] == 'C')
        {
            if(
count_ct MAXSOUNDS)
            {
                
formatex(szSounds_CT[count_ct], charsmax(szSounds_CT[]), arg1)
                
count_ct++
            }
            else
                continue

        }
        else if(
arg2[0] == 'T')
        {
            if(
count_tt MAXSOUNDS)
            {
                
formatex(szSounds_TT[count_tt], charsmax(szSounds_TT[]), arg1)
                
count_tt++
            }
            else
                continue

        }
    }
    
fclose(fh)
}

public 
plugin_precache()
{
    
load_sounds()
    
    for(new 
sizeof szSounds_CT i++)
    {
        if(!
szSounds_CT[i][0]) continue
        
precache_generic(szSounds_CT[i])
    }
    for(new 
sizeof szSounds_TT i++)
    {
        if(!
szSounds_TT[i][0]) continue
        
precache_generic(szSounds_TT[i])
    }
}
PlaySound(id, const sound[])
{
    
client_cmd(id"mp3 play %s"sound)
}
public 
pfn_Hook_SendAudio(mei)
{    
    static 
out[18]
    
get_msg_arg_string(2outcharsmax(out))
    
    if(
equali(out"%!MRAD_terwin"))
    {
        if(!
count_tt) return PLUGIN_CONTINUE
        PlaySound
(iszSounds_TT[random_num(0count_tt 1)])
        return 
PLUGIN_HANDLED
    
}
    else if(
equali(out"%!MRAD_ctwin"))
    {
        if(!
count_ct) return PLUGIN_CONTINUE
        PlaySound
(iszSounds_CT[random_num(0count_ct 1)])
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE


crear un archivo roundsounds.ini en config, siguiendo este formato

roundsounds.ini
Código:
"sound/puta_carpeta/putosonido.mp3" "T"
"sound/puta_carpeta/putosonido2.mp3" "C"

también :
Código:
"sound/puta_carpeta/putosonido.mp3" "TT",
"sound/puta_carpeta/putosonido.mp3" "Tsddadasd"
"sound/puta_carpeta/putosonido2.mp3" "Casdasdasda"

siempre y cuando lleve una puta "T" o "C" mayúscula al inicio

PD: De arkloco no tome nada de su code... lel

Arkshine no reservaría (2*15*50*4*8=48 000) bits cuando puede que se usen menos de 500 Oh god why
Responder
#7
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#8
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#9
(17/10/2015, 11:55 PM)kikizon2 escribió:
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why

Fue buen aporte son 2 xd
* Ing. Informático * Mapper * Venezolano
Responder
#10
(17/10/2015, 10:09 PM)Mario AR. escribió: Arkshine no reservaría (2*15*50*4*8=48 000) bits cuando puede que se usen menos de 500 Oh god why

Creo que dije Copia barata Oh god why Genius
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#11
(17/10/2015, 11:55 PM)kikizon2 escribió:
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why

Al menos intente hacer algo. Whatdone


(17/10/2015, 05:29 PM)ImBuggimen escribió: 1. estas consiguiendo mal el valor de las cvars

a que te refieres ? yo lo veo bien.
Código PHP:
if(get_user_team(id) == )
            {
                if(
get_playersnum() < get_cvar_num("amx_sonido_final_ct"))
                {
// Si no hay x cantidad de jugadores la función retorna y no sigue.
                    
client_print(idprint_chat"[AMXX] Se necesita %i Jugadores, Para los sonidos al final de la ronda."get_cvar_num("amx_sonido_final_ct"))
                    return;
                }
                
                new 
i;
                
random_num(0RamdonCT -1)
                
                
client_cmd(id"mp3 play %s",SonidoCT[i])
            } 
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#12
(18/10/2015, 10:03 AM)OsweRRR escribió:
(17/10/2015, 11:55 PM)kikizon2 escribió:
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why

Al menos intente hacer algo. Whatdone


(17/10/2015, 05:29 PM)ImBuggimen escribió: 1. estas consiguiendo mal el valor de las cvars

a que te refieres ? yo lo veo bien.

no veo cual es el error con eso????? eso depende de cada quien usar get_pcvar o get_cvar si es a eso que te refieres Genius
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#13
si colocas de precache primero lo mejor seria colocar las cvars en plugin_cfg o en precache mismo
~Digito ergo sum~
Responder
#14
(18/10/2015, 10:12 AM)Sugisaki escribió:
(18/10/2015, 10:03 AM)OsweRRR escribió:
(17/10/2015, 11:55 PM)kikizon2 escribió:
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why

Al menos intente hacer algo. Whatdone


(17/10/2015, 05:29 PM)ImBuggimen escribió: 1. estas consiguiendo mal el valor de las cvars

a que te refieres ? yo lo veo bien.

no veo cual es el error con eso????? eso depende de cada quien usar get_pcvar o get_cvar si es a eso que te refieres Genius

No tiene caso usar get_cvar_* a menos que sea una única vez; es un desperdicio de recursos no usar pointers (pcvars).
Responder
#15
Plugin actualizado a la v1.1 Genius

+ Agregue 2 comandos, /on & /off.
- Removí las cvars.
+ Arregle otras tonterías hay Crab
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#16
switch de get user team es mas limpiesito e.e

else if esta de mas con else basta y un par de cositas que no tienen importancia Gran sonrisa
~Digito ergo sum~
Responder
#17
Me pregunto para que agregas true o false, es tan innecesario, podrias hacer 1 y 0, y armarlo switch y te ahorras mas de 20 lineas facilmente.

Te digo para la siguiente vez si queres facilitarte el trabajo pero si no queres pues siguelo asi. nadie te obliga Whatever
Responder
#18
if( iMusica[id] == true )

---- >

if ( iMusica[ id ] ) // como mas te guste e-e

if( iMusica[id] == false )


----------->

if( !iMusica[id] )

// como mas te guste e-e queda a tu decision
~Digito ergo sum~
Responder
#19
(14/11/2015, 03:45 PM)josue9243 escribió: Me pregunto para que agregas true o false, es tan innecesario, podrias hacer 1 y 0, y armarlo switch y te ahorras mas de 20 lineas facilmente.

(14/11/2015, 03:48 PM)ImBuggimen escribió: if( iMusica[id] == true )

---- >

if ( iMusica[ id ] ) // como mas te guste e-e

if( iMusica[id] == false )


----------->

if( !iMusica[id] )

// como mas te guste e-e queda a tu decision

No me paso por la mente usar switch ahora lo arreglo Rainbow

gracias.
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#20
algo haci con switch lo haces tu ando desde el celular xd
Código PHP:
public Final_Ronda( ) { 
    
    for ( new 
id 1id <= get_maxplayers( ); ++id ) {
        
        if ( !
is_user_connectedid ) ) 
            continue;
            
        switch( 
get_user_teamid ) ) {
            
            case 
2: { 
                
                if ( 
iMusicaid ] ) {
                    
                    
client_cmdid"mp3 play %s"SonidoCTrandom_num0charsmaxSonidoCT ) ] );
                else 
                    
client_print(idprint_chat"[AMXX] No escuchas nada porque desactivaste el sonido final solo para ti.")
    
// cooooooodeeeeeeeeee -............................ 
~Digito ergo sum~
Responder
#21
(18/10/2015, 12:09 AM)Nazi.- escribió:
(17/10/2015, 11:55 PM)kikizon2 escribió:
(17/10/2015, 10:21 PM)Federicomb escribió:
(17/10/2015, 05:16 PM)meTaLiCroSS escribió: Oh god whyOh god whyOh god whyOh god why
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#22
Oh god whyOh god whyOh god whyOh god why

Che serían amables de decirme los nombres de las canciones? pacman
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#23
buen aporteWhatever puede que sea copiado pero viene del amxmodx oficial esta bien que lo hayas hecho venir aca en amxmodx es Approved
[Imagen: 76561198258768928.png][Imagen: AddFriend.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)