Ajuda urgente.
#1

Bom gente estou montando um sistema de level com respeito por mortes e ele sempre fica no respeito de 12 e nгo sai o cуdigo й:

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason);
    informacoes[killerid][respeito] ++;
    dini_IntSet(arquivo, "Respeito", informacoes[killerid][respeito]);
    return 1;
}
pawn Код:
public OnPlayerUpdate(playerid)
{
    if (GetPlayerScore(playerid) >= 0 || GetPlayerScore(playerid) <= 3)
    {
        if (informacoes[playerid][respeito] == 12)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 4 || GetPlayerScore(playerid) <= 7)
    {
        if (informacoes[playerid][respeito] == 16)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 8 || GetPlayerScore(playerid) <= 11)
    {
        if (informacoes[playerid][respeito] == 20)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 11 || GetPlayerScore(playerid) <= 14)
    {
        if (informacoes[playerid][respeito] == 24)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 15 || GetPlayerScore(playerid) <= 18)
    {
        if (informacoes[playerid][respeito] == 28)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 19 || GetPlayerScore(playerid) <= 22)
    {
        if (informacoes[playerid][respeito] == 32)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 23 || GetPlayerScore(playerid) <= 26)
    {
        if (informacoes[playerid][respeito] == 36)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 27 || GetPlayerScore(playerid) <= 30)
    {
        if (informacoes[playerid][respeito] == 40)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 31 || GetPlayerScore(playerid) <= 34)
    {
        if (informacoes[playerid][respeito] == 44)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 35 || GetPlayerScore(playerid) <= 38)
    {
        if (informacoes[playerid][respeito] == 48)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 39 || GetPlayerScore(playerid) <= 42)
    {
        if (informacoes[playerid][respeito] == 52)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 43 || GetPlayerScore(playerid) <= 46)
    {
        if (informacoes[playerid][respeito] == 56)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
        }
    }
   
    if (GetPlayerScore(playerid) >= 47 || GetPlayerScore(playerid) <= 50)
    {
        if (informacoes[playerid][respeito] == 60)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 51 || GetPlayerScore(playerid) <= 54)
    {
        if (informacoes[playerid][respeito] == 64)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 55 || GetPlayerScore(playerid) <= 58)
    {
        if (informacoes[playerid][respeito] == 68)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 59 || GetPlayerScore(playerid) <= 62)
    {
        if (informacoes[playerid][respeito] == 72)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 63 || GetPlayerScore(playerid) <= 66)
    {
        if (informacoes[playerid][respeito] == 76)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 67 || GetPlayerScore(playerid) <= 70)
    {
        if (informacoes[playerid][respeito] == 80)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 71 || GetPlayerScore(playerid) <= 74)
    {
        if (informacoes[playerid][respeito] == 84)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 75 || GetPlayerScore(playerid) <= 78)
    {
        if (informacoes[playerid][respeito] == 88)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 79 || GetPlayerScore(playerid) <= 82)
    {
        if (informacoes[playerid][respeito] == 92)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 83 || GetPlayerScore(playerid) <= 86)
    {
        if (informacoes[playerid][respeito] == 96)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 87 || GetPlayerScore(playerid) <= 90)
    {
        if (informacoes[playerid][respeito] == 100)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 93 || GetPlayerScore(playerid) <= 96)
    {
        if (informacoes[playerid][respeito] == 104)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    if (GetPlayerScore(playerid) >= 97)
    {
        if (informacoes[playerid][respeito] == 108)
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0;
            return 1;
        }
    }
   
    dini_IntSet(arquivo, "Level", GetPlayerScore(playerid) );
    dini_IntSet(arquivo, "Respeito", informacoes[playerid][respeito]);
    return 1;
}
pawn Код:
CMD:respeito(playerid, params[])
{
    new texto[256];

    if (GetPlayerScore(playerid) >= 0 || GetPlayerScore(playerid) <= 3)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|12).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 4 || GetPlayerScore(playerid) <= 7)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|16).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 8 || GetPlayerScore(playerid) <= 11)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|20).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 11 || GetPlayerScore(playerid) <= 14)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|24).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 15 || GetPlayerScore(playerid) <= 18)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|28).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 19 || GetPlayerScore(playerid) <= 22)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|32).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 23 || GetPlayerScore(playerid) <= 26)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|36).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 27 || GetPlayerScore(playerid) <= 30)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|40).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 31 || GetPlayerScore(playerid) <= 34)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|44).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 35 || GetPlayerScore(playerid) <= 38)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|48).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 39 || GetPlayerScore(playerid) <= 42)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|52).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 43 || GetPlayerScore(playerid) <= 46)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|56).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 47 || GetPlayerScore(playerid) <= 50)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|60).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 51 || GetPlayerScore(playerid) <= 54)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|64).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 55 || GetPlayerScore(playerid) <= 58)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|68).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 59 || GetPlayerScore(playerid) <= 62)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|72).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 63 || GetPlayerScore(playerid) <= 66)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|76).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 67 || GetPlayerScore(playerid) <= 70)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|80).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 71 || GetPlayerScore(playerid) <= 74)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|84).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 75 || GetPlayerScore(playerid) <= 78)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|88).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 79 || GetPlayerScore(playerid) <= 82)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|92).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 83 || GetPlayerScore(playerid) <= 86)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|96).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 87 || GetPlayerScore(playerid) <= 90)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|100).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 93 || GetPlayerScore(playerid) <= 96)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|104).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }

    if (GetPlayerScore(playerid) >= 97)
    {
        format(texto, sizeof texto, "O seu respeito atual й: (%d|108).", informacoes[playerid][respeito]);
        SendClientMessage(playerid, 0x33CCFFAA, texto);
        return 1;
    }
    return 1;
}
Reply
#2

Pelo que vi, acho que o problema sгo estas linhas:

pawn Код:
informacoes[playerid][respeito] = 0;

Esse й o primeiro if do OnPlayerUpdate:

pawn Код:
if (GetPlayerScore(playerid) >= 0 || GetPlayerScore(playerid) <= 3)
    {
        if (informacoes[playerid][respeito] == 12) //Quando o cara atingir 12 de respeito
        {
            SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
            SendClientMessage(playerid, 0x33CCFFAA, "Parabйns vocк passou de level.");
            informacoes[playerid][respeito] = 0; //O respeito dele vai ser colocado de volta pra 0.....
            return 1;
        }
    }

Sendo assim, o jogador nunca irб atingir uma quantidade de respeito maior que 12, pois sempre que ele atingir a mesma, o respeito voltarб a ser 0.


Espero ter ajudado
Reply
#3

Mas entгo quando o jogador chegar atй 12 de respeito eu quero que resete e comeзe uma nova contagem atй passar de level ae quando chegar atй level 4 jб muda pra 16 mas nгo sei como usar uma funзгo para isto.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)