01.04.2014, 02:18
pawn Код:
new file[40], name[MAX_PLAYER_NAME], str[128]; // criando a string file com 40 celulas e criando a variavel name
GetPlayerName(playerid, name, 32); // pegando o nome do player
format(file, 40, PASTA_CONTAS, name); // formatando o file para a pasta Jogadores
if(dialogid == DIALOG_REGISTRO) // Dialog registro
{
if(strlen(inputtext) < MIN_SENHA || strlen(inputtext) > MAX_SENHA)
{
format(str, sizeof(str), "| ERRO | A senha deve ter entre %d e %d caracteres!", MIN_SENHA, MAX_SENHA);
SendClientMessage(playerid, Vermelho, str);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "/n» Informe uma senha para se registrar:", "Registrar", "Cancelar");
return 1;
}
if(!strval(inputtext)) // se ele nao digitar numeros da erro e volta no dialog de registro
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "/n» Informe uma senha para se registrar:", "Registrar", "Cancelar");
SendClientMessage(playerid, -1, "{FF7F24}| ERRO | Digite apenas nъmeros para se registrar");
return 1;
}
if(!response) //se ele apertar o botao Cancelar, kicka ele !
{
Kick(playerid);
return 1;
}
else // se ele colocar a senha certa cria os files
{
PlayerInfo[playerid][pSenha] = strval(inputtext); // pega a senha que ele digitou no campo do dialog
DOF2_CreateFile(file); // cria o file na pasta Jogadores
DOF2_SetInt(file, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha para a que ele digitou no dialog
DOF2_SetInt(file, "Skin",38); // seta a skin dele para 38, podendo mudar para qualquer numero.
DOF2_SetInt(file,"Dinheiro",0);
DOF2_SaveFile(); // salva o file
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, "{B9D3EE}| INFO | Conta registrada com sucesso");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) // se ele nao digitar apenas numeros volta o dialog de login
{
SendClientMessage(playerid, -1, "{FF7F24}| ERRO | Digite apenas nъmeros para se logar.");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
return 1;
}
if(!response) // se ele clickar em Cancelar kicka ele !
{
Kick(playerid);
return 1;
}
else // Se ele colocar a senha certa
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(file, "Senha"); // pega a senha salva dele
if(strval(inputtext) == PlayerInfo[playerid][pSenha]) // pega a senha que ele digitou
{
PlayerInfo[playerid][pSkin] = DOF2_GetInt(file, "Skin"); // pega a skin do player
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // seta a skin do player para a skin salva
GivePlayerMoney(playerid, DOF2_GetInt(file,"Dinheiro"));
SpawnPlayer(playerid); // em seguida, spawna o player
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, closed, "| INFO | Logado com sucesso");
}
else // se ele errar a senha mostra o dialog denovo
{
SendClientMessage(playerid, Vermelho, "| ERRO | Vocк errou a senha, tente novamente. ( Se errar 3 vezes й kickado )");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3) // se ele errar 3 vezes ele serб kickado !
{
SendClientMessage(playerid, Vermelho, "| INFO | Vocк foi kickado por errar a senha 3 vezes");
Kick(playerid);
return 1;
}
}
}
}