[TUT] Salvando String em Arquivos

Posted by [DRC]Yaheli On domingo, 20 de junho de 2010 0 comentários

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************************************

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.

0 comentários:

Postar um comentário