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 ![]() |