[Ajuda] Erro em sistema de Login
#1

Eis o meu sistema de login:
PHP код:
case DIALOG_LOGIN:
                {
                    if(!
response)
                        {
                            
KickWithMessage(playerid"Vocк foi desconectado do servidor por nгo efetuar o registro.");
                            return 
1;
                        }
                    if(
response)
                        {
                            
PlayerInfo[playerid][pSenha] = DOF2_GetString(Registro(playerid), "pSenha");
                            if(
strcmp(PlayerInfo[playerid][pSenha], inputtext))
                                {
                                    new 
txt[128]; format(txtsizeof(txt), "%s Login realizado com sucesso."servermsg);
                                    
SendClientMessage(playeridWHITEtxt);
                                    
Load_Player_Stats(playerid);
                                    
DOF2_GetFloat(Registro(playerid), "Float:X");
                                    
DOF2_GetFloat(Registro(playerid), "Float:Y");
                                    
DOF2_GetFloat(Registro(playerid), "Float:Z");
                                    
Angle DOF2_GetFloat(Registro(playerid), "Float:Angle");
                                    
SetSpawnInfo(playerid060XYZAngle000000);
                                    
SpawnPlayer(playerid);
                                }
                            else
                                {
                                    
Erro += 1;
                                    
SendClientMessage(playeridWHITEErromsg);
                                    new 
txt[128]; format(txtsizeof(txt), "{FF0000}Senha invбlida!\n{FFFFFF}Digite sua senha corretamente para realizar o login.");
                                    
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"{FFFFFF}Sistema de Login - Erro"txt"Login""Sair");
                                    if(
Erro == 4)
                                        {
                                            
KickWithMessage(playerid"Vocк foi desconectado do servidor por exceder o limite de erro.");
                                            
Erro 0;
                                            return 
1;
                                        }
                                }
                        }
                } 
Quando o player vai tentar fazer login, o sistema sу aceita se a senha for escrita em MAIЪSCULO. Por exemplo, a senha й "samp123", sу vai aceitar se escrever "SAMP123". Alguйm sabe o porque?
Jб tentei mudar "if(strcmp(PlayerInfo[playerid][pSenha], inputtext))" para "if(strcmp(PlayerInfo[playerid][pSenha], inputtext, false))" e tambйm "if(strcmp(PlayerInfo[playerid][pSenha], inputtext, true))" mas nгo funciona.



_____
Reply
#2

Код:
stock Maiusculo(const Letras[])
{ 
    for(new i = 0; Letras[i] != EOS; ++i)
    { 
        switch(Letras[i])
        {
            case 'A'..'Z': continue;
            default: return 0;
        }
    }
    return 1; 
}
Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Код:
stock Maiusculo(const Letras[])
{ 
    for(new i = 0; Letras[i] != EOS; ++i)
    { 
        switch(Letras[i])
        {
            case 'A'..'Z': continue;
            default: return 0;
        }
    }
    return 1; 
}
Й que eu gostaria de entender o porque do cуdigo aceitar somente maiъsculas, mas se isso resolve, vou adicionar ao meu cуdigo. Obrigado.
Reply
#4

Quando vc usa strcmp, vc estб comparando a senha com o que o player digita. Ao usar isso com case sensitive on/off nгo irб dar o resultado esperado por vc.

Usando essa stock no registro (nгo precisa por no login) e usando strcmp no login com case sensitive ON, vc terб o resultado esperado.
Reply
#5

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Quando vc usa strcmp, vc estб comparando a senha com o que o player digita. Ao usar isso com case sensitive on/off nгo irб dar o resultado esperado por vc.

Usando essa stock no registro (nгo precisa por no login) e usando strcmp no login com case sensitive ON, vc terб o resultado esperado.
E como eu devo usar essa stock?
PHP код:
    Maiusculo(inputtext); //Assim? 
Reply
#6

PHP код:
if(!Maiusculo(inputtext)) 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)