23.08.2012, 18:19
Eu tenho um sistema de registro aqui que nгo ta salvando a senha, tipo se eu ir la na pasta e colocar a senha ele loga, e tambйm quando eu clico nos botхes cancelar nгo e kickado.
ai vai o cуdigo.
ai vai o cуdigo.
pawn Code:
#include a_samp
#include Dof2
#define DIALOG_REGISTRAR 1
#define DIALOG_LOGAR 2
enum Informacoes
{
Senha,
Matou,
Morreu,
Dinheiro
}
new Player[MAX_PLAYERS][Informacoes];
new Erro[MAX_PLAYERS];
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!", "Login", "Sair");
else ShowPlayerDialog(playerid, DIALOG_REGISTRAR, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Registar", "Sair");
return 1;
}
public OnPlayerDisconnect(playerid)
{
SalvarContas(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRAR)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRAR, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
if(response == 0) return Kick(playerid);
else
{
Player[playerid][Senha] = strval(inputtext);
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Login", "Sair");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
if(response == 0) return Kick(playerid);
else
{
Player[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha");
if(strval(inputtext) == Player[playerid][Senha])
{
Player[playerid][Matou] = DOF2_GetInt(Contas(playerid), "Matou");
Player[playerid][Morreu] = DOF2_GetInt(Contas(playerid), "Morreu");
Player[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes serб Kickado!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Vocк foi Kickado por errar a senha 5 vezes!");
Kick(playerid);
return 1;
}
}
}
}
return 1;
}
stock Contas(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
return arquivo;
}
stock SalvarContas(playerid)
{
if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
else
{
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
DOF2_SetInt(Contas(playerid), "Senha", Player[playerid][Senha]);
DOF2_SetInt(Contas(playerid), "Matou", Player[playerid][Matou]);
DOF2_SetInt(Contas(playerid), "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(Contas(playerid), "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SaveFile();
}
return 1;
}