#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;
}
#include a_samp
#include SII
#include dudb
#pragma unused ret_memcpy
#define Contas "%s.ini"
#define D_LOGIN 9998
#define D_REGISTRO 9999
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,D_REGISTRO,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,D_LOGIN,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
GetPlayerName(playerid,nome,sizeof(nome));
format(arquivo,sizeof(arquivo),Contas,nome);
if(dialogid == D_REGISTRO)
{
if(!response) return Kick(playerid);
if(response)
{
if(!INI_Exist(arquivo))
{
INI_Open(arquivo);
INI_WriteInt("senha",udb_hash(inputtext));
INI_Save();
INI_Close();
}
else return ShowPlayerDialog(playerid,D_LOGIN,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
if(dialogid == D_LOGIN)
{
if(!response) return Kick(playerid);
if(response)
{
if(fexist(arquivo))
{
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,D_LOGIN,DIALOG_STYLE_INPUT,"Login",login,"Entrar","Sair");
}
else return SendClientMessage(playerid,-1,"logado com sucesso.");
}
}
}
}
return 1;
}
Vк se funciona, defini os dialogs no topo, fica mais prбtico. Ele nгo tava getando o nome, pelo que eu vejo
pawn Код:
|
Me convenзa que isso foi tu que fez. Porque usar dudb й u У -n
Precisa ter Dudb ou posso te fazer outro? |
#include a_samp
#include SII
#pragma unused ret_memcpy
#define Contas "%s.ini"
new
arquivo[35],
nome[MAX_PLAYER_NAME],
registro[49],
login[73],
senha
;
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",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 = INI_ReadInt("senha");
INI_Close();
if(strcmp(inputtext,senha,true))
{
SendClientMessage(playerid,-1,"logado com sucesso.");
}
else
{
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");
}
}
}
}
return 1;
}
return 1;
}
pawn Код:
|