Fiz um FS de Login ...
Ele rodou de boa, tudo bem, porйm no primeiro login (logo depois do registro) o nome fica bugado (%s) e quando vocк clica em 'Entrar' o servidor fecha (vocк й kickado). Depois se vocк entrar de novo, vai normalmente.
Faz debbuging..
Coloque "print/f" nas parte que achas que estб dando erro.
ai vocк vai centralizar aonde й e vai notar, й simples e fбcil.
pawn Код:
if(dialogid == DIALOGO_LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[1000];
format(String, sizeof(String),TXT_LOGAR, Nome);
ShowPlayerDialog(playerid, DIALOGO_LOGIN, 3, "Registro", String, "Entrar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta.");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
// Debug 1.
printf("DEBUG-01: Nome: %s | Pasta: %s | Senha: %s", Nome, String, inputtext);
if(!strcmp(inputtext,dini_Get(String,"Senha"),false))
{
printf("DEBUG-02: Nome: %s | Pasta: %s | Senha: %s | pSenha: %s", Nome, String, inputtext, dini_Get(String,"Senha"));
CarregarJogador(playerid);
TotalEntrou[playerid]++;
SpawnPlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid,0x00FF00AA,"Senha incorreta, tente novamente.");
format(String, sizeof(String), TXT_RLOGAR, Nome);
ShowPlayerDialog(playerid, DIALOGO_LOGIN, 3, "Registro", String, "Entrar", "Cancelar");
}
return 1;
}