DOF2 Salvamento de arquivo -
zHellSync - 09.12.2018
Olб, sou bem leigo em programaзгo mas resolvi me aprofundar e criar um servidor apenas para praticar.
De forma mais direta.. preciso de ajuda com a include
DOF2 pois quero aprender usar ela para armazenar dados das contas que jogarem no meu servidor, a proposito a
DOF2 й exatamente pra isso porйm eu queria pedir a alguйm que se possнvel mandar uma GM limpa utilizando esta include para salvar contas apуs usar o comando
/registrar eu sei que existe cуdigos pronto no fуrum com isso porem todos sгo utilizados Diбlogos e eu nгo quero em Dialogo pois quero entender o funcionamento dela a partir do bбsico sem ter que agora ter que procurar entender sobre Diбlogos...
[Edit]
de preferencia utilizando
ZCMD
Agradeзo dкs de jб!
Re: DOF2 Salvamento de arquivo -
ipsLuan - 09.12.2018
O que vocк quer?
https://sampforum.blast.hk/showthread.php?tid=422519
Re: DOF2 Salvamento de arquivo -
zHellSync - 09.12.2018
Quote:
Originally Posted by ipsLuan
|
Estava observando este tуpico.. porem ele nгo ensina como e quando utilizar o cуdigo da DOF2 para salvar e criar o arquivo apуs setar as strings, bool.. etc.. apуs fazer seguindo estes conceitos, de forma que eu entendi, o servidor parava de funcionar e a pasta
contas nгo criava, muito menos o arquivo
Re: DOF2 Salvamento de arquivo -
zHellSync - 09.12.2018
meu ta assim.. e mesmo ao mandar o comando registrar ele encerra o servidor e diz que caiu a conexгo
PHP код:
//topo
#define pContas "contas/%s.ini"
//------------------------COMANDO PARA REGISTRAR--------------------------------
CMD:registrar(playerid, params[])
{
new str_psenha[22], str_pnome[MAX_PLAYER_NAME], str_format[128];
if(sscanf(params, "s", str_psenha)) return SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Para registrar vocк precisa digitar: /registrar [Senha]");
GetPlayerName(playerid, str_pnome, sizeof(str_pnome));
format(str_format, sizeof(str_format), pContas, str_pnome);
if(DOF2_FileExists(pContas))
{
SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Vocк jб estб cadastrado. faзa login usando: /Login [Senha]");
}
else
{
DOF2_CreateFile(str_format);
}
return 1;
}
Re: DOF2 Salvamento de arquivo -
ipsLuan - 09.12.2018
Quote:
Originally Posted by zHellSync
Estava observando este tуpico.. porem ele nгo ensina como e quando utilizar o cуdigo da DOF2 para salvar e criar o arquivo apуs setar as strings, bool.. etc.. apуs fazer seguindo estes conceitos, de forma que eu entendi, o servidor parava de funcionar e a pasta contas nгo criava, muito menos o arquivo
|
Quando utilizar DOF2? Em salvamentos de dados.
Sinto muito em lhe informar, mas DOF2 cria arquivos, nгo pastas.
PHP код:
//Criando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
DOF2_CreateFile(arquivo); //criamos o arquivo ipsLuan.ini
//Verificando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
//Salvando a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
DOF2_SetString(arquivo, "Password", Player[playerid][Pass]); //setamos a string contida em Pass com a tag Password
DOF2_SaveFile(); //salvamos o arquivo
//Obtendo a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
new senhaJogador[50];
format(senhaJogador, sizeof(senhaJogador), "%s", DOF2_GetString(arquivo, "Password"));
printf("A senha do jogador й %s", senhaJogador);
Quote:
Originally Posted by zHellSync
meu ta assim.. e mesmo ao mandar o comando registrar ele encerra o servidor e diz que caiu a conexгo
PHP код:
//topo
#define pContas "contas/%s.ini"
//------------------------COMANDO PARA REGISTRAR--------------------------------
CMD:registrar(playerid, params[])
{
new str_psenha[22], str_pnome[MAX_PLAYER_NAME], str_format[128];
if(sscanf(params, "s", str_psenha)) return SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Para registrar vocк precisa digitar: /registrar [Senha]");
GetPlayerName(playerid, str_pnome, sizeof(str_pnome));
format(str_format, sizeof(str_format), pContas, str_pnome);
if(DOF2_FileExists(pContas))
{
SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Vocк jб estб cadastrado. faзa login usando: /Login [Senha]");
}
else
{
DOF2_CreateFile(str_format);
}
return 1;
}
|
Provavelmente a pasta nгo foi criada.
Re: DOF2 Salvamento de arquivo -
zHellSync - 09.12.2018
Quote:
Originally Posted by ipsLuan
Quando utilizar DOF2? Em salvamentos de dados.
Sinto muito em lhe informar, mas DOF2 cria arquivos, nгo pastas.
PHP код:
//Criando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
DOF2_CreateFile(arquivo); //criamos o arquivo ipsLuan.ini
//Verificando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
//Salvando a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
DOF2_SetString(arquivo, "Password", Player[playerid][Pass]); //setamos a string contida em Pass com a tag Password
DOF2_SaveFile(); //salvamos o arquivo
//Obtendo a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
new senhaJogador[50];
format(senhaJogador, sizeof(senhaJogador), "%s", DOF2_GetString(arquivo, "Password"));
printf("A senha do jogador й %s", senhaJogador);
Provavelmente a pasta nгo foi criada.
|
obrigado amigo, deu certo apуs eu criar a pasta, vocк sabe qual include pode ser utilizada para criar uma pasta?
Re: DOF2 Salvamento de arquivo -
ipsLuan - 09.12.2018
Quote:
Originally Posted by zHellSync
obrigado amigo, deu certo apуs eu criar a pasta, vocк sabe qual include pode ser utilizada para criar uma pasta?
|
Use o plugin FileManager.
https://sampforum.blast.hk/showthread.php?tid=92246
Re: DOF2 Salvamento de arquivo -
zHellSync - 09.12.2018
Quote:
Originally Posted by ipsLuan
Quando utilizar DOF2? Em salvamentos de dados.
Sinto muito em lhe informar, mas DOF2 cria arquivos, nгo pastas.
PHP код:
//Criando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
DOF2_CreateFile(arquivo); //criamos o arquivo ipsLuan.ini
//Verificando arquivos
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador. sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
//Salvando a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
if(!DOF2_FileExists(arquivo) DOF2_CreateFile(arquivo); //se nгo tiver o arquivo criado, criamos o arquivo ipsLuan.ini
DOF2_SetString(arquivo, "Password", Player[playerid][Pass]); //setamos a string contida em Pass com a tag Password
DOF2_SaveFile(); //salvamos o arquivo
//Obtendo a senha do jogador
new arquivo[50], nomeJogador[24];
GetPlayerName(playerid, nomeJogador, sizeof(nomeJogador)); //pegamos o nome do jogador
format(arquivo, sizeof(arquivo), "Contas/%s.ini", nomeJogador); //formatamos o arquivo
new senhaJogador[50];
format(senhaJogador, sizeof(senhaJogador), "%s", DOF2_GetString(arquivo, "Password"));
printf("A senha do jogador й %s", senhaJogador);
Provavelmente a pasta nгo foi criada.
|
Pra nгo ser necessбrio criar um novo tуpico irei perguntar aqui mesmo, atй porque se refere ao mesmo assunto..
eu fiz desta forma:
PHP код:
//topo da GM
#define pContas "contas/%s.ini"
//------------------------COMANDO PARA REGISTRAR--------------------------------
CMD:registrar(playerid, params[])
{
new str_psenha[22], str_pnome[MAX_PLAYER_NAME], str_format[128];
if(sscanf(params, "s[22]", str_psenha)) return SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Para registrar vocк precisa digitar: /registrar [Senha]");
GetPlayerName(playerid, str_pnome, sizeof(str_pnome));
format(str_format, sizeof(str_format), pContas, str_pnome);
if(!DOF2_FileExists(str_format)) DOF2_CreateFile(str_format);
DOF2_SetString(pContas, "Senha", str_psenha);
DOF2_SetString(pContas, "Email", "Nenhum");
DOF2_SetBool(pContas, "Vip", false);
DOF2_SetInt(pContas, "DiasVip", 0);
DOF2_SetInt(pContas, "HorasVip", 0);
DOF2_SetInt(pContas, "MinutosVip", 0);
DOF2_SetInt(pContas, "SegundosVip", 0);
DOF2_SetBool(pContas, "Admin", false);
DOF2_SetInt(pContas, "AdminLevel", 0);
DOF2_SaveFile();
return 1;
}
ele cria o arquivo na pasta contas, porйm nгo seta essa parte das strings.. o que pode ta acontecendo?
Re: DOF2 Salvamento de arquivo -
ipsLuan - 09.12.2018
Vocк deve alterar para strformat no DOF2 ao invйs de pConta.
Re: DOF2 Salvamento de arquivo -
MultiKill - 09.12.2018
Quote:
Originally Posted by zHellSync
Pra nгo ser necessбrio criar um novo tуpico irei perguntar aqui mesmo, atй porque se refere ao mesmo assunto..
eu fiz desta forma:
PHP код:
//topo da GM
#define pContas "contas/%s.ini"
//------------------------COMANDO PARA REGISTRAR--------------------------------
CMD:registrar(playerid, params[])
{
new str_psenha[22], str_pnome[MAX_PLAYER_NAME], str_format[128];
if(sscanf(params, "s[22]", str_psenha)) return SendClientMessage(playerid, Cor_Vermelha, "| ERRO | Para registrar vocк precisa digitar: /registrar [Senha]");
GetPlayerName(playerid, str_pnome, sizeof(str_pnome));
format(str_format, sizeof(str_format), pContas, str_pnome);
if(!DOF2_FileExists(str_format)) DOF2_CreateFile(str_format);
DOF2_SetString(pContas, "Senha", str_psenha);
DOF2_SetString(pContas, "Email", "Nenhum");
DOF2_SetBool(pContas, "Vip", false);
DOF2_SetInt(pContas, "DiasVip", 0);
DOF2_SetInt(pContas, "HorasVip", 0);
DOF2_SetInt(pContas, "MinutosVip", 0);
DOF2_SetInt(pContas, "SegundosVip", 0);
DOF2_SetBool(pContas, "Admin", false);
DOF2_SetInt(pContas, "AdminLevel", 0);
DOF2_SaveFile();
return 1;
}
ele cria o arquivo na pasta contas, porйm nгo seta essa parte das strings.. o que pode ta acontecendo?
|
Vocк esta passando a constante
pContas em vez da string
str_format na hora de setar um dos dados, o que ocorre de tentar salvar em um arquivo que nгo existe.
Basta mudar para:
PHP код:
DOF2_SetString(str_format, "Senha", str_psenha);