09.09.2016, 00:42
Buenas amig@s de forum samp, otra vez vengo en busca de ayude con ustedes ( de antemano les digo gracias ).
El problema es que estoy haciendo o bueno termine un sistema de musica MySQL, el sistema funciona bien en si, reproduce la cancion correcta, pero ocurre el fallo cuando mas de un jugador esta utilizando el menu de las canciones ya que cuando un jugador genera una consulta puede venir otro y se la 'arruina' por asi decir.
La idea es ї Como hago para mantener una consulta (tabla) mientras el jugador elige ?
Aca les dejo el codigo en los dialogos que es donde estan las consultas:
El problema es que estoy haciendo o bueno termine un sistema de musica MySQL, el sistema funciona bien en si, reproduce la cancion correcta, pero ocurre el fallo cuando mas de un jugador esta utilizando el menu de las canciones ya que cuando un jugador genera una consulta puede venir otro y se la 'arruina' por asi decir.
La idea es ї Como hago para mantener una consulta (tabla) mientras el jugador elige ?
Aca les dejo el codigo en los dialogos que es donde estan las consultas:
PHP код:
case DIALOGO_MUSICA_PRINCIPAL:
{
if(response)
{
mysql_format(h_MySQL, g_Consulta[playerid], GLOBAL_QUERY_SIZE, "SELECT "TABLA_CARPETA".carp_id As 'GeneroID', "TABLA_CARPETA".carp_nombre As 'Genero', COUNT( "TABLA_CANCION".can_id ) As '#' FROM "TABLA_CARPETA" LEFT JOIN "TABLA_CANCION" ON "TABLA_CANCION".carp_id = "TABLA_CARPETA".carp_id GROUP BY "TABLA_CARPETA".carp_nombre");
mysql_query(h_MySQL, g_Consulta[playerid]);
new f_InfDialogo[230] = "Genero\tTotal",
f_Genero[30],
f_Canciones;
for(new b = 0; b < cache_num_rows(); b++)
{
cache_save_string(b,"Genero",f_Genero);
cache_save_int(b,"#",f_Canciones);
strcat(f_InfDialogo, sprintf("\n%s\t%d",f_Genero, f_Canciones));
}
ShowPlayerDialog(playerid, DIALOGO_MUSICA_CARPETAS, DIALOG_STYLE_TABLIST_HEADERS, "Reproductor de Mъsica", f_InfDialogo, "Ver","Atrбs");
}
}
case DIALOGO_MUSICA_CARPETAS:
{
if(!response)
{
mysql_format(h_MySQL, g_Consulta[playerid], GLOBAL_QUERY_SIZE, "SELECT COUNT("TABLA_CANCION".can_id) As 'tot_canciones' FROM "TABLA_CANCION"");
mysql_query(h_MySQL, g_Consulta[playerid]);
new f_InfDialogo[100] = "Biblioteca\tDisponibles",
f_TotalCanciones;
cache_save_int(0,"tot_canciones",f_TotalCanciones);
strcat(f_InfDialogo,sprintf("\nServidor\t%d", f_TotalCanciones));
strcat(f_InfDialogo,"\nPersonal\tPrуximamente");
ShowPlayerDialog(playerid, DIALOGO_MUSICA_PRINCIPAL, DIALOG_STYLE_TABLIST_HEADERS, "Reproductor de Mъsica", f_InfDialogo, "Ver", "Salir");
}
if(response)
{
cache_save_int(listitem,"GeneroID",ItemSeleccionado[playerid]);
mysql_format(h_MySQL, g_Consulta[playerid], GLOBAL_QUERY_SIZE, "SELECT DISTINCT(servidor_Cancion.can_artista) As 'Artista', COUNT(DISTINCT servidor_Cancion.can_id) As 'tot_canciones' FROM servidor_Cancion,servidor_Carpeta WHERE servidor_Cancion.carp_id = %d GROUP BY servidor_Cancion.can_artista",ItemSeleccionado[playerid]);
mysql_query(h_MySQL, g_Consulta[playerid]);
new f_InfDialogo[500] = "Artista\tDisponible",
f_Artista[30],
f_Canciones;
for(new b = 0; b < cache_num_rows(); b++)
{
cache_save_string(b,"Artista",f_Artista);
cache_save_int(b,"tot_canciones",f_Canciones);
strcat(f_InfDialogo, sprintf("\n%s\t%d",f_Artista, f_Canciones));
}
ShowPlayerDialog(playerid, DIALOGO_MUSICA_CANCIONES, DIALOG_STYLE_TABLIST_HEADERS, "Reproductor de Mъsica", f_InfDialogo, "Ver","Atrбs");
}
}
case DIALOGO_MUSICA_CANCIONES:
{
if(!response) return 1;
if(response)
{
new f_Artista[50];
cache_save_string(listitem,"Artista",f_Artista);
mysql_format(h_MySQL, g_Consulta[playerid], GLOBAL_QUERY_SIZE, "SELECT can_id As 'CancionID', can_artista As 'Artista', can_nombre As 'Cancion', can_popularidad As 'Reprod', can_url As 'URL' FROM servidor_Cancion WHERE `can_artista` LIKE '%e'", f_Artista);
mysql_query(h_MySQL, g_Consulta[playerid]);
new f_InfDialogo[500] = "Artista\tCanciуn\tReproducciones",
f_Artista2[30],
f_Cancion[50],
f_Reproducciones;
for(new b = 0; b < cache_num_rows(); b++)
{
cache_save_string(b,"Artista",f_Artista2);
cache_save_string(b,"Cancion",f_Cancion);
cache_save_int(b,"Reprod",f_Reproducciones);
strcat(f_InfDialogo, sprintf("\n%s\t%s\t%d",f_Artista2, f_Cancion, f_Reproducciones));
}
ShowPlayerDialog(playerid, DIALOGO_MUSICA_REPRODUCCION, DIALOG_STYLE_TABLIST_HEADERS, ""NOMBRE_SERVIDOR" - Reproductor de Mъsica", f_InfDialogo, "Reproducir", "Menъ");
}
}
case DIALOGO_MUSICA_REPRODUCCION:
{
if(response)
{
new f_Artista[30],
f_Cancion[50],
f_URL[50],
f_CancionID;
cache_save_string(listitem,"Artista",f_Artista);
cache_save_string(listitem,"Cancion",f_Cancion);
cache_save_string(listitem,"URL",f_URL);
cache_save_int(listitem,"can_id",f_CancionID);
mysql_format(h_MySQL, g_Consulta[playerid], GLOBAL_QUERY_SIZE, "UPDATE servidor_Cancion SET `can_popularidad` = can_popularidad + 1 WHERE can_id = %d ", f_CancionID);
mysql_query(h_MySQL, g_Consulta[playerid]);
PlayAudioStreamForPlayer(playerid, f_URL);
SendClientMsg(playerid, -1, "Reproductor", sprintf("Estas reproduciendo {1abc9c}%s{FFFFFF} del artista {1abc9c}%s{FFFFFF}.", f_Cancion, f_Artista));
}
}