[Ajuda] Top Gangs
#1

ele estava colocando o primeiro lugar certo

mas os 2° e o 3є nгo esta colocando certo, sendo que existe gangues com kills mais que 0 ele coloca uma gangue que tem 0 de kill

as vezes tambйm mostra todas gangs com 0.

pawn Код:
CMD:topgangs(playerid)
{
    new Tops[3], i = 0, Tops_[3], strgang[250], forgang[250];
   
    while(i < MAX_GANGS)
    {
        if(DOF2_FileExists(GangFile(i)))
        {
            if(Gang[i][Kills] > Tops[0])
            {
                Tops[0] = Gang[i][Kills];
                Tops_[0] = i;
            }
            else if(Gang[i][Kills] > Tops[1])
            {
                Tops[1] = Gang[i][Kills];
                Tops_[1] = i;
            }
            else if(Gang[i][Kills] > Tops[2])
            {
                Tops[2] = Gang[i][Kills];
                Tops_[2] = i;
            }
            i++;
            continue;
        }
        else
        {
            i++;
            continue;
        }
    }
   
    format(forgang, sizeof forgang, "1° %s - Reputaзгo: %d\n", Gang[Tops_[0]][gangname], Gang[Tops_[0]][Kills]);
    strcat(strgang, forgang, sizeof strgang);

    format(forgang, sizeof forgang, "2° %s - Reputaзгo: %d\n", Gang[Tops_[1]][gangname], Gang[Tops_[1]][Kills]);
    strcat(strgang, forgang, sizeof strgang);

    format(forgang, sizeof forgang, "3° %s - Reputaзгo: %d\n", Gang[Tops_[2]][gangname], Gang[Tops_[2]][Kills]);
    strcat(strgang, forgang, sizeof strgang);

    ShowPlayerDialog(playerid, D_TopGangs, DIALOG_STYLE_MSGBOX, "Top 3 Gangues", strgang, "Fechar", "");
    return 1;
}
Reply
#2

Alguйm ? :/
Reply
#3

O cуdigo aparenta estar correto. Muito provavelmente o erro estб no arquivo que salva o ranking. Procure pelo arquivo GangFile, faзa um backup, exclua todo o seu conteъdo e salve-o novamente.
Reply
#4

Nгo adiantou :/ Shadoww, o problema й no cуdigo mesmo.
Reply
#5

alguйm tem a soluзгo?
Reply
#6

Tente assim (nгo estudei o cуdigo sу alterei ali uma coisa que eu nгo costumo colocar mas tenta):

pawn Код:
CMD:topgangs(playerid)
{
    new Tops[3], i = 0, Tops_[3], strgang[250], forgang[250];
   
    while(i < MAX_GANGS)
    {
        if(DOF2_FileExists(GangFile(i)))
        {
            if(Gang[i][Kills] > Tops[0])
            {
                Tops[0] = Gang[i][Kills];
                Tops_[0] = i;
            }
            if(Gang[i][Kills] > Tops[1])
            {
                Tops[1] = Gang[i][Kills];
                Tops_[1] = i;
            }
            if(Gang[i][Kills] > Tops[2])
            {
                Tops[2] = Gang[i][Kills];
                Tops_[2] = i;
            }
            i++;
            continue;
        }
        else
        {
            i++;
            continue;
        }
    }
   
    format(forgang, sizeof(forgang), "1° %s - Reputaзгo: %d\n", Gang[Tops_[0]][gangname], Gang[Tops_[0]][Kills]);
    strcat(strgang, forgang);

    format(forgang, sizeof(forgang), "2° %s - Reputaзгo: %d\n", Gang[Tops_[1]][gangname], Gang[Tops_[1]][Kills]);
    strcat(strgang, forgang);

    format(forgang, sizeof(forgang), "3° %s - Reputaзгo: %d\n", Gang[Tops_[2]][gangname], Gang[Tops_[2]][Kills]);
    strcat(strgang, forgang);

    ShowPlayerDialog(playerid, D_TopGangs, DIALOG_STYLE_MSGBOX, "Top 3 Gangues", strgang, "Fechar", "");
    return 1;
}
Reply
#7

Quote:
Originally Posted by ReyMysterio
Посмотреть сообщение
Tente assim (nгo estudei o cуdigo sу alterei ali uma coisa que eu nгo costumo colocar mas tenta):

pawn Код:
CMD:topgangs(playerid)
{
    new Tops[3], i = 0, Tops_[3], strgang[250], forgang[250];
   
    while(i < MAX_GANGS)
    {
        if(DOF2_FileExists(GangFile(i)))
        {
            if(Gang[i][Kills] > Tops[0])
            {
                Tops[0] = Gang[i][Kills];
                Tops_[0] = i;
            }
            if(Gang[i][Kills] > Tops[1])
            {
                Tops[1] = Gang[i][Kills];
                Tops_[1] = i;
            }
            if(Gang[i][Kills] > Tops[2])
            {
                Tops[2] = Gang[i][Kills];
                Tops_[2] = i;
            }
            i++;
            continue;
        }
        else
        {
            i++;
            continue;
        }
    }
   
    format(forgang, sizeof(forgang), "1° %s - Reputaзгo: %d\n", Gang[Tops_[0]][gangname], Gang[Tops_[0]][Kills]);
    strcat(strgang, forgang);

    format(forgang, sizeof(forgang), "2° %s - Reputaзгo: %d\n", Gang[Tops_[1]][gangname], Gang[Tops_[1]][Kills]);
    strcat(strgang, forgang);

    format(forgang, sizeof(forgang), "3° %s - Reputaзгo: %d\n", Gang[Tops_[2]][gangname], Gang[Tops_[2]][Kills]);
    strcat(strgang, forgang);

    ShowPlayerDialog(playerid, D_TopGangs, DIALOG_STYLE_MSGBOX, "Top 3 Gangues", strgang, "Fechar", "");
    return 1;
}
Mesma coisa cara..
Reply
#8

Eu atualizei ele e nгo sei se vocк pegou do ъltimo jeito que coloquei. O que vocк pegou tinha o "else if" ? Se tinha muda '-'
Reply
#9

Quote:
Originally Posted by ReyMysterio
Посмотреть сообщение
Eu atualizei ele e nгo sei se vocк pegou do ъltimo jeito que coloquei. O que vocк pegou tinha o "else if" ? Se tinha muda '-'
Sim.
Reply
#10

Alguйm
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)