Novidades

25 agosto 2011

Progressão Pawn

[Tutorial] Completo usando DFile



Descrição:

Bom, estou aqui para ensinar quem ainda não sabe sobre como utilizar o dfile.
Pra quem não sabe o dfile é um gerenciador de arquivos, muitos chamam de database, cache enfim, a função dele é intermediar entre o HD principal onde estão as informações até o solicitante da informação, em resumo com ele você poderá salvar informações como nível de admin, textos, logs ou qualquer coisa do gênero.


Funções:

Escrita e leitura:
► dfile_WriteInt(Tag, valor);
► dfile_WriteBool(Tag, true/false);
► dfile_WriteFloat(Tag, valor fracionado);
► dfile_WriteString(Tag, Texto);
► dfile_ReadInt(Tag);
► dfile_ReadBool(Tag);
► dfile_ReadFloat(Tag);
► dfile_ReadString(Tag);
► dfile_ReadPerseString(Tag, string);


Criação e remoção:
► dfile_Create(Arquivo[]);
► dfile_Delete(Arquivo[]);
► dfile_CreateDirectory(Pasta[]);
► dfile_DeleteDirectory(Pasta[]);


Verificação e outros:
► dfile_OpenFile(Arquivo);
► dfile_SaveFile();
► dfile_CloseFile();
► dfile_FileExists(Arquivo[]);
► dfile_DirectoryExists(Pasta[]);
► dfile_RenameFile(Arquivo[], NovoNome[]);
► dfile_IsSet(Tag);
► dfile_UnSet(Tag);


Como usar:

Bom, acima vocês viram quais são as funcionalidades do dfile, aprenderemos agora como usa-las com exemplos.

A programação em si segue uma lógica muito básica, assim como no seu dia-a-dia na programação você deve seguir etapas, exemplo.
Você quer setar um valor em um arquivo, antes você deverá verificar se ele existe, caso não exista você deverá cria-lo, nomea-lo, salva-lo e fecha-lo. Então, faremos isso.
Caso você tente escrever algo em um arquivo que não existe logicamente você não conseguirá.

► dfile_FileExists(Arquivo[]);
► dfile_OpenFile(Arquivo);
► dfile_SaveFile();
► dfile_CloseFile();


if(dfile_FileExists("Progressão.ini");

{
dfile_Open("Progressão.ini");
//Funções de escrita
SaveFile();
CloseFile();
}

Explicação:
Bom, com esses passos iremos verificar se o arquivo Progressão.ini existe na scriptfiles usando o id(se) e o dfile_FileExists... caso ele exista, ele após a chave { será aberto usando dfile_Open("Progressão.ini"); Será escrito algo nele(Você deverá usar a função de escrita no lugar da anotação), após isso será salvo o arquivo e será fechado.

Por que no SaveFile e Closefile não precisa do parametro(Arquivo)? Simples, porque a ação SaveFile e CloseFile são direcionadas ao arquivo aberto no momento... Diferente de Dini, o DFile abre apenas o arquivo necessário evitando assim muitas contas desnecessárias por segundo.

► dfile_Create(Arquivo[]);
► dfile_WriteInt(Tag, valor);
► dfile_WriteBool(Tag, true/false);
► dfile_WriteFloat(Tag, valor fracionado);
► dfile_WriteString(Tag, Texto);




if(!dfile_FileExists("Progressão.ini"))//Verifica se NÃO existe por causa do ! Exclamação

{
dfile_Create("Progressão.ini"); //Caso não exista ele criará, pois está entre as chaves
}
dfile_Open("Progressão.ini");
dfile_WriteInt("NumeroInteiro", 12345); //Numeros inteiros, sem fração
dfile_WriteBool("VerdadeiroOuFalso", true); //Variável booleanea, true ou false = verdadeiro ou falso
dfile_WriteFloat("NumeroFracionado", 1234.56789); //Numeros fracionados como coordenada de mapas, quantia de vida entre outros
dfile_WriteString("TextoQualquer", "Progressão Pawn, envolvendo jogadores revolucionando servidores"); //Qualquer tipo de texto
dfile_SaveFile();
dfile_CloseFile();


Explicação:
Caso o arquivo "Progressão.ini" não exista ele será criado pois está entre as chaves, após ele ser criado, será aberto e então será escrito escrito as informações no arquivo, WriteInt serve pra escrever numeros inteiros sem fração, é aceito numeros de 0 à 9(Claro, podendo ser juntos formando dezenas, centenas e assim por diante).
WriteBool salva valores booleaneos que são true/false verdadeiro/falso positivo/negativo.
WriteFloat salva valores fracionados como a coordenada X, Y, Z do mapa entre outras coisas.
WriteString Salva qualquer tipo de texto, sendo ele junto com números ou não, apenas números ou apenas letras, geralmente usado para salvar senhas/logs entre outras informações.
Após escrever esses dados no arquivo ele será salvo e fechado, é bom lembrar que caso você não salve este texto ao fechar o arquivo já não será mais possível ler os dados no arquivo.

► dfile_ReadInt(Tag);
► dfile_ReadBool(Tag);
► dfile_ReadFloat(Tag);
► dfile_ReadString(Tag);


new varInt, Float:varFloat, bool:varBool, varString[128];

if(dfile_FileExists("Progressão.ini"))//Verifica se existeo arquivo
{
dfile_Open("Progressão.ini"); //Caso exista será aberto
varInt = dfile_WriteInt("NumeroInteiro"); //O numero inteiro nesta tag será escrito na varInt
varBool = dfile_WriteBool("VerdadeiroOuFalso"); //O valor bool que estiver nesta tag será escrito na varBool
varFloat = dfile_WriteFloat("NumeroFracionado"); //O numero frácionado que estiver nesta tag será escrito na varFloat
varString = dfile_WriteString("TextoQualquer"); //O texto que estiver nesta tag será escrito na variável varString
dfile_CloseFile(); //Fechará o arquivo sem salvar pois você apenas fez leituras e não alterou nada
}


Explicação:
O script criará as variáveis varInt, varFloat, varBool e varString cada uma com suas respectivas tags, caso o arquivo exista a varInt terá o valor da tag NumeroInteiro atribuído a ela. a varBool terá o valor da tag VerdadeiroOuFalso atribuído à ela, a varFloat terá o valor da tag NumeroFracionado atribuído à ela e a varString terá o texto na tag TextoQualquer atribuído à ela.
Você pode usar também o dfile_ReadPerseString que compara uma string à tag.

► dfile_Create(Arquivo[]);
► dfile_Delete(Arquivo[]);
► dfile_CreateDirectory(Pasta[]);
► dfile_DeleteDirectory(Pasta[]);


if(dfile_FileExists("Progressão.ini"))

{
dfile_Delete("Progressão.ini"); //Deleta o arquivo se existir
}
if(!dfile_FileExists("Progressão.ini"))
{
dfile_Create("Progressão.ini"); //Cria o arquivo se não existir
}

if(!dfile_DirectoryExists("ForumSamp"))
{
dfile_DCreateirectory("ForumSamp"); //Cria a pasta se não existir
}
if(dfile_DirectoryExists("ForumSamp"))
{
dfile_DeleteDirectory("ForumSamp"); //Deleta a pasta se existir
}


Explicação: Nas anotações.


► dfile_RenameFile(Arquivo[], NovoNome[]);
► dfile_IsSet(Tag);
► dfile_UnSet(Tag);



if(dfile_FileExists("Progressão.ini"))

{
if(dfile_IsSet("Exemplo"); //Verifica se a TAG Exemplo tem algum valor
{
dfile_UnSet("Exemplo"); //Tira o valor da TAG Exemplo se existir
}
return 1;
}




dfile_RenameFile("Progressao.ini", "ProgressaoPawn.ini");

Explicação:
Se o arquivo Progressão.ini existir ele vai verificar se a tag 'Exemplo' tem algum valor setado usando dfile_IsSet e caso tenha um valor setado ele irá retirar este valor usando dfile_UnSet.



Clique aqui para fazer o download!
Créditos:
Tutorial by: Josma_CMD
Agradecimento: Progressão Pawn

Progressão Pawn envolvendo jogadores revolucionando servidores.

Subscribe to this Blog via Email :