PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
if(dialogid == DIALOG_REGISTRO)
{
if(!response) //Verifica se ele clicar em 'Cancelar"
return Kick(playerid); //Caso ele clicar em cancelar, irб retornar ao playerid KICK
if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true Retorna a dialog de registro novamente para ele digitar NЪMEROS
return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
//Caso tenha digitado apenas numeros
Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Vai salvar a senha do playerid
DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]); //Vai salvar quantas vezes ele matou
DOF2_SetInt(arquivo, "DG", Player[playerid][DG]); //Vai salvar quantas vezes ele morreu
DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
//Retornando a dialog de Login ao player no final para ele logar no server
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) //Verifica se ele clicar em 'Cancelar"
return Kick(playerid); //Caso ele clicar em cancelar, irб retornar ao playerid KICK
if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true Retorna a dialog de Login novamente para ele digitar NЪMEROS
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");
//Se ele Confirma o Login
Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
if(strval(inputtext) != Player[playerid][Senha])
{
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");
Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
if(Erro[playerid] == 5) //Quando chegar а 5 vezes, irб retornar a msg e o Ban
return Kick(playerid);
}
else
{
Player[playerid][DG] = DOF2_GetInt(arquivo, "DG"); //Pega quantos ele morreu no arquivo
Player[playerid][Helper] = DOF2_GetInt(arquivo, "Helper");
SpawnPlayer(playerid);
}
}
return 1;
}