[Ajuda] Erro ao Entrar..
#1

Intгo to com poblema com a senha do LOGIN quando do (OK) sem eu digitar a senha no login ele entra, Sem ele digitar sua senha. Olha:


PHP код:
    case DIALOG_LOGIN:
        {
            if(!
response) return 1;
            new 
string[70];
            
format(stringsizeof(string), CONTASNome(playerid));
            if(!
strcmp(inputtextDOF2_GetString(string"Senha"), false))
            {
                
CarregarDados(playerid);
                } else {
                
                
PlayerInfo[playerid][ErrouSenha] ++;
                  
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!");
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar");
                
                if(
PlayerInfo[playerid][ErrouSenha] == 3)
                {
                    
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!");
                    
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!");
                    
SetTimerEx("Kickar"100false"i"playerid);
                }
            }
        } 
Reply
#2

se a senha salva ou o que for digitado for 0 ou null
vai bugar e logar

tenta assim

PHP код:
    case DIALOG_LOGIN
        { 
            if(!
response) return 1
            new 
string[70]; 
            
format(stringsizeof(string), CONTASNome(playerid)); 
            if(
strlen(inputtext) < || strlen(inputtext) > 24)  // 6 e 24 sao valores minimo e maximo, vc pode mudar conforme achar melhor (nao aconcelho por menos q 4)
            
{
                
PlayerInfo[playerid][ErrouSenha] ++; 
                  
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!"); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar"); 
                 
                if(
PlayerInfo[playerid][ErrouSenha] == 3
                { 
                    
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!"); 
                    
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!"); 
                    
SetTimerEx("Kickar"100false"i"playerid); 
               
            }
            if(!
strcmp(inputtextDOF2_GetString(string"Senha"), false)) 
            { 
                
CarregarDados(playerid); 
                } else { 
                 
                
PlayerInfo[playerid][ErrouSenha] ++; 
                  
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!"); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar"); 
                 
                if(
PlayerInfo[playerid][ErrouSenha] == 3
                { 
                    
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!"); 
                    
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!"); 
                    
SetTimerEx("Kickar"100false"i"playerid); 
                } 
            } 
        } 
Reply
#3

Continua o mesmo erro quando cliko OK sem digitar a senha aparece [ > ] Senha incorreta verifique!, isso funciou porem tabem quando cliko OK sem digitar a senha ele loga a conta :/
Reply
#4

O erro й que essas verificaзхes estгo sendo mal feitas e que vocк estб esquecendo de encerrar as funзхes apуs verificar que a senha estб incorreta.

PHP код:
case DIALOG_LOGIN:  
{  
    if(!
response
        return 
1;
        
    new 
string[70], strpass[25];
    
format(stringsizeof(string), CONTASNome(playerid));  
    
format(strpasssizeof(strpass), "%s"DOF2_GetString(string"Senha"));
    
    if(!
strcmp(inputtextstrpassfalse))  
        return 
CarregarDados(playerid);
    
    if(
PlayerInfo[playerid][ErrouSenha] == 3)  
    {  
        
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!");  
        
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!");  
        
SetTimerEx("Kickar"100false"i"playerid);
        return 
1;
    }
    if(
strlen(inputtext) < || strlen(inputtext) > 24)
    { 
        if(
PlayerInfo[playerid][ErrouSenha] == 3)  
        {  
            
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!");  
            
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!");  
            
SetTimerEx("Kickar"100false"i"playerid);
            return 
1;
        }
        
        
PlayerInfo[playerid][ErrouSenha] ++;
        
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!");  
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar");
        return 
1;
    } 
        
    
PlayerInfo[playerid][ErrouSenha] ++;  
    
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!");  
    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar");  

Tente desta forma.
Reply
#5

se a senha ja esta salva como 0 ou null tbm vai bugar da mesma forma
coloca a verificaзгo if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
tbm no registro
e registra com outra acc e testa

----------------------------------

eu uso no meu gm strcmp diferente
tem alguma diferenзa ?? qual й melhor?

Код:
if(strcmp(inputtext, DOF2_GetString(string, "Senha"), true) == 0)


if(!strcmp(inputtext, DOF2_GetString(string, "Senha"), false))
Reply
#6

Quote:
Originally Posted by Lуs
Посмотреть сообщение
O erro й que essas verificaзхes estгo sendo mal feitas e que vocк estб esquecendo de encerrar as funзхes apуs verificar que a senha estб incorreta.

PHP код:
case DIALOG_LOGIN:  
{  
    if(!
response
        return 
1;
        
    new 
string[70], strpass[25];
    
format(stringsizeof(string), CONTASNome(playerid));  
    
format(strpasssizeof(strpass), "%s"DOF2_GetString(string"Senha"));
    
    if(!
strcmp(inputtextstrpassfalse))  
        return 
CarregarDados(playerid);
    
    if(
PlayerInfo[playerid][ErrouSenha] == 3)  
    {  
        
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!");  
        
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!");  
        
SetTimerEx("Kickar"100false"i"playerid);
        return 
1;
    }
    if(
strlen(inputtext) < || strlen(inputtext) > 24)
    { 
        if(
PlayerInfo[playerid][ErrouSenha] == 3)  
        {  
            
MsgT(playerid0xE62E1AC8"[ INFO ] Vocк errou sua senha 3 vezes!");  
            
MsgT(playerid0xE62E1AC8"[ > ] Vocк errou sua e foi kickado do sevidor!");  
            
SetTimerEx("Kickar"100false"i"playerid);
            return 
1;
        }
        
        
PlayerInfo[playerid][ErrouSenha] ++;
        
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!");  
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar");
        return 
1;
    } 
        
    
PlayerInfo[playerid][ErrouSenha] ++;  
    
Msg(playerid0xE62E1AC8"[ > ] Senha incorreta verifique!");  
    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}•• SEVIDOR - LOGIN ••""\n{E62E1A}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n""Logar""Voltar");  

Tente desta forma.
Quote:
Originally Posted by [BC]Vinny
Посмотреть сообщение
se a senha ja esta salva como 0 ou null tbm vai bugar da mesma forma
coloca a verificaзгo if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
tbm no registro
e registra com outra acc e testa

----------------------------------

eu uso no meu gm strcmp diferente
tem alguma diferenзa ?? qual й melhor?

Код:
if(strcmp(inputtext, DOF2_GetString(string, "Senha"), true) == 0)


if(!strcmp(inputtext, DOF2_GetString(string, "Senha"), false))
Continua mesmo erro que tava. : /
Reply
#7

Quote:
Originally Posted by zDark
Посмотреть сообщение
Continua mesmo erro que tava. : /
Faзa um debug e verifique o que ele estб lendo na strpass e string.

Aliбs, faзa um debug geral.
Reply
#8

Quote:
Originally Posted by [BC]Vinny
Посмотреть сообщение
se a senha ja esta salva como 0 ou null tbm vai bugar da mesma forma
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
[/code]
O que isso aн vai fazer, й obrigar a ele a digitar no mнnimo uma senha com 6 digitos e com no mбximo 24 digitos...
Reply
#9

Quote:
Originally Posted by JkS
Посмотреть сообщение
O que isso aн vai fazer, й obrigar a ele a digitar no mнnimo uma senha com 6 digitos e com no mбximo 24 digitos...
isso mesmo pq tem se o valor de uma das verificaзгo no strcmp for 0 ou null
ele retorna como a verificaзгo estando certa


@Los, ja vi esse link, sempre peskiso o wiki smap
mas so tenho a duvida se as duas formas estao certas,
e se alguma delas й melhor que a outra

obs: desculpa o double post
Reply
#10

Quote:
Originally Posted by [BC]Vinny
Посмотреть сообщение
ja vi esse link, sempre peskiso o wiki smap
mas so tenho a duvida se as duas formas estao certas,
e se alguma delas й melhor que a outra
Sim, й, a diferenзa й que nesta:

PHP код:
if(strcmp(inputtextDOF2_GetString(string"Senha"), true) == 0
O "== 0" jб estб realizando a checagem se a verificaзгo й falsa e estб definindo que o texto vai ter o case sensitive ignorado.

Quote:

Return Values:
0 if strings match each other on given length;

--------------------

Jб este caso:

PHP код:
if(!strcmp(inputtextDOF2_GetString(string"Senha"), false)) 
Ele estб realizando a mesma verificaзгo atravйs do operador de negaзгo !. O case sensitive nгo vai ser ignorado.

Dб para fazer desta forma tambйm, que seria mais simples:

PHP код:
if(!strcmp(inputtextDOF2_GetString(string"Senha"))) 
Visto que o case sensitive й um parвmetro opcional.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)