30.09.2012, 15:51
Segui um tutorial de DOF2 aqui no forum e consegui fazer isso
Sу que o arquivo nao esta sendo criado e quando digito a senha para registrar depois era pra aparecer a dialog de login, mais aparece a dialog de senha errada, sera que o tutorial esta correto?
https://sampforum.blast.hk/showthread.php?tid=350855
(Obs: Estou aprendendo DOF2)
pawn Код:
#include a_samp
#include DOF2
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
enum Informacoes
{
Senha,
Dinheiro,
Admin,
Score
}
new Player[MAX_PLAYERS][Informacoes];
new Erro[MAX_PLAYERS];
public OnGameModeInit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
new arquivo[40],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Seja bem vindo!\nConta: Registrada\nDigite sua senha para logar:", "Logar", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Seja bem vindo!\nConta: Nгo Registrada\nDigite uma senha para registrar:", "Registrar", "Cancelar");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite sua senha para se registrar\nA senha deve conter somente numeros:", "Registrar", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha");
if(strval(inputtext) == Player[playerid][Senha])
{
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
Player[playerid][Admin] = DOF2_GetInt(arquivo, "Admin");
Player[playerid][Score] = DOF2_GetInt(arquivo, "Score");
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 sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "[INFO]: Vocк foi banido por errar a senha 5 vezes.");
Kick(playerid);
return 1;
}
}
}
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "Admin", Player[playerid][Admin]);
DOF2_SetInt(arquivo, "Score", Player[playerid][Score]);
DOF2_SaveFile();
}
return 1;
}
https://sampforum.blast.hk/showthread.php?tid=350855
(Obs: Estou aprendendo DOF2)