#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarContas(playerid);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
static _var[100];
format(_var,sizeof(_var), "Contas", PlayerNome(playerid));
DOF2_SetString(_var, "Senha",inputtext); // fazer assim com os outros
DOF2_SaveFile();
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
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) return Kick(playerid);
else
{
static _var[100];
format(_var,sizeof(_var), "Contas", PlayerNome(playerid));
if ( !strcmp ( inputtext , DOF2_GetString(_var,"Senha") , false ))
{
PlayerInfo[playerid][kills] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][deaths] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
PC_DarDinheiro(playerid, PlayerInfo[playerid][dinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 3 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(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
{
PlayerInfo[playerid][dinheiro] = PC_GetarDinheiro(playerid);
DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][senha]);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][kills]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][deaths]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][dinheiro]);
DOF2_SaveFile();
}
return 1;
}
DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][senha]);
PlayerInfo[playerid][senha] = strval(inputtext);
DOF2_SetString(_var, "Senha",PlayerInfo[playerid][senha]);
Vocк so precisa criar uma vez a linha da senha !
pawn Код:
|
PlayerInfo[playerid][senha] = strval(inputtext); DOF2_SetString(_var, "Senha",PlayerInfo[playerid][senha]); |
if( DOF2_CheckLogin( filedir, pasword ) ) {
//Se ele digitar a senha de login com hash corretamente sera logado
//filedir Diretorio da conta do Player
//Em password coloque inputtext[]
} else {
//Conta incorreta
}
Nгo esta certo isso ai.
Porque vocкs insistem em fazer errado Use pawn Код:
|
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarContas(playerid);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!response) return Kick(playerid);
else
{
DOF2_SetString(Contas(playerid), "Senha",inputtext); // fazer assim com os outros
DOF2_SetInt(Contas(playerid), "Matou", 0);
DOF2_SetInt(Contas(playerid), "Morreu", 0);
DOF2_SetInt(Contas(playerid), "Dinheiro", 1000);
DOF2_SaveFile();
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!response) return Kick(playerid);
else
{
if ( !strcmp ( inputtext , DOF2_GetString(Contas(playerid),"Senha") , false ))
{
PlayerInfo[playerid][kills] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][deaths] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
PC_DarDinheiro(playerid, PlayerInfo[playerid][dinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 3 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
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)
{
PlayerInfo[playerid][dinheiro] = PC_GetarDinheiro(playerid);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][kills]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][deaths]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][dinheiro]);
DOF2_SaveFile();
return 1;
}
Seguinte nгo precisa usar senha na enum pois ele vai setar a senha no arquivo e depois ele carrega
,so vai carregar quando ele logar caso contrario a linha vai fica la sem ninguem mecher . Aconselho a fazer uma stock para carregar os arquivos . pawn Код:
|
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarContas(playerid);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!response) return Kick(playerid);
else
{
DOF2_CreateFile(Contas(playerid));
DOF2_SetString(Contas(playerid), "Senha",inputtext); // fazer assim com os outros
DOF2_SetInt(Contas(playerid), "Matou", 0);
DOF2_SetInt(Contas(playerid), "Morreu", 0);
DOF2_SetInt(Contas(playerid), "Dinheiro", 1000);
DOF2_SaveFile();
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!response) return Kick(playerid);
else
{
if ( !strcmp ( inputtext , DOF2_GetString(Contas(playerid),"Senha") , false ))
{
PlayerInfo[playerid][kills] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][deaths] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
PC_DarDinheiro(playerid, PlayerInfo[playerid][dinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 3 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
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)
{
PlayerInfo[playerid][dinheiro] = PC_GetarDinheiro(playerid);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][kills]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][deaths]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][dinheiro]);
DOF2_SaveFile();
return 1;
}
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarContas(playerid);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!response) return Kick(playerid);
else
{
PlayerInfo[playerid][Senha] = inputtext;
DOF2_CreateFile(Contas(playerid)
DOF2_SetString(Contas(playerid),"Senha",PlayerInfo[playerid][Senha]);
DOF2_SetInt(Contas(playerid), "Matou", 0);
DOF2_SetInt(Contas(playerid), "Morreu", 0);
DOF2_SetInt(Contas(playerid), "Dinheiro", 1000);
DOF2_SaveFile();
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!response) return Kick(playerid);
else
{
if(!strcmp(inputtext,DOF2_GetString(Contas(playerid),"Senha") , false ))
{
PlayerInfo[playerid][kills] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][deaths] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
PC_DarDinheiro(playerid, PlayerInfo[playerid][dinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 3 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 3 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
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
{
DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][Senha]);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][kills]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][deaths]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][dinheiro]);
DOF2_SaveFile();
}
return 1;
}