25.09.2011, 22:39
galera, fiz esse sistema de registro do 0.. ta td ok nele sу que quando vai logar, vc pode errar a senha que loga normalmente, mas a conta salva td ok , o que pode ser?
o que pode ser?
pawn Код:
#include a_samp
#include SII
#include dudb
#pragma unused ret_memcpy
#define Contas "%s.ini"
new
arquivo[35],
nome[MAX_PLAYER_NAME],
registro[49],
login[73],
senha[MAX_PLAYERS]
;
public OnPlayerConnect(playerid)
{
if(!fexist(arquivo))
{
GetPlayerName(playerid,nome,sizeof(nome));
format(registro,sizeof(registro),"Seja bem-vindo ao servidor %s",nome);
ShowPlayerDialog(playerid,9999,DIALOG_STYLE_INPUT,"Registro",registro,"Ok","Sair");
}
else
{
format(login,sizeof(login),"Seja Bem-vindo %s para logar-se digite sua senha.",nome);
ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 9999)
{
if(!response) return Kick(playerid);
if(response)
{
format(arquivo,sizeof(arquivo),Contas,nome);
GetPlayerName(playerid,nome,sizeof(nome));
format(arquivo,sizeof(arquivo),Contas,nome);
if(!INI_Exist(arquivo))
{
INI_Open(arquivo);
INI_WriteInt("senha",udb_hash(inputtext));
INI_Save();
INI_Close();
}
else return ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
if(dialogid == 9998)
{
if(!response) return Kick(playerid);
if(response)
{
if(fexist(arquivo))
{
format(arquivo,sizeof(arquivo),Contas,nome);
INI_Open(arquivo);
senha[playerid] = INI_ReadInt("senha");
INI_Close();
if(udb_hash(inputtext) != senha[playerid])
{
SendClientMessage(playerid,-1,"senha errada");
format(login,sizeof(login),"Seja Bem-vindo %s para logar-se digite sua senha.",nome);
ShowPlayerDialog(playerid,9998,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
else return SendClientMessage(playerid,-1,"logado com sucesso.");
}
}
}
}
return 1;
}