SA-MP Forums Archive
[Ajuda] Top Gangs - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Top Gangs (/showthread.php?tid=543909)



Top Gangs - s4kuL - 29.10.2014

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;
}



Re: Top Gangs - s4kuL - 29.10.2014

Alguйm ? :/


Re: Top Gangs - Shadoww5 - 30.10.2014

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.


Re: Top Gangs - s4kuL - 30.10.2014

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


Re: Top Gangs - s4kuL - 30.10.2014

alguйm tem a soluзгo?


Re: Top Gangs - ReyMysterio - 30.10.2014

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;
}



Re: Top Gangs - s4kuL - 30.10.2014

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..


Re: Top Gangs - ReyMysterio - 30.10.2014

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 '-'


Re: Top Gangs - s4kuL - 30.10.2014

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.


Re: Top Gangs - s4kuL - 31.10.2014

Alguйm