[Ajuda] Bug tres chances pra senha login!
#1

Meu bug e que depois que eu erro as 3 chances e na 4 eu so kickado ta ok,mas quando eu relogo eu erro so uma eu sou kickado como se ja tivesse errado as 3!! alguem sabe oque tem de errado no codigo ae?? vlw

pawn Код:
if(strcmp(pass, DOF2_GetString(Arquivo(playerid), "Senha"), true))
    {
        if(tentativas[playerid] == 1)
            return Msg(playerid, Vermelho, "Vocк errou 3 vezes a senha e por isso foi kickado!"), Kick(playerid);
        new ip[16];
        GetPlayerIp(playerid, ip, sizeof(ip));
        new string2[270];
        tentativas[playerid] --;
        format(string2, 270, ""BRANCO2"Olб "AMARELO2"%s, "BRANCO2"vocк digitou a senha "VERMELHO2"incorretamente"BRANCO2"\nPor favor digite uma senha vбlida abaixo para fazer o login:\nVocк tem %d tentativas\n"CINZA1"Por questхes de seguranзa seu IP(%s) foi salvo em nossos registros.", Nome(playerid), tentativas[playerid], ip);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", string2, "Logar", "Sair");
        return 1;
    }
Reply
#2

Seta as tentativas para 0 quando o jogador conectar-se.

pawn Код:
public OnPlayerConnect(playerid)
{
    tentativas[playerid] = 0;
}
Reply
#3

Nгo funcionou agora quando erro fica dando -1 -2 -3 -3 -4 -5....etc e nгo para..

botei no onplayerconnect

tentativas[playerid] = 0;
Reply
#4

pawn Код:
if(!strcmp(pass, DOF2_GetString(Arquivo(playerid), "Senha"), true))
    {
        if(tentativas[playerid] == 1)
            return Msg(playerid, Vermelho, "Vocк errou 3 vezes a senha e por isso foi kickado!"), Kick(playerid);
        new ip[16];
        GetPlayerIp(playerid, ip, sizeof(ip));
        new string2[270];
        tentativas[playerid] --;
        format(string2, 270, ""BRANCO2"Olб "AMARELO2"%s, "BRANCO2"vocк digitou a senha "VERMELHO2"incorretamente"BRANCO2"\nPor favor digite uma senha vбlida abaixo para fazer o login:\nVocк tem %d tentativas\n"CINZA1"Por questхes de seguranзa seu IP(%s) foi salvo em nossos registros.", Nome(playerid), tentativas[playerid], ip);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", string2, "Logar", "Sair");
        return 1;
    }
Tente agora.
Reply
#5

Agora quando eu boto a senha errado eu consigo logar como se fosse a senha certa '-'
Reply
#6

Essa dai que eu acabei de mandar й para verificar se a senha esta certa caso estiver ai tu faz sua execuзгo ou se no caso estiver errada use o famoso "else" para fazer a funзгo caso tiver errada.
Reply
#7

OK...Vlw
Reply
#8

Como vocк estб subtraindo a variбvel a cada erro, ao invйs de 0 defina para 4.

pawn Код:
public OnPlayerConnect(playerid)
{
    tentativas[playerid] = 4;
    return 1;
}
Reply
#9

PHP код:
new tentativas[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
    
tentativas[playerid] = 0;
    return 
1;
}
// Response
    
if(strcmp(passDOF2_GetString(Arquivo(playerid), "Senha"), true))
    {
          
tentativas[playerid] ++;
          
          if(
tentativas[playerid] == 3)return Msg(playeridVermelho"Vocк errou 3 vezes a senha e por isso foi kickado!"), Kick(playerid);
          new 
ip[16], string2[270];    GetPlayerIp(playeridipsizeof(ip));
          
format(string2270""BRANCO2"Olб "AMARELO2"%s, "BRANCO2"vocк digitou a senha "VERMELHO2"incorretamente"BRANCO2"\nPor favor digite uma senha vбlida abaixo para fazer o login:\nVocк tem %d tentativas\n"CINZA1"Por questхes de seguranзa seu IP(%s) foi salvo em nossos registros."Nome(playerid), tentativas[playerid], ip);
          
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Login"string2"Logar""Sair");
          return 
true;
    } 
Reply
#10

Larceny deu certo...Vlw amigo!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)