COMMAND:topplayers(playerid,params[]) { new topstring[700]; new query[720]; new idx,PlayerName[24],Score; mysql_format(mysql, query, sizeof(query), "SELECT Kills, Name FROM "MYSQL_TABLA" ORDER BY Kills DESC LIMIT 10"); mysql_tquery(mysql, query, "", ""); while(cache_num_rows()) { idx++; cache_get_field_content(0, "Name",PlayerName); Score = cache_get_field_content_int(0, "Kills"); format(topstring,sizeof(topstring),"#\tNombre\tScore\tExperiencia\n\%d\t%s\t%d",idx,PlayerName,Score); } ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", topstring, "Salir", ""); return 1; }
"SELECT `Kills`, `Nombre`, `Experiencia` FROM `topscore` ORDER BY `Kills` DESC LIMIT 10"
format(topstring,sizeof(topstring),"#\tNombre\tScore\tExperiencia\n\%d\t%s\t%d",idx,PlayerName,Score);
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", topstring, "Salir", "");
new topstring[700]; //En este caso si es necesario por que vamos a concatenar, pero el problema es que esto nunca se concatena con el format. new query[720]; //Cuando se guarda informaciуn del usuario (OnPlayerDisconnect)
new topstring[128], query[256];
new topstring[128], outtopstring[700]= "#\tNombre\tScore\tExperiencia"; while(idx < cache_num_rows()) { format(topstring, sizeof(topstring), "\n\%d\t%s\t%d\t%d",idx, PlayerName, Score, Exp); strcat(outtopstring, topstring); } ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", outtopstring, "Salir", "");
while(cache_num_rows())
SELECT `Kills`, `Nombre`, `Experiencia` FROM `topscore` ORDER BY `Kills` DESC LIMIT 10 //Esto lo puedes testear en el mismo MySql
while(idx < cache_num_rows()) //Llevas un numero que gesitona la cantidad de usuarios que se debe de mostrar antes del final
main() { new query[256], idx , PlayerName[MAX_PLAYER_NAME], Score, Exp; mysql_format(MYSQL, query, sizeof(query), "SELECT `Kills`, `Nombre`, `Experiencia` FROM `topscore` ORDER BY `Kills` DESC LIMIT 10"); mysql_query(MYSQL, query); printf("Num rows: %d", cache_num_rows()); while(idx < cache_num_rows()) { cache_get_field_content(idx, "Nombre", PlayerName); Score = cache_get_field_content_int(idx, "Kills"); Exp = cache_get_field_content_int(idx, "Experiencia"); idx++; printf("#\tNombre\tScore\tExperiencia\n\%d\t%s\t%d\t%d", idx, PlayerName, Score, Exp); printf("Estoy en en bucle numero: %d, Num rows: %d", idx, cache_num_rows()); } print("Salн del ciclo"); }
COMMAND:topplayers(playerid,params[])
{
new topstring[700];
new query[720];
new idx,PlayerName[24],Score;
mysql_format(mysql, query, sizeof(query), "SELECT * FROM "MYSQL_TABLA" WHERE kills ORDER BY kills DESC LIMIT 10");
mysql_tquery(mysql, query, "", "");
while(cache_num_rows())
{
idx++;
cache_get_field_content(0, "Name",PlayerName);
Score = cache_get_field_content_int(0, "Kills");
format(topstring,sizeof(topstring),"#\tNombre\tScore\tExperiencia\n\%d\t%s\t%d",idx,PlayerName,Score);
}
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", topstring, "Salir", "");
return 1;
}
COMMAND:topplayers(playerid,params[])
{
new topstring[700] = "#\tNombre\tScore\tExperiencia";
new query[720];
new idx,PlayerName[24],Score;
mysql_format(mysql, query, sizeof(query), "SELECT * FROM "MYSQL_TABLA" WHERE kills ORDER BY kills DESC LIMIT 10");
mysql_tquery(mysql, query, "", "");
while(cache_num_rows())
{
idx++;
cache_get_field_content(idx, "Name",PlayerName);
Score = cache_get_field_content_int(idx, "Kills");
strcat(topstring, "\n\%d\t%s\t%d",idx,PlayerName,Score);
}
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", topstring, "Salir", "");
return 1;
}
Ya lo hice yo, arriba y me funcionу, estб testeado y con la condiciуn correcta...
|
COMMAND:topplayers(playerid,params[]) { new query[256], idx , PlayerName[MAX_PLAYER_NAME], Score, Exp, tstring[290]; mysql_format(mysql, query, sizeof(query), "SELECT `Kills`, `Name`, `Experiencia` FROM `accounts6` ORDER BY `Kills` DESC LIMIT 10"); mysql_query(mysql, query); while(idx < cache_num_rows()) { cache_get_field_content(idx, "Name", PlayerName); Score = cache_get_field_content_int(idx, "Kills"); Exp = cache_get_field_content_int(idx, "Experiencia"); idx++; format(tstring,sizeof(tstring),"#\tNombre\tScore\tExperiencia\n\%d\t%s\t%d\t%d", idx, PlayerName, Score, Exp); } ShowPlayerDialog(playerid, TopPlayersDialog, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", tstring, "Salir", ""); return 1; }
COMMAND:topplayers(playerid,params[]) { new query[256], idx , PlayerName[MAX_PLAYER_NAME], Score, Exp, tstring[290]; mysql_format(mysql, query, sizeof(query), "SELECT `Kills`, `Name`, `Experiencia` FROM `accounts6` ORDER BY `Kills` DESC LIMIT 10"); mysql_query(mysql, query); while(idx < cache_num_rows()) { cache_get_field_content(idx, "Name", PlayerName); Score = cache_get_field_content_int(idx, "Kills"); Exp = cache_get_field_content_int(idx, "Experiencia"); idx++; format(tstring,sizeof(tstring),"#\tNombre\tScore\t Experiencia\n\%d\t%s\t%d\t%d", idx, PlayerName, Score, Exp); } ShowPlayerDialog(playerid, TopPlayersDialog, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", tstring, "Salir", ""); return 1; } |
new query[256], idx, PlayerName[MAX_PLAYER_NAME], Score, Exp, tstring[128], outstring[500];//No se cuantos caracteres son 10 top players
mysql_format(mysql, query, sizeof(query), "SELECT `Kills`, `Name`, `Experiencia` FROM `accounts6` ORDER BY `Kills` DESC LIMIT 10");
mysql_query(mysql, query);
while(idx < cache_num_rows())
{
cache_get_field_content(idx, "Name", PlayerName);
Score = cache_get_field_content_int(idx, "Kills");
Exp = cache_get_field_content_int(idx, "Experiencia");
idx++;
format(tstring,sizeof(tstring),"\n\%d\t%s\t%d\t%d", idx, PlayerName, Score, Exp);
strcat(outstring, tstring);
}
ShowPlayerDialog(playerid, TopPlayersDialog, DIALOG_STYLE_TABLIST_HEADERS, "Top Players", outstring, "Salir", "");
return 1;