SA-MP Forums Archive
[Pedido] Chatlog - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Chatlog (/showthread.php?tid=625891)



Chatlog - Helielto - 07.01.2017

Seguinte,so novo nesses negocio de pawno e tals,e queria criar um chat logs porque tem uns admin abusando e tudo mais,porйm eu nao sei instalar,me confundo e acaba dando erro,eu comprei um servidor entao sabe ne kk e nois


Re: Como colocar chat log? - GuiKommander - 07.01.2017

Nгo entendi muito bem. poderia explicar mais detalhadamente?


Re: Como colocar chat log? - RazorGuigo - 07.01.2017

veja este tutorial "Log simples"
depois utilize em: OnPlayerText


Re: Como colocar chat log? - Helielto - 07.01.2017

Quero um chat log assim:
Se algum player falar ou qualquer admin usar qualquer comando,para aparecer...


Programando e Relaxando! - RazorGuigo - 07.01.2017

Quote:
Originally Posted by Helielto
Посмотреть сообщение
Quero um chat log assim:
Se algum player falar ou qualquer admin usar qualquer comando,para aparecer...
ja mandei soluзгo:
Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
veja este tutorial "Log simples"
depois utilize em: OnPlayerText



Re: Chatlog - Helielto - 09.01.2017

Nгo deu certo cara,serб que poderia me enviar outro ou aquele melhor explicado?
Valeu.


Re: Chatlog - RodrigoMSR - 09.01.2017

Primeira forma (logs - recomendado):
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	new str[128];
	GetPlayerName(playerid, str, sizeof(str));
	format(str, sizeof(str), "%s digitou '%s'", str, cmdtext);
    SaveLog("log_cmd.txt", str);
	return 1;
}

public OnPlayerText(playerid, text[])
{
    new str[128];
	GetPlayerName(playerid, str, sizeof(str));
	format(str, sizeof(str), "%s: %s", str, text);
	SaveLog("log_chat.txt", str);
	return 1;
}

stock SaveLog(log[], text[])
{
	new str[256];
	new File:file = fopen(log, io_append);
	new dia, mes, ano, hora, minuto, segundo;
    getdate(ano, mes, dia);
    gettime(hora, minuto, segundo);
	format(str, sizeof(str), "[%02d/%02d/%04d %02d:%02d:%02d] %s\r\n", dia, mes, ano, hora, minuto, segundo, text);
	fwrite(file, str);
	fclose(file);
	return 1;
}
OBS: Se vocк usa zCMD, troque OnPlayerCommandText por OnPlayerCommandReceived.
Segunda forma (server_log):

Vocк pode adicionar isso no server.cfg:
Код:
chatlogging 1
Ficarб salvo no seu server_log.txt, porйm fica misturado com mensagens de kill e print, e nгo mostra comandos (a menos que adicione um printf() na callback).


Re: Chatlog - Helielto - 09.01.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Primeira forma (logs - recomendado):
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	new str[128];
	GetPlayerName(playerid, str, sizeof(str));
	format(str, sizeof(str), "%s digitou '%s'", str, cmdtext);
    SaveLog("log_cmd.txt", str);
	return 1;
}

public OnPlayerText(playerid, text[])
{
    new str[128];
	GetPlayerName(playerid, str, sizeof(str));
	format(str, sizeof(str), "%s: %s", str, text);
	SaveLog("log_chat.txt", str);
	return 1;
}

stock SaveLog(log[], text[])
{
	new str[256];
	new File:file = fopen(log, io_append);
	new dia, mes, ano, hora, minuto, segundo;
    getdate(ano, mes, dia);
    gettime(hora, minuto, segundo);
	format(str, sizeof(str), "[%02d/%02d/%04d %02d:%02d:%02d] %s\r\n", dia, mes, ano, hora, minuto, segundo, text);
	fwrite(file, str);
	fclose(file);
	return 1;
}
OBS: Se vocк usa zCMD, troque OnPlayerCommandText por OnPlayerCommandReceived.
Segunda forma (server_log):

Vocк pode adicionar isso no server.cfg:
Код:
chatlogging 1
Ficarб salvo no seu server_log.txt, porйm fica misturado com mensagens de kill e print, e nгo mostra comandos (a menos que adicione um printf() na callback).
Entгo amigo,poderia me ensinar a instalar isso no meu gamemod ? obs: nгo achei Onplayercommandtext no meu gm
( SIM SOU NOB )


Re: Chatlog - RodrigoMSR - 09.01.2017

Й sу colocar isso nas callbacks/"publics" repectivas, procure por OnPlayerCommandText, se achar coloque o cуdigo dentro, faзa o mesmo com OnPlayerText, se nгo achar nada coloque no final do gamemode. O SaveLog coloque no final.


Re: Chatlog - Helielto - 09.01.2017

Entгo,espero que tenha paciencia...
Minha grande dificuldade no pawno foi colocar esses codigos nas callbacks...
Se poder me ajudar sem palavras.

Vou te mandar o onplayertext ai se me ensina colocar...

public OnPlayerText(playerid, text[])
{
if(strfind(text,"!kill",true) == 0) return Kick(playerid);
if(strfind(text,"www.samphax.tk",true) == 0) return Kick(playerid);

if(playerid >= MAX_PLAYERS)
return 0;

if(!APlayerData[playerid][pLogged])
return 0;

if(gettime() - LastMessage[playerid] < 1)
{
Floods[playerid] ++;
if(Floods[playerid] > 2)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "» Vocк foi kickado por flood excessivo.");
Kick(playerid);
}
return 0;
}
if(Muted[playerid] > 0)
{
if(gettime() < Muted[playerid])
{
format(String, 70, " Vocк estб mutado e sу poderб falar em: %d segundos.", Muted[playerid] - gettime());
SendClientMessage(playerid, COLOR_GRAD1, String);
return 0;
}

else if(gettime() > Muted[playerid])
{
Muted[playerid] = 0;
SendClientMessage(playerid, COLOR_GRAD1, " Vocк foi desmutado.");
}
}
new tString[156];
format(tString, sizeof(tString), "%s %s {FFFFFF}ID:[%d]: %s", APlayerData[playerid][pVIP] == 0 ? ("#") : ("(VIP)"), pName[playerid], playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), tString);

LastMessage[playerid] = gettime();
Floods[playerid] = 0;
return 0;
}