[TUT] Salvando String em Arquivos

TESTE
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
//*************************Admitir************************************
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;
}
//*************************Admitir************************************

Sendo:
if(strcmp("/sogay", cmd, true) == 0) -> Comando
SendClientMessage -> Envia Mensagem ao player
ResetPlayerWeapons -> Tira Arma do Player
new name[MAX_PLAYER_NAME], string[44] -> 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:

stock Gays(const ahahah[])//DEFINE "GAYS"
{
new File:HF = fopen("gaysdmitidos.txt",io_append);//CRIAR ARQUIVO (io_append)
fwrite(HF,ahahah);
fclose(HF);//FECHA ARQUIVO
}
Sendo:
Stock Gays -> Define o código "GAY" (Leia mais Aqui http://wiki.sa-mp.com/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:

//*************************Admitir************************************
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[44];//DEFINE A STRING
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;
}
//*************************Admitir************************************

Caso Queiram Pular linhas no Arquivo:

Abaixo de stock Gays(const ahahah[]):
PAWN Code:
new string[128];
Antes da linha fwrite(HF, ahahah), coloque a linha abaixo:
PAWN Code:
format(string, sizeof (string), "%s \r\n", ahahah);
Depois substitua a linha fwrite(HF,ahahah); por:
PAWN Code:
fwrite(HF, string);

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:
Créditos a DraKoN não permitido em outro blogs ou sites sem minha permissão

StumbleDiggTechnoratiRedditDelicious