30.09.2010, 15:20
Por [FeK]DraKiNs
Olб a todos hoje irei fazer um tutorial meio completo explicando o funcionamento e como usa-se Dini.
Й algo realmente fбcil porйm precisamos gravar suas funзхes,caso contrбrio passaremos tempo e tempos usando COPIAR-COLAR para fazer um simples sistema de dados.
Primeiramente para poupar meu texto irei explicar o que significa algumas palavras na Linguagem Dini,ou Pawn,claro.
EXPLICANDO BБSICO
TAG:
Bom, tag й aquele definiзгo contida dentro de um Arquivo vamos pegar um exemplo de um arquivo de dados do player [FeK]DraKiNs
Grana=1000
AdminLevel=2
Observem que Destaquei a palavra antes do =
Bom porque destaquei?
Simples й porque essas palavras sгo as tais Tags
Vejamos:
pawn Код:
dini_Set("Arquivo.txt","TAG","FazerOque");
Dentro dele estarб escrito da seguinte maneira:
TAG=FazerOque
Para ler esta Tag dentro do Arquivo usaremos
pawn Код:
dini_Get("Arquivo.txt","TAG");
PRINCIPAIS FUNЗХES
Bom entгo vamos explicar as funзгo e suas respectivas aзхes dentro de um Game Mode:
Escrever e Ler String em Arquivo
dini_Set("Arquivo.txt","Key","String");
dini_Set colocarб um String no Arquivo.txt, lembrando que String й Texto e nгo Nъmeros
Como Defino o Arquivo
Aqui algo simples,apenas precisamos de um Array e Format nela.
pawn Код:
new NAME[24]; new Arquivo[44]; // Defini as 2 Array para Salvar Nome e Local do Arquivo, de definiremos poterioemente
GetPlayerName(playerid,NAME,24); // Pega nome do Player e Salva em NAME
format(Arquivo,44,"%s.ini",NAME); //Formata a Array "Arquivo" deixando No nomedoplayer.ini para ler
dini_Set(Arquivo,"Nome",NAME); // Seta No Arquivo NOME=[FeK]DraKiNs
Lembram meu tutorial de String? й usaremos STRCMP,pois NOMES й String.
Exemplo:
pawn Код:
if(!strcmp(dini_Get("Arquivo.txt", "Senha"), dini_Get("Arquivo2.txt", "Senha"), false))
{
SendClientMessage(playerid,0F0000x,"A Senha do Arquivo1 e Arquivo2 Sгo Iguais");
}
Caso nгo for String? NUMEROS
Bom quando nгo se trata de string normalmente usaremos nъmero,basta usar da seguinte forma
pawn Код:
dini_IntSet("Moneys.ini","[FeK]DraKiNs",GetPlayerMoney(playerid));
Em Moneys.ini
Salvarб
TAG:[Fek]DraKiNs
VALOR: 1000 (No Exemplo Tenho 1000 Reais | Euros )
Ficando:
[FeK]DraKiNs=1000
A Tag й [FeK]DraKiNs como dito anteriormente
Como lerei isso? NUMEROS
Para ler usamos dini_Int ele pegarб:
pawn Код:
dini_Int("Moneys","[FeK]DraKiNs");
Criar & Deletar Arquivo
pawn Код:
dini_Create("DraKiNsCat.ini"); // criar
dini_Remove("DraKiNsCat.ini"); // Remover
ATENЗГO
Caso seu Game Mode esteja fechando й porque ele esta tentando abrir/escrever em um arquivo inexistente
EXEMPLO
Arquivo CAT.ini nгo existe
pawn Код:
dini_Set("CAT.ini","DraKiNS","йgato");
pawn Код:
if(!dini_Exists("CAT.ini")) dini_Create("CAT.ini");
dini_Set("CAT.ini","DraKiNS","йgato");
FIM
ERROS? PM-ME