Antes de tudo, nada disso foi feito por min, esse tutorial й do "im" e aqui está o link dele https://scriptsamp.forumeiros.com/t48765-tutorial-como-fazer-um-sistema-de-registro-de-servidor-simples#98387 sу estou trazendo para cб explicando para as pessoas que nгo entendem ou que querem algo mais simples e nгo sabem procura no ****** (Vocкs sabem que isso tem muito nesse forum).
Esse é o cуdigo, agora vamos explicar-lo
PHP como:
PHP como:Esse é o cуdigo, agora vamos explicar-lo
PHP como:
- Código:
stock fileLog(file[], string[])
{
new time[6], timestr[32], data[128], File:hFile, thefile[32];
gettime(time[0], time[1], time[2]);
getdate(time[3], time[4], time[5]);
format(timestr,32,"[%02d.%02d|%02d:%02d] ",time[5],time[4], time[0], time[1]);
format(data, sizeof(data), "%s%s\r\n",timestr,string);
format(thefile, sizeof(thefile), "Logs/%s.log", file);
hFile = fopen(thefile, io_append);
fwrite(hFile, data);
fclose(hFile);
return 1;
}
- Código:
stock fileLog(file[], string[])
Essa ação criara a função fileLog, que será o nome do log " file[] " e depois o texto dele " string[] "
PHP como:- Código:
newtime[6], File:hFile, thefile[32], timestr[32], data[128];
Primeiro criamos cinco variáveis, uma delas sendo uma variável de arquivo, outra de separação por assim dizer e o resto string, " time[6] " seria variável variável responsável para criar algumas funções separadas(não sei explicar muito bem isso), sempre temos que por 1 numero a mais que na verdade nгo й a mais, e sim й por causa do 0 que temos que comeзar contando, " File:hFile " seria para salvar o arquivo do log eo resto й string.
PHP como:- Código:
gettime(time[0], time[1], time[2]);
getdate(time[3], time[4], time[5]);
Aqui são duas funções nativas do SA-MP para se obter dados e hora, e é aqui que usaremos uma variável de separação, usando cada número em um local para evitar de precisar criar várias variáveis e usar somente uma no lugar.
PHP como:- Código:
format(timestr,32,"[%02d.%02d|%02d:%02d] ",time[5],time[4], time[0], time[1]);
Aqui é a parte onde anotara a data e a hora que vai ser colocada antes da mensagem de log, utilizando as variáveis " time ", utilizaremos " d " pois somente nъmeros entгo nгo precisa colocar " s ".
PHP como:- Código:
format(data, sizeof(data), "%s%s\r\n",timestr,string);
format(thefile, sizeof(thefile), "Logs/%s.log", file);
Na primeira parte será onde vai pegar a timestr que vimos agora pouco oqueé, e também oque pegara oque o player irá escrever, já na segunda será onde vai ser salva os logs, dessa vez com "s" pois provavelmente utilizaremos nomes.
PHP como:- Código:
hFile = fopen(thefile, io_append);
fwrite(hFile, data);
fclose(hFile);
Na primeira linha é onde o arquivo será aberto, já na segunda será o que ira escrever nesse arquivo e na terceira é para fechar e salvar o arquivo e assim terminar esse tutorial.
Um exemplo de log sério está aqui:
PHP como:
PHP como:
- Código:
CMD:kill(playerid, params[])
{
if(pDados[playerid][Staff] >= 3)
{
if(pDados[playerid][StaffTrabalhando] == 1)
{
new ID, string[60], Nome[MAX_PLAYER_NAME], Nome2[MAX_PLAYER_NAME];
if(sscanf(params, "i", ID)) return SendClientMessage(playerid, C_Server, "Use: /kill [id]");
SetPlayerHealth(ID, 0);
GetPlayerName(ID, Nome, sizeof(Nome));
GetPlayerName(playerid, Nome2, sizeof(Nome2));
format(string, sizeof(string), "%s morreu por %s", Nome, Nome2);
fileLog("Kills", string);
} else { SendClientMessage(playerid, C_Server, "Vocк precisa estб no modo trabalho!"); }
} else { SendClientMessage(playerid, C_Server, "Vocк nгo tem permissгo para usar esse comando!"); }
return 1;
}
Bem como esse é um comando meu sу vou explicar a parte mais importante:
PHP como:- Código:
format(string, sizeof(string), "%s morreu por %s", Nome, Nome2);
fileLog("Kills", string);
Na primeira linha você deve criar um formato para definir como oque aparecerá no log, no meu caso eu botei o nome do jogador morto, logo depois o nome de quem o matou, e depois a parte mais importante, crie o log " fileLog( " Kills", string); " o " Kills " й o nome do log que você pode por qualquer nome que ira salvar, mas lembrem-se de sempre criar o arquivo com o nome que tu botou com o .log no final, exemplo: Já que usei " Kills " eu tenho que ir na minha pasta Logs e criar um arquivo log assim: " Kills.log ", e a string seria a sua string que você usou no format.
Resultado:
Créditos:im