Se um jogador lhe disser que o carro que comprou no jogo desapareceu, o que você faz? Pode ser um bug ou ele pode mentir para ganhar dinheiro no jogo. Uma forma de saber com certeza o que aconteceu é salvar logs com as ações que seus jogadores fazem.
Neste tutorial, explicarei como registrar coisas usando arquivos de texto.
Estou usando uma função chamada fileLog para registrar coisas. A função tem 2 parâmetros: arquivo e string. O parâmetro file é usado para selecionar o arquivo onde os dados são armazenados. Eu uso arquivos separados para cada ação (bans.log para bans e money.log para dinheiro). O parâmetro string é utilizado para passar os dados que serão adicionados ao arquivo.
A função fica assim:
Код:
// armazena a hora e a data na variável timestr.
// armazena os dados passados usando a variável string na variável data.
// abre o arquivo que foi passado pelo parâmetro file. Estou usando a pasta logs para armazenar os logs. você pode usar outra pasta.
// escreve os dados que foram passados pelo parâmetro string para o arquivo
// fecha o arquivo
Os logs são salvos na pasta scriptfiles/logs.
Para registrar as mortes de jogadores, você faria o seguinte:
Код:
Então você deve ir para a pasta scriptfiles/logs e criar um arquivo chamado death.log
Os logs no arquivo death.log ficarão assim:
Код:
Eu uso logs para transferências de dinheiro (money.log), carros comprados/vendidos (cars.log), casas compradas/vendidas (houses.log), negócios comprados/vendidos (businesses.log), reinicializações do servidor - usando OnGameModeInit (init. log), notícias (news.log), ações administrativas (admin.log), kicks e bans (bans.log), erros mysql (errors.log), robs (rob.log), kills (kills.log).
Os logs são muito úteis quando algo dá errado com seu servidor.
Então é isso.
Obrigado por ler.
Não é o tutorial mais útil do mundo, mas pode ser útil para algumas pessoas.
Neste tutorial, explicarei como registrar coisas usando arquivos de texto.
Estou usando uma função chamada fileLog para registrar coisas. A função tem 2 parâmetros: arquivo e string. O parâmetro file é usado para selecionar o arquivo onde os dados são armazenados. Eu uso arquivos separados para cada ação (bans.log para bans e money.log para dinheiro). O parâmetro string é utilizado para passar os dados que serão adicionados ao arquivo.
A função fica assim:
Код:
- Código:
estoque arquivoLog(arquivo[], string[]){
// obtém a hora e a data.
novo tempo[6];
gettime(hora[0], hora[1], hora[2]);
getdate(hora[3], hora[4], hora[5]);
// armazena a hora e a data na variável timestr.
- Código:
novo timestr[32], dados[128];
format(timestr,32,"[%02d.%02d|%02d:%02d] ",hora[5],hora[4], hora[0], hora[1]);
// armazena os dados passados usando a variável string na variável data.
- Código:
// '\r\n' é usado para criar uma nova linha para cada ação
format(dados, sizeof(dados), "%s%s\r\n",timestr,string);
// abre o arquivo que foi passado pelo parâmetro file. Estou usando a pasta logs para armazenar os logs. você pode usar outra pasta.
- Código:
novo Arquivo:hArquivo, oarquivo[32];
format(oarquivo, sizeof(oarquivo), "/logs/%s.log", arquivo);
hArquivo = fopen(oarquivo, io_append);
// escreve os dados que foram passados pelo parâmetro string para o arquivo
- Código:
fwrite(hArquivo, dados);
// fecha o arquivo
- Código:
fclose(hArquivo);
- Código:
retornar 1;
}
Os logs são salvos na pasta scriptfiles/logs.
Para registrar as mortes de jogadores, você faria o seguinte:
Код:
- Código:
public OnPlayerDeath(playerid, killid, razão){
novo nome do jogador[MAX_PLAYER_NAME], registro[128];
GetPlayerName(playerid);
format(log, sizeof(log), "%s morreu.", playerName);
fileLog("mortes",)
}
Então você deve ir para a pasta scriptfiles/logs e criar um arquivo chamado death.log
Os logs no arquivo death.log ficarão assim:
Код:
- Código:
[29.11|00:26] eu morri.
[29.11|00:28] eu morri.
[29.11|00:30] eu morri.
Eu uso logs para transferências de dinheiro (money.log), carros comprados/vendidos (cars.log), casas compradas/vendidas (houses.log), negócios comprados/vendidos (businesses.log), reinicializações do servidor - usando OnGameModeInit (init. log), notícias (news.log), ações administrativas (admin.log), kicks e bans (bans.log), erros mysql (errors.log), robs (rob.log), kills (kills.log).
Os logs são muito úteis quando algo dá errado com seu servidor.
Então é isso.
Obrigado por ler.
Não é o tutorial mais útil do mundo, mas pode ser útil para algumas pessoas.
Creditos i'm