Portal SAMP
[Tutorial] Desvendando DOF2 - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7)
+--- Tópico: [Tutorial] Desvendando DOF2 (/showthread.php?tid=44)



Desvendando DOF2 - NelsonC. - 28/09/2020

Créditos do Tutorial: João Pedro

Olá pessoal.

Muitas pessoas podem ter dúvidas de como usar a include dof2. Nesse tutorial estarei tirando esse misticismo de que é algo complicado, como vemos em muitas comunidade de SA-MP. Após ler e entender esse tutorial, você estará apto a desenvolver qualquer tipo de sistema que queira armazenar dados.

O que é

DOF2 é uma include responsável por gerenciamento de dados armazenados em arquivos. Ele é muito utilizado em sistemas de registro, salvamento, empresas, etc...

Onde Encontrar

Você pode visualizar o código da include AQUI.

Como instalar

  1. Faça o download do arquivo. Click aqui.
  2. Salve o arquivo na pasta pawno/includes com o nome de DOF2.inc. DOF2 em maiúsculo e a extensão .inc.
  3. Na parte de includes no seu gamemode, normalmente no topo, inclua a include inserindo o código abaixo:
Code:
Código PHP:
#include DOF2 

Pronto. Seguindo esses 3 passos você tem o DOF2 instalado e pronto para ser usado.

Funcionalidade

O sistema de armazenamento e identificação dos dados em DOF2 funciona no formato:
CHAVE=VALOR

CHAVE: é o identificador de cada valor. Você não pode ter chaves com o mesmo nome. Você sempre se referencia a ela quando quer recuperar algum valor.

VALOR: é o valor propriamente dito.

Você pode imaginar esse sistema como um sistema de variável aonde a chave é o nome da variável e o valor é o valor da variável.

PS: Vocês podem encontrar muito no cabeçalho das funções a palavra: key[], que se refere a chave;

Comandos básicos
Vamos agora entrar na parte dos comandos básicos. Nesse tutorial irei ensinar a vocês o uso dos comandos que acho que vocês tem a maior chance de usar. Existem diversos outros comandos, todavia, não os acho pertinentes.

DOF2_CreateFile(file[],password[]="")
Cria um arquivo.

Exemplo de uso:
Código PHP:
new str[128], name[32];
GetPlayerName(playeridnamesizeof(name));
format(strsizeof(str), "contas/%s.ini"name);
DOF2_CreateFile(str); 

DOF2_FileExists(file[])
Verifica se um arquivo existe. Retorna true se existir e false caso contrário.

Exemplo de uso:
Código PHP:
new str[128], name[32];
GetPlayerName(playeridnamesizeof(name));
format(strsizeof(str), "contas/%s.ini"name);
if(!
DOF2_FileExists(strDOF2_CreateFile(str); 

DOF2_RenameFile(oldfile[], newfile[])
Renomeia um arquivo.

Exemplo de uso:
Código PHP:
new str[128], new[128];
format(strsizeof(str), "contas/joao.ini");
format(new, sizeof(new), "contas/pedro.ini");
DOF2_CreateFile(str);
DOF2_RenameFile(str, new); 

DOF2_RemoveFile(file[])
Deleta um arquivo.

Exemplo de uso:
Código PHP:
new str[128];
format(strsizeof(str), "contas/joao.ini");
DOF2_RemoveFile(str); 

DOF2_CopyFile(filetocopy[], newfile[])
Copia o conteúdo de um arquivo e cria um novo arquivo a partir desse conteúdo.

Exemplo de uso:
Código PHP:
new str[128], new[128];
format(strsizeof(str), "contas/joao.ini");
format(new, sizeof(new), "contas/pedro.ini");
DOF2_CreateFile(str);
DOF2_CopyFile(str, new);
DOF2_SaveFile(); 

Salva o conteúdo do arquivo que está sendo trabalhado.

Exemplo de uso:
Código PHP:
new str[128];
format(strsizeof(str), "contas/joao.ini");
DOF2_CreateFile(str);
DOF2_SaveFile();
DOF2_GetString(file[],key[],tag[]="")
DOF2_GetInt(file[],key[],tag[]="")
DOF2_GetFloat(file[],key[],tag[]="")
DOF2_GetBool(file[],key[],tag[]=""

Comandos que recebem um tipo de valor do arquivo: literal, numérico, fracionário e booleano (string, int, float e boolean).

Exemplo de uso:
Código PHP:
new str[128], nome[32], idadeFloat:salario;
format(strsizeof(str), "contas/joao.ini");
nome DOF2_GetString(str"name");
idade DOF2_GetInt(str"age");
salario DOF2_GetFloat(str"salary");
banido DOF2_GetBool(str"banned"); 

DOF2_SetString(file[], key[], tag[]="")
DOF2_SetInt(file[], key[], tag[]="")
DOF2_SetFloat(file[], key[], tag[]="")
Comando que inserem um valor no arquivo. Literal, numérico, fracionário e booleano (string, int, float e boolean).

Exemplo de uso:
Código PHP:
new str[128], nome[32], idadeFloat:salario;
format(strsizeof(str), "contas/joao.ini");
DOF2_SetString(str"name""Joao");
DOF2_SetInt(str"age"18);
DOF2_SetFloat(str"salary"0.0);
DOF2_SetBool(str"banned"true); 

Assim chegamos na parte final do nosso tutorial sobre DOF2. Com esse conteúdo vocês estão aptos a construir qualquer sistema de armazenamento de informações que bem desejarem.

Créditos do Tutorial: João Pedro