[REPRODUCTOR MP3]
#1
Música 
REPRODUCTOR MP3

Bueno, como el titulo lo dice, vengo a aportar un Reproductor MP3, que hice para mi comunidad 'Retorno CS', el cual nunca usamos
ya que nuestro FastDL es muy malo y tarda mucho en descargar los precaches XDD..

Les dejo el code con las canciones que tenia en mi pc que utilice para probar el mismo, gente rockera no me insulten  Cutecry

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>

#define PLUGIN "RetornoCS MP3"
#define VERSION "1.0"
#define AUTHOR "Thomikz"
#define PREFIX "[Retorno MP3]"

new const CRO1[] = {"sound/mp3_retorno/biza_cro"}
new const 
CRO2[] = {"sound/mp3_retorno/money" }
new const 
CRO3[] = {"sound/mp3_retorno/carretera"
new const 
CRO4[] = {"sound/mp3_retorno/sangre" }
new const 
BADBUNNY[] = {"sound/mp3_retorno/vete_bad" }
new const 
BADBUNNY1[] = {"sound/mp3_retorno/safaera" }
new const 
BADBUNNY2[] = {"sound/mp3_retorno/jeepeta" }
  
public plugin_init() {
    register_plugin(PLUGINVERSIONAUTHOR)
    
    register_clcmd
("say /musica""musica"


public 
plugin_precache()
{
 
precache_generic(CRO1)
 
precache_generic(CRO2)
 
precache_generic(CRO3
 
precache_generic(CRO4)
 
precache_generic(BADBUNNY)
 
precache_generic(BADBUNNY1)
 
precache_generic(BADBUNNY2)
}

public 
musica(id)

 new 
menu menu_create("\r[Retorno MP3] \wElegi tu musica!!""handler_musica")
 
menu_additem(menu"\r[C.R.O] \w'Bizarrap session'""1")
 
menu_additem(menu"\r[C.R.O] \w'Money'""2")
 
menu_additem(menu"\r[C.R.O] \w'Por la carretera'""3")
 
menu_additem(menu"\r[C.R.O] \w'Sangre'""4")
 
menu_additem(menu"\r[BAD BUNNY] \w'Vete'""5")
 
menu_additem(menu"\r[BAD BUNNY] \w'Safaera'""6")
 
menu_additem(menu"\r[ANUEL x BAD BUNNY] \w'Jeepeta'""7")
 
menu_additem(menu"\rParar la musica!""8")
 
menu_additem(menu"\ySalir""9")
 
 
menu_display(idmenu0)
}

public 
handler_musica(idmenuitem)
{
                                      
    
if(item == MENU_EXIT
    {
        menu_destroy(menu
        return PLUGIN_HANDLED
    
}
    
    
switch(item)
    {
        case 0:
        {
 
client_cmd(id"mp3 play ^"%s^""CRO1)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[C.R.O] 'Bizarrap session'"PREFIX)
 
musica(id
        }
        case 1
        {
 
client_cmd(id"mp3 play ^"%s^""CRO2)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[C.R.O] 'Money'"PREFIX)
 
musica(id
        }
 case 
2:
        {
 
client_cmd(id"mp3 play ^"%s^""CRO3)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[C.R.O] 'Por la carretera'"PREFIX)
 
musica(id)
        }
 case 
3:
        {
 
client_cmd(id"mp3 play ^"%s^""CRO4)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[C.R.O] 'Sangre'"PREFIX)
 
musica(id)
        }
 case 
4:
        {
 
client_cmd(id"mp3 play ^"%s^""BADBUNNY)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[BAD BUNNY] 'Vete'"PREFIX)
 
musica(id)
        }
 case 
5:
        {
 
client_cmd(id"mp3 play ^"%s^""BADBUNNY1)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[BAD BUNNY] 'Safaera'"PREFIX)
 
musica(id)
        }
 case 
6:
        {
 
client_cmd(id"mp3 play ^"%s^""BADBUNNY2)
 
ColorChat(idGREEN"%s ^1Estas escuchando ^4[ANUEL x BAD BUNNY] 'Jeepeta'"PREFIX)
 
musica(id)
        }
 case 
7:
        {
 
client_cmd(id"mp3 stop")
 
ColorChat(idGREEN"%s ^1Paraste la musica :("PREFIX)
 
musica(id)
        }

        case 9:
        {
 
client_cmd(id"chooseteam"//Esto estaba asi, por que el plugin de reproductor MP3 estaba puesto
 
              //En un menu general, que se llamaba con "chooseteam" XD
        }
    }
    return PLUGIN_HANDLED



RECURSOS
Estos son los temas que utilice en el codigo...

Algunas imagenes...


[Imagen: reproductor2.jpg?width=208&height=474]




[Imagen: reproductor1.jpg?width=636&height=474]


si, msi soy yo xd
_______________________________________________
Cada día aprendiendo un poco mas, de eso se trata la vida
_______________________________________________

[Imagen: averahoracapo.jpg]
Responder
#2
Porque no hiciste todo con un for, en los precache, nombres etc...
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#3
(29/06/2020, 01:20 AM)andres_1041 escribió: Porque no hiciste todo con un for, en los precache, nombres etc...

Es mi primer "plugin" de 0, y lo hice hace unos meses, solo se que funcionaba como yo queria, y no tenia errores, solo que cuando te ibas del servidor no te stopeaba la musica, pero no podia hacerlo con client_disconnect ya que si el cliente se va no puedo pararle el mp3 Cutecry, si alguno lo puede hacer me sorprenderia XD
Responder
#4
(29/06/2020, 01:20 AM)andres_1041 escribió: Porque no hiciste todo con un for, en los precache, nombres etc...

no le veo tanto drama total es un plugin muy simple Whatever




aunque ya existen como 4 aportes sobre esto buen aporte por poner a cro Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#5
jajaja gracias man!!! se valora tu comentario Gran sonrisa
Responder
#6
No te insulto solo porque pusiste a C.R.O

EDIT: Podrías mejorarlo je

Responder
#7
(29/06/2020, 02:18 AM)Skylar escribió: No te insulto solo porque pusiste a C.R.O

EDIT: Podrías mejorarlo je


Lo puse a crdios jajajaja, Que le ves malo sky, contame y veo que le puedo hacer, se agradece el comentario bro Sonrisa
Responder
#8
(29/06/2020, 04:03 AM)thomikz15 escribió: Lo puse a crdios jajajaja, Que le ves malo sky, contame y veo que le puedo hacer, se agradece el comentario bro Sonrisa


fijate como se hacen las funciones de for, veras que podes mejorar parte del codigo...

tambien podes usar enums con la constante asi lo haces mas dinamico y te facilita en el menu ja y opciones


Código PHP:
enum _:STRUCT_MUSIC {
    
MUSIC__NAME[64],
    
MUSIC__ID[64]
}
new const 
SOUNDS__MUSIC[][STRUCT_MUSIC] = {
    {
"CRO BIZARAP SHESHION""sound/mp3_retorno/biza_cro"},
    {
"CRO MONEDAS""sound/mp3_retorno/money" },
    {
"CRO PISANDO CARRETERAS WE""sound/mp3_retorno/carretera"},/*IMPORTANTE ESTO DE LAS ", " SI NO UTILIZAS EL AMX 1.9*/
    // vas agregando, los demas....
}
precache
for (new 0sizeof (SOUNDS__MUSIC); i++)
         
precache_generic(SOUNDS__MUSIC[i][MUSIC__ID]);

en el menu
for (new 0sizeof (SOUNDS__MUSIC); i++) 
         
menu_additem(menu, (SOUNDS__MUSIC[i][MUSIC__NAME]));

handled
client_cmd
(id"mp3 play ^"%s^""SOUNDS__MUSIC[key][MUSIC__ID]) 

es para que tengas una idea nomas...
Responder
#9
(29/06/2020, 01:23 AM)Hypnotize escribió: no le veo tanto drama total es un plugin muy simple  Whatever

aunque ya existen como 4 aportes sobre esto buen aporte por poner a cro  Whatever

Sólo decía para que ahorrará más líneas, pero cada uno tiene sus formas de programar, Buen aporte! Mario
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#10
(29/06/2020, 12:16 PM)ivan escribió: fijate como se hacen las funciones de for, veras que podes mejorar parte del codigo...

tambien podes usar enums con la constante asi lo haces mas dinamico y te facilita en el menu ja y opciones


Código PHP:
enum _:STRUCT_MUSIC {
 
MUSIC__NAME[64],
 
MUSIC__ID[64]
}
new const 
SOUNDS__MUSIC[][STRUCT_MUSIC] = {
 {
"CRO BIZARAP SHESHION""sound/mp3_retorno/biza_cro"},
 {
"CRO MONEDAS""sound/mp3_retorno/money" },
 {
"CRO PISANDO CARRETERAS WE""sound/mp3_retorno/carretera"},/*IMPORTANTE ESTO DE LAS ", " SI NO UTILIZAS EL AMX 1.9*/
 // vas agregando, los demas....
}
precache
for (new 0sizeof (SOUNDS__MUSIC); i++)
 
precache_generic(SOUNDS__MUSIC[i][MUSIC__ID]);

en el menu
for (new 0sizeof (SOUNDS__MUSIC); i++) 
 
menu_additem(menu, (SOUNDS__MUSIC[i][MUSIC__NAME]));

handled
client_cmd
(id"mp3 play ^"%s^""SOUNDS__MUSIC[key][MUSIC__ID]) 

es para que tengas una idea nomas...


Sisi, entiendo, pero como lo hice hace meses y no pienso ponerlo en mi comunidad por lo que dije en el post, me da igual, si en algun momento preciso nuevamente este codigo lo hago con for, como me dijiste!!, gracias ivan Whatever
Responder
#11
Te recomiendo este tutorial sobre como utilizar las estructuras de datos con los enum
https://forums.alliedmods.net/showthread.php?t=140103

Buen plugin, si lo puedes optimizar se agradece.
[Imagen: 76561198068808877.png]
Responder
#12
Muchas gracias zoolk Excitedeyes
_______________________________________________
Cada día aprendiendo un poco mas, de eso se trata la vida
_______________________________________________

[Imagen: averahoracapo.jpg]
Responder
#13
(29/06/2020, 01:22 AM)thomikz15 escribió: Es mi primer "plugin" de 0, y lo hice hace unos meses, solo se que funcionaba como yo queria, y no tenia errores, solo que cuando te ibas del servidor no te stopeaba la musica, pero no podia hacerlo con client_disconnect ya que si el cliente se va no puedo pararle el mp3  Cutecry, si alguno lo puede hacer me sorprenderia XD

Una vez instalado tu plugin como lo activo? si no tengo tu mismo menu xd
Responder
#14
(11/07/2020, 04:05 PM)[email protected] escribió: Una vez instalado tu plugin como lo activo? si no tengo tu mismo menu xd

Si lees en plugin_init
te dice lo siguiente:

Código PHP:
register_clcmd("say /musica""musica"
_______________________________________________
Cada día aprendiendo un poco mas, de eso se trata la vida
_______________________________________________

[Imagen: averahoracapo.jpg]
Responder
#15
pasaria el que yo hice, pero el mio mas q una /musica es un /radio, que suena una musica aleatoria para todos los jugadores. Gran sonrisa
Responder
#16
(03/08/2020, 02:38 AM)alexiways escribió: pasaria el que yo hice, pero el mio mas q una /musica es un /radio, que suena una musica aleatoria para todos los jugadores. Gran sonrisa

#datazo
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#17
algo a si?

Código PHP:
public SelecionarCancionAutomatica()
{
 if(
g_total_canciones 0//check si hay musicas, tomaria el valor de la musica de la casilla 0, pero para corroborar igual que hallas las demas canciones.
 
{
 
g_radiocancionsonando random(g_total_canciones); //coloca un tema aleatorio a g_radiocancionsonando
 
 
new Float:Duracion str_to_float(g_szDuracionCancion[g_radiocancionsonando]) * 60 //aca obtengo la duracion de la musica Ejemplo "2.40"
 
 
ReproducirMusica("1"//Lleva al Reproductor de los players que estan escuchando la radio
 
 
set_task(Duracion"SelecionarCancionAutomatica"TASKReproduciendoCancion); //Hacemos un set_task para que dsp del tiempo pasado elija otra cancion aleatoria.
 
 
console_print(0"Se Seleciono la Cancion: %s"g_szNombreCancion[g_radiocancionsonando]) //Print para consola server, para ver que musica selecciono
 
}


algo simple pero me funciono.
(29/06/2020, 01:14 AM)thomikz15 escribió: ya que nuestro FastDL es muy malo y tarda mucho en descargar los precaches XDD..

Usa 000Host, lo use y me andubo de maravilla, demoraba como maximo unos 10seg en cargar todos los temas.

Mira

[Imagen: b3a5E2U8TKmH9Lkjym-ssA.png]
Responder
#18
Buen aporte. Aunque dato curioso, el plugin no me reconoce los formatos mp3 que tienen imagen, por lo que tengo eliminar dichos datos con un programa o volverlo a descargar.

Es capa que talves a uno o otro usuario le suceda eso.
Responder
#19
em, para mi todo depende la descarga, creo que el mismo juego descarga el mp3 en un formato de baja calidad. Hasta ahora subi musicas de formato 320kpps bajadas de plataformas como Dezzer y no me paso ese error.

Nose pero dsd que aprendi a usar mysql, me obsesione y arme cosas para manejar dsd paneles web Gran sonrisa

Otra idea mas si queres, es lo que yo arme, el poder hacer que los admins, sean djs y hacer que ellos elijar una cancion y todos la que la escuchan la reproduscan.

[Imagen: o8c7euFTR9ek8CdYcpYg7Q.png]

La mejor parte de esto es que es automatico, y sabes que se puede hacer, nose si a todos le sale pero a mi en mi CS Steam, la musica se reproduce estando fuera del game, y sabes como config mis plugins y la musica de fondo ? Puffff
Responder
#20
(03/08/2020, 04:31 PM)alexiways escribió: em, para mi todo depende la descarga, creo que el mismo juego descarga el mp3 en un formato de baja calidad. Hasta ahora subi musicas de formato 320kpps bajadas de plataformas como Dezzer y no me paso ese error.

Nose pero dsd que aprendi a usar mysql, me obsesione y arme cosas para manejar dsd paneles web Gran sonrisa

Otra idea mas si queres, es lo que yo arme, el poder hacer que los admins, sean djs y hacer que ellos elijar una cancion y todos la que la escuchan la reproduscan.

[Imagen: o8c7euFTR9ek8CdYcpYg7Q.png]

La mejor parte de esto es que es automatico, y sabes que se puede hacer, nose si a todos le sale pero a mi en mi CS Steam, la musica se reproduce estando fuera del game, y sabes como config mis plugins y la musica de fondo ? Puffff

a nadie le importa lo que hayas aprendido o logrado pendejo

Responder
#21
(03/08/2020, 04:31 PM)alexiways escribió: em, para mi todo depende la descarga, creo que el mismo juego descarga el mp3 en un formato de baja calidad. Hasta ahora subi musicas de formato 320kpps bajadas de plataformas como Dezzer y no me paso ese error.

Nose pero dsd que aprendi a usar mysql, me obsesione y arme cosas para manejar dsd paneles web Gran sonrisa

Otra idea mas si queres, es lo que yo arme, el poder hacer que los admins, sean djs y hacer que ellos elijar una cancion y todos la que la escuchan la reproduscan.

[Imagen: o8c7euFTR9ek8CdYcpYg7Q.png]

La mejor parte de esto es que es automatico, y sabes que se puede hacer, nose si a todos le sale pero a mi en mi CS Steam, la musica se reproduce estando fuera del game, y sabes como config mis plugins y la musica de fondo ? Puffff

[Imagen: 790bbb9740bce0bf182459dafac5cd7f.png]
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#22
(03/08/2020, 02:38 AM)alexiways escribió: pasaria el que yo hice, pero el mio mas q una /musica es un /radio, que suena una musica aleatoria para todos los jugadores. Gran sonrisa

Y pasalo bro, aunque no creo que sea tan complejo de hacer Gran sonrisa

Supongo que sabras bastante, mas con las cosas que pedis en "PEDIDOS DE PLUGINS"
_______________________________________________
Cada día aprendiendo un poco mas, de eso se trata la vida
_______________________________________________

[Imagen: averahoracapo.jpg]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)