[Ajuda] Login !
#1

Meu fs de registro/login nгo estб verificando se o jogador digitou a senha certa, digitando a senha errada ou certa ele loga do mesmo jeito. Aqui estб a dialog do login:

pawn Код:
if(dialogid == LOGIN)
{
if(!response)
{
dgsenha[playerid] = 0;
SelectTextDraw(playerid, Branco);
return 1;
}
if(strlen(inputtext) == 0 || strlen(inputtext) >= 11)
{
SendClientMessage(playerid, Vermelho, "[ERRO] Caracteristicas de 1 a 10.");
TextDrawShowForPlayer(playerid, Errou);
SetTimer("ErrouSenhaNoLogin", 2000, false);
SelectTextDraw(playerid, Branco);
return 1;
}
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(str, sizeof(str), CONTAS, nome);
RegLog[playerid][Senha] = DOF2_GetInt(str, "Senha");
if(strval(inputtext) == RegLog[playerid][Senha])
{
SelectTextDraw(playerid, Branco);
RegLog[playerid][Dinheiro] = DOF2_GetInt(str, "Dinheiro");
GivePlayerMoney(playerid, RegLog[playerid][Dinheiro]);
dgsenha[playerid] = 1;
}
}
else
{
SendClientMessage(playerid, Vermelho, "[ERRO] Vocк digitou sua senha errado.");
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login:", "Digite sua senha.", "Ok", "Cancelar");
dgsenha[playerid] = 0;
CancelSelectTextDraw(playerid);
RegLog[playerid][ErrouSenha]++;
if(RegLog[playerid][ErrouSenha] == 3)
{
Kick(playerid);
return 1;
}
}
Reply
#2

Antes do:
pawn Код:
if(strval(inputtext) == RegLog[playerid][Senha])
coloque isto:
pawn Код:
if (!strlen(inputtext)) // Vai verifica se o jogador digitou algo.
Se eu ajudei REP+
Reply
#3

Eu nгo quero verificar se ele digiou algo. Eu quero verificar se ele digitou a senha certa. Olhe o meu raciocionio.

Aqui caso ele nгo digite nada ou passe de 11 caracteristicas ou igual a 11

pawn Код:
if(strlen(inputtext) == 0 || strlen(inputtext) >= 11)
{
SendClientMessage(playerid, Vermelho, "[ERRO] Caracteristicas de 1 a 10.");
TextDrawShowForPlayer(playerid, Errou);
SetTimer("ErrouSenhaNoLogin", 2000, false);
SelectTextDraw(playerid, Branco);
return 1;
}

Aqui ele pega a senha na .ini da conta
pawn Код:
RegLog[playerid][Senha] = DOF2_GetInt(str, "Senha");

Aqui ele verifica se ele digitou a senha igual da conta
pawn Код:
if(strval(inputtext) == RegLog[playerid][Senha])
Ou caso ele digitar a senha errada
pawn Код:
SendClientMessage(playerid, Vermelho, "[ERRO] Vocк digitou sua senha errado.");
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login:", "Digite sua senha.", "Ok", "Cancelar");
dgsenha[playerid] = 0;
CancelSelectTextDraw(playerid);
RegLog[playerid][ErrouSenha]++;
Ao errar a senha 3x
pawn Код:
if(RegLog[playerid][ErrouSenha] == 3)
{
Kick(playerid);
return 1;
}
}
Agora vou dizer o problema, o problema й que se eu digitar a senha errada ou certa ele loga do mesmo jeito, isso significa que nгo estб verificando se ele digiou o que estб na .ini da conta dele. Sу isso, me ajuda ae.
Reply
#4

UP ! Need Backup.
Reply
#5

pawn Код:
if(strval(inputtext) == RegLog[playerid][Senha], true) == 0)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)