SA-MP Forums Archive
[Ajuda] Login ! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Login ! (/showthread.php?tid=512491)



Login ! - ZaturN - 11.05.2014

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;
}
}



Re: Login ! - MultiKill - 11.05.2014

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+


Re: Login ! - ZaturN - 11.05.2014

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.


Re: Login ! - ZaturN - 13.05.2014

UP ! Need Backup.


Re: Login ! - MultiKill - 13.05.2014

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