Registro de conta -
zGuigui2068 - 17.02.2019
Estou criando um sistema de registro simples, mas quando o player sai, as vezes buga e a senha fica assim:
Senha=g117
PHP код:
new result[128];
new arquivo[40];
new name[MAX_PLAYER_NAME]; // Cria a variavel de nome
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Players/%s.ini", name);
if(dialogid == DIALOG_REGISTRO) // Dialog registro
{
if(!response)
{
Kick(playerid);
return 1;
}
format(result,128, "Senha digitada: %s.", inputtext);
SendClientMessage(playerid,Branco, result);
format(PlayerInfo[playerid][pSenha], 128, inputtext);
DOF2_CreateFile(arquivo);
DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
DOF2_SaveFile();
return 1;
}
if(dialogid == DIALOG_LOGAR)
{
if(!response)
{
Kick(playerid);
return 1;
}
format(PlayerInfo[playerid][pSenha], 128, DOF2_GetString(arquivo, "Senha"));
// format(result,128, "Senha agora: %s e %s.", inputtext, PlayerInfo[playerid][pSenha]);
// SendClientMessage(playerid,Branco, result);
if(!strcmp(inputtext, PlayerInfo[playerid][pSenha], false))
{
format(PlayerInfo[playerid][pAdmin], 128, DOF2_GetString(arquivo, "Admin"));
SendClientMessage(playerid, -1, "Vocк foi logado com sucesso, Bem - vindo novamente!");
}
else //errou a senha
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
format(result,128,"Vocк errou sua senha: %i/5", ERRO[playerid]);
SendClientMessage(playerid, -1, result);
ERRO[playerid]++;
if(ERRO[playerid] == 5) // se ele errar 5 vezes ele serб banido !
{
SendClientMessage(playerid, -1, "Vocк foi kickado por nгo logar!");
Kickar(playerid);
return 1;
}
}
}
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40];
new name[MAX_PLAYER_NAME]; // Cria a variavel de nome
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Players/%s.ini", name);
if(DOF2_FileExists(arquivo)) // se o arquivo existir
{
DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
DOF2_SaveFile();
}
Atй entгo tava tudo certinho... Nгo sei aonde errei.
Re: Registro de conta -
AutoMatic2 - 18.02.2019
Percebi um erro e que vc ta setando Admin como um numero Inteiro e ta setando como string
PHP код:
format(PlayerInfo[playerid][pAdmin], 128, DOF2_GetString(arquivo, "Admin"));
O Certo mesmo seria:
PHP код:
PlayerInfo[playerid][Admin] = DOF2::GetInt(arquivo, "Admin");
Olha esse tutorial para fazer pSenha como uma array:
https://sampforum.blast.hk/showthread.php?tid=448081
Re: Registro de conta -
zGuigui2068 - 18.02.2019
Eu realmente nгo tinha reparado nissooo, fiquei mais preocupado com a senha.
Eu jб vi esse e outros tutoriais kkk
Agora o problema msm й
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Players/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
DOF2_SaveFile();
}
Re: Registro de conta -
AutoMatic2 - 18.02.2019
PHP код:
DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha], 128);
Na linguagem SQL eu faзo desse modo nгo sei se com DOF2 vai funcionar
Tbm nгo era pra tб nada errado nessa parte
Re: Registro de conta -
zGuigui2068 - 18.02.2019
O que eu achei engraзado й que, o registro estб igual ao disconect, nгo sei pq o erro...
Re: Registro de conta -
zGuigui2068 - 18.02.2019
Criei um vetor e funcionou!
Obg pela ajuda.