18.09.2013, 01:06
Bem, tentei fazer um rank em mysql aqui porйm nгo deu muito certo.
Estб ocorrendo um pequeno problema na ordem dos resultados.
Assim ocorre o resultado certo apenas uma vez.
Quando os resultados sгo alterados jб nгo funciona corretamente.
pawn Код:
CMD:rankteste(playerid)
{
mysql_function_query(mysql_conexao, "SELECT `Score`,`Nick` FROM `contas` WHERE 1", true, "ScoreRank_Mysql", "i", playerid);//Obrigado 'Abravanel'
return 1;
}
forward ScoreRank_Mysql(playerid);
public ScoreRank_Mysql(playerid)
{
new rows, fields;
cache_get_data(rows, fields, mysql_conexao);
if(!rows) return SendClientMessage(playerid, -1, "{ff0000}Sem resultados..");
new Ranking[5],
Temp[50],
Nomes[5][24], Temp2[24],
Msg[800];
for(new i; i < rows; i++) {
cache_get_field_content(i, "Score", Temp, mysql_conexao);
cache_get_field_content(i, "Nick", Temp2, mysql_conexao);
if(strval(Temp) > Ranking[0]) {
Ranking[0] = strval(Temp);
format(Nomes[0], 24, Temp2); }
if(strval(Temp) > Ranking[1] && Ranking[0] != strval(Temp)) {
Ranking[1] = strval(Temp);
format(Nomes[1], 24, Temp2); }
if(strval(Temp) > Ranking[2] && Ranking[0] != strval(Temp) && Ranking[1] != strval(Temp)) {
Ranking[2] = strval(Temp);
format(Nomes[2], 24, Temp2); }
if(strval(Temp) > Ranking[3] && Ranking[0] != strval(Temp) && Ranking[1] != strval(Temp) && Ranking[2] != strval(Temp)) {
Ranking[3] = strval(Temp);
format(Nomes[3], 24, Temp2); }
if(strval(Temp) > Ranking[4] && Ranking[0] != strval(Temp) && Ranking[1] != strval(Temp) && Ranking[2] != strval(Temp) && Ranking[3] != strval(Temp)) {
Ranking[4] = strval(Temp);
format(Nomes[4], 24, Temp2); }
}
format(Msg, sizeof(Msg), "{a9c4e4}Resultado de Ranking\nOBS: {ffffff}Ranking estarб informando todos on/off.\n\n");
for(new i; i < 5; i++)
format(Msg, sizeof(Msg), "%s{ff0000}%iє {ffffff}> %s - Scores: {ffff00}%i\n", Msg, i+1, Nomes[i], Ranking[i]);
ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_MSGBOX, "Ranking", Msg, "Fechar", "");
return 1;
}
Assim ocorre o resultado certo apenas uma vez.
Quando os resultados sгo alterados jб nгo funciona corretamente.