INI_Exist(tal[]) - Muitos, muitos me refiro a todos... Evitam essa funзгo, porque? nгo sei...
Pra que exatamente eu usaria isso?
R: pra saber se o arquivo 'tal' existe...
exatamente igual a nativa file, fexist(file[])
--------------------------------------------------------------------------------
INI_Open(tal[]) - Jб diz o nome 'Open', abre/cria arquivos.
Pra que exatamente eu usaria isso?
R: Criar arquivos, caso jб existentes, abri-los...
Exemplo?
R:
if(!INI_Exist("ArquivoTeste.txt"))
{
INI_Open("ArquivoTeste.txt");
INI_Save();
INI_Close();
}
--------------------------------------------------------------------------------
INI_Remove(tal[]) - Jб diz o nome 'Remove', deleta um arquivo.
Pra que exatamente eu usaria isso?
R: Deletar um arquivo indesejбvel.
Exemplo ?
R: Muito simples, й uma funзгo aparte, nгo й necessбrio abrir para deletar.
if(INI_Exist("ArquivoTeste.txt"))
{
INI_Remove("ArquivoTeste.txt");
}
--------------------------------------------------------------------------------
INI_Save() - Jб diz o nome 'Save', salva tudo ocorreu entre o espaзo tempo de INI_Open atй INI_Save.
Pra que exatamente eu usaria isso?
R: Salvar as modificaзхes e arquivaзхes novas destinadas ao arquivo INI_Open(...)
Pode se levar como exemplo oque eu fiz no INI_Open acima.
--------------------------------------------------------------------------------
INI_Close() - Jб diz o nome 'Close', fecha o arquivo INI_Open(...)
Pra que exatamente eu usaria isso?
R: Para evitar erros / danos durante a execuзгo do samp-server...
Pode se levar como exemplo oque eu fiz no INI_Open acima.
--------------------------------------------------------------------------------
INI_WriteString(tag[], line[]) - Escreve uma linha dependente de uma tag...
Pra que exatamente eu usaria isso?
R: Salvar um texto/frase ou um valor de string desejбvel...
Exemplo ?
R:
INI_Open(file[]);
INI_WriteString("Tag", "Texto que desejo salvar");
INI_Save(); // Sempre lembrando deste нtem para salvar modificaзхes/inovaзхes
INI_Close(); // Sempre lembrando deste нtem para fechar seu arquivo.
--------------------------------------------------------------------------------
INI_WriteInt(tag[], integer) - Escreve um valor inteiro dependente de uma tag...
Pra que exatamente eu usaria isso?
R: Salvar valores nъmericos inteiros...
Exemplo ? - segue a mesma linha de raciocinio do INI_WriteString.
R:
INI_Open(file[]);
INI_WriteInt("Tag", 10);
INI_Save();
INI_Close();
--------------------------------------------------------------------------------
INI_WriteFloat(tag[], Float:...) - Escreve um valor com ponto flutuante dependente de um tag.
Pra que exatamente eu usaria isso?
R: Salvar valores de coordenadas...
Exemplo ?
R:
INI_Open(file[]);
INI_WriteFloat("Tag", 10.0);
INI_Save();
INI_Close();
--------------------------------------------------------------------------------
INI_ReadString(str[], tag[], tamanho) - Lк a linha escrita na 'tag[]'
Como exatamente eu usaria isso?
Explicaзхes:
str[] = string para acumular o valor da linha 'tag'.
tag[] = tag que contйm a string que vocк deseja ler...
tamanho = o tamanho em valor que desejas ler, se nгo determinar valor, ele pega o valor da 'str'.
Exemplo ?
R:
if(INI_Exist(file))
{
new ler[128]; // A array criada precisa conter o valor da string contida na tag ou ser maior, para poder armazena-lб sem erros.
INI_Open(file);
INI_ReadString(ler, "Tag");
// agora a string 'ler' vai conter o valor da string escrita na 'tag'
INI_Save();
INI_Close();
}
--------------------------------------------------------------------------------
INI_ReadInt(tag[]) - Lк o valor inteiro salvo na 'tag[]'
Como exatamente eu usaria isso?
Explicaзхes:
tag[] = tag que contйm o valor da integer que vocк deseja ler...
Exemplo ?
R:
if(INI_Exist(file))
{
new inteiro;
INI_Open(file);
inteiro = INI_ReadInt("Tag");
//Agora a integer 'inteiro' vai conter o valor contido na 'tag'
INI_Save();
INI_Close();
}
--------------------------------------------------------------------------------
INI_ReadFloat(tag[]) - Lк o valor com ponto flutuante salvo na 'tag[]'
Como exatamente eu usaria isso?
Explicaзхes:
tag[] = tag que contйm o valor da float que vocк deseja ler...
Exemplo ?
R:
if(INI_Exist(file))
{
new Float:flutuante;
INI_Open(file);
flutuante = INI_ReadFloat("Tag");
//Agora a float 'flutuante' vai conter o valor contido na 'tag'
INI_Save();
INI_Close();
}
--------------------------------------------------------------------------------
#include <a_samp>
#include <SII>
main()
{
new x, a = 10, b = 60;
x = a / b;
salvarResult(x);
}
stock salvarResult(result)
{
if(!INI_Exist("Resultado.txt")) // caso o arquivo 'Resultado.txt' nгo exista ele prossegue o cуdigo.
{
INI_Open("Resultado.txt"); //Cria o arquivo 'Resultado.txt'
INI_WriteInt("Result", result); //Escreve a tag com o conteъdo 'result'
INI_Save(); //salva
INI_Close(); //fecha
}
return 1;
}
#include <a_samp>
#include <SII>
#include <ZCMD>
#include <sscanf2>
CMD:valor(playerid, params[])
{
new val;
if(sscanf(params, "i", val))
{
SendClientMessage(playerid, -1, "/valor [inteiro]");
return 1;
}
salvarValor(val);
return 1;
}
stock salvarValor(i)
{
if(!INI_Exist("Valor.txt")) //Caso o arquivo 'Valor.txt' nгo exista prossegue o cуdigo
{
INI_Open("Valor.txt"); //Cria o arquivo 'Valor.txt'
INI_WriteInt("Tag", i); //escreve uma tag com conteъdo inteiro no valor de 'i'
INI_Save(); //salva
INI_Close(); //fecha
}
}
#include <a_samp>
#include <ZCMD>
#include <sscanf2>
#include <SII>
public OnPlayerConnect(playerid)
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
if(!INI_Exist(nome))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Registrar", "Novato por aqui, digite uma senha para se registrar", "Confirmar", "");
return 1;
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "Jб tens uma conta registrada, digite sua senha para logar.", "Confirmar", "");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{
switch(response)
{
case 0..1:
{
if(strlen(inputtext) > 15 || strlen(inputtext) < 4)
{
SendClientMessage(playerid, -1, "A senha precisa conter mais de 4 caracteres e menos de 15");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Registrar", "Novato por aqui, digite uma senha para se registrar", "Confirmar", "");
}
registrar(playerid, inputtext);
return 1;
}
}
}
case 2:
{
switch(response)
{
case 0..1:
{
logar(playerid, inputtext);
}
}
}
}
return 1;
}
stock registrar(playerid, senha[])
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
INI_Open(nome);
INI_WriteString("Senha", senha);
INI_Save();
INI_Close();
return 1;
}
stock logar(playerid, senha[])
{
new nome[MAX_PLAYER_NAME], ler[15];
GetPlayerName(playerid, nome, sizeof(nome));
INI_Open(nome);
INI_ReadString(ler, "Senha");
INI_Save();
INI_Close();
if(strlen(senha) > 15 || strlen(senha) < 4)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "ERRO, senha errada ! digite sua senha para logar.", "Confirmar", "");
return 0;
}
if(strcmp(senha, ler, true) != -1)
{
SendClientMessage(playerid, -1, "Logado com sucesso.");
// resto das funзхes de login.
return 1;
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "ERRO, senha errada ! digite sua senha para logar.", "Confirmar", "");
}
return 0;
}

|
Muito bom
Muito bem explicado, pena que nao uso SII mais vim a entender DOF2 graзas a vocк com 1 tuto pelo msn vlws Parabens |
|
Bom tutorial cara, to aprendendo sobre pawn e isso vai ser muito importante pra mim
![]() VLW ae '-' |
|
Excelente tutorial, bem explicado.
Mas se eu usasse um desses gerenciadores de arquivos eu usaria y_ini ![]() |
|
'Nunca vou dominar SII, BII, NII, seja oque for...'
|
|
Excelente tutorial, bem explicado.
Mas se eu usasse um desses gerenciadores de arquivos eu usaria y_ini ![]() |