[TUT] Salvar String em Arquivos -
ipsBruno - 17.05.2010
Salvar Dados Agora Ficou mais facнl
Eis eu aqui fazer um breve tuto simples de como salvar strings em arquivos
Vamos lб:
Primeiramente vamos construir meu comando independente do que queres, Aqui:
Exemplo de Comando:
Aqui o Comando sem Salvar
pawn Код:
if(strcmp("/sogay", cmd, true) == 0)
{
SendClientMessage(playerid,0xFFFF00AA ,"Parabens Vocк Admitiu ser gay");
ResetPlayerWeapons(playerid);
new name[MAX_PLAYER_NAME], string[128];//CORIGIDO
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s admitiu ser gay, parabens!.",name);
SendClientMessageToAll(0xFFFF00AA, string);
SetPlayerHealth(playerid,0)
GivePlayerMoney(playerid,-9999999);
return 1;
}
Sendo:
if(strcmp("/sogay", cmd, true) == 0) -> Comando
SendClientMessage -> Envia Mensagem ao player
ResetPlayerWeapons -> Tira Arma do Player
new name[MAX_PLAYER_NAME], string[128] -> Define "NAMES" E "STRINGS" que vamos usar posteriormente
GetPlayerName -> Pega o nome do Player
SetPlayerHealth -> Muda Vida do Player
GivePlayerMoney -> Muda Dinheiro do Player
format -> Formato de como envia a mensagem e salvarб no arquivo
SendClientMessageToAll -> Envia Mensagem a Todos
%s -> String que foi "pedida" antes (GetPlayerName)
Entгo Como Salvar?
Simples Adicione ao Final do GM:
pawn Код:
stock Gays(const ahahah[])
{
new File:HF = fopen("gaysdmitidos.txt",io_append);
fwrite(HF,ahahah);
fclose(HF);
}
Sendo:
Stock Gays -> Define o cуdigo "GAY" (Leia mais Aqui
https://sampwiki.blast.hk/wiki/Stocks)
newFile -> Novo Arquivo
gaysdmitidos.txt -> Nome + Extenзгo do Arquivo
io_append -> Funзгo que Adiciona ao Arquivo
fclose(HF); -> Fecha/Salva Arquivo
Entгo para Salvar a String Fazemos a seguinte forma...
Adicionamos Isto ao Comando
Isto:
Gays(string); -> IRA USAR A STOCK DEFINIDA ANTERIORMENTE, SALVANDO A STRING AO ARQUIVO
Ficando da Seguinte Forma:
pawn Код:
if(strcmp("/sogay", cmd, true) == 0)//COMANDO
{
SendClientMessage(playerid,0xFFFF00AA ,"Parabens Vocк Admitiu ser gay");//ENViA MSG APENAS AO PLAYER
ResetPlayerWeapons(playerid);//TIRA ARMA
new name[MAX_PLAYER_NAME], string[128];//DEFINE A STRING (CORRIGIDO)
GetPlayerName(playerid, name, sizeof(name));//PEGA NOME PARA COLOCAR NA STRING
format(string, sizeof(string), "%s admitiu ser gay, parabens!.",name);//STRING
SendClientMessageToAll(0xFFFF00AA, string);//ENVIA MSG IN GAME
Gays(string);//USA A STOCK PARA SALVAR STRING
SetPlayerHealth(playerid,0);//MATA PLAYER
GivePlayerMoney(playerid,-9999999);//TIRA DINHEIRO DELE
return 1;
}
Lembrando que se ja Estar com String Definida em seu GM
Deveras Substituir o CODE:
pawn Код:
new name[MAX_PLAYER_NAME], string[128];
por:
pawn Код:
new name[MAX_PLAYER_NAME];
Caso Queiram Pular linhas no Arquivo:
Abaixo de
stock Gays(const ahahah[]):
Antes da linha
fwrite(HF, ahahah), coloque a linha abaixo:
pawn Код:
format(string, sizeof (string), "%s \r\n", ahahah);
Depois substitua a linha
fwrite(HF,ahahah); por:
Assim, com o \r\n dentro do format, cada vez que for registrada mais uma informaзгo no arquivo, ele vai pular uma linha.
Caso utilize apenas o fwrite(HF, ahahah), ele vai escrever sempre um ao lado do outro.
Dica :
By: SimS™
Como Ficou:
CLIQUE AQUI PARA MAIOR VISULIZAЗГO
Crйditos a DraKoN nгo permitido em outro blogs ou sites sem minha permissгo
Re: [TUT] Salvar String em Arquivos -
pawNO - 17.05.2010
kkkkkkkkkkkkkkkkkkkkkkkkk Muito bom, bom mesmo! Parabйns!
Re: [TUT] Salvar String em Arquivos -
russo666 - 17.05.2010
Quote:
Originally Posted by DraKoN
if(strcmp("/sogay", cmd, true) == 0)
{
SendClientMessage(playerid,0xFFFF00AA ,"Parabens Vocк Admitiu ser gay");
ResetPlayerWeapons(playerid);
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s admitiu ser gay, parabens!.",name);
SendClientMessageToAll(0xFFFF00AA, string);
SetPlayerHealth(playerid,0)
GivePlayerMoney(playerid,-9999999);
return 1;
}
|
Pelo que vi assim de repente estб bom para iniciantes aprenderem, nгo posso falar muito porque eu nunca usei as funзхes de ficheiros sem ser com Dini.
De qualquer maneira nгo pude deixar de reparar em duas coisas 'mal'.
Essa maneira de 'comeзar' o comando tens que postar tambйm o new cmd, cmd = bla bla bla, etc. Tu sabes.
Quanto а string, o valor 44 nгo й suficiente.
pawn Код:
%s admitiu ser gay, parabens!.
Tem 30 caracteres + 1 (
null) dб 31 caracteres.
Depois subtrais - 2 de 31 que й de (
%s) e ficas com 29.
Depois o (
%s) serб substituнdo pelo nome do jogador que й o
MAX_PLAYER_NAME que estб definido a 24 salvo erro, mas na realidade й 20.
Entгo 29 + 20 = 49 ou 29 + 24 = 53.
Nгo venhas dizer que й exemplo, bla bla bla, porque muita gente nгo sabe sem ser iniciantes, entгo para prevenir problemas...
P.S - Deixa de postar essas coisas gays sua bixa!
Re: [TUT] Salvar String em Arquivos -
ipsBruno - 17.05.2010
Quote:
Originally Posted by russooooo
Eu Sou o Senhor MateMatica
|
Exemplo:
[mGo]DraKoN admitiu ser gay, parabens!
Aqui No Total Sгo
30 Caracteres
Sendo que meu Nick й Mais ou menos Maior Entгo pensa,
28 Sгo Totais de caracteres Sem Nick, isto Significa que Podemos Adicionar Mais
16 Caracteres para fechar
44
28 + 16 = 44
Lembrando que o
maximo permitido й 16 Caracteres em um Nick do SA:MP se nгo me falha a memуria, por isso ali nгo tem erro...
Mesmo Assim Prevenindo
Faz
Assim
pawn Код:
new name[MAX_PLAYER_NAME], string[128];
Podendo Adicionar 128 Caracteres
Agora Esta Felizzzz
?
@EDIT:
Quote:
Originally Posted by russooooo
Vк o desperdнcio de cells... Para nгo falar que se fizeres sempre isso vai dar problemas.
|
Para Mim Ou Outros Nгo ha problemas em desperdicio, atй porque quem for querer ver esse TUTO concerteza irб adicionar mais uma frasisinha exemplo:
GAYSВO: %s Admitiu ser gay na frente de todo da zero para ele kkkkk.
P.S: kkkkkkk euri do
pawn Код:
#define playerid playerid
tб errado й assim
Tenta Colocar
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Euri kkk
Re: [TUT] Salvar String em Arquivos -
russo666 - 17.05.2010
Й como eu disse nгo й 128.
128 - 49 = 79
128 - 53 = 75
Vк o desperdнcio de cells... Para nгo falar que se fizeres sempre isso vai dar problemas.
Edit: DraKoN experimenta no topo do script: #define playerid playerid e depois compila.
Re: [TUT] Salvar String em Arquivos -
pawNO - 17.05.2010
admitiu ser gay, parabens! = 26 carбcteres
como drakon disse, o numero mбximo de carбcteres de um nick й 16
entгo:
26 + 16 = 42
Nгo vejo nada de errado em sua colocaзгo.
Re: [TUT] Salvar String em Arquivos -
ipsBruno - 17.05.2010
Quote:
Originally Posted by pawNO xD
drakon admitiu ser gay, parabens!
|
O.o Descobriu a America?
Quote:
Originally Posted by pawNO xD
Nгo vejo nada de errado em sua colocaзгo.
|
Tambйm nгo vejo nada demais mesmo assim coloca 128
Como Diz o Ditado
"Melhor Prevenir do que Remediar!"
P.S: o Certo Seria:
...
16... + ...
26... +
1
Nick + ..
Msg.. +
Null
Total
43 e o permitido
44
O.o
Re: [TUT] Salvar String em Arquivos -
pawNO - 17.05.2010
Ochii! coloca 128 entгo!
Re: [TUT] Salvar String em Arquivos -
russo666 - 17.05.2010
Falem quando testarem/souberem das coisas, ok?
Eu sei o que escrevi, nгo vou falar sem saber.
E vк bem o meu post DraKoN.
Quanto ao '#define playerid playerid' eu disse-te para experimentares isso no topo do script, nгo disse que estava certo ou errado. Testa e verбs o que eu queria que percebesses.
Quando usas MAX_PLAYER_NAME ele vai usar 24 e nгo 20 que й o limite, isto salvo erro. De qualquer maneira vк estas 3 prints:
Nick 20 caracteres:
http://i39.tinypic.com/ek1afc.png
Nick 21 caracteres e erro de caracteres mбximos:
http://i41.tinypic.com/4fxukj.png
http://i39.tinypic.com/iwrmg9.png
Re: [TUT] Salvar String em Arquivos -
DartakousLien - 17.05.2010
Resposta ao que eu estav procurando, mas que sorte que eu tenho.
Parabйns o Tutorial estб mesmo muito bom