Ir para conteúdo

Salvar tudo que os Players Falam [LOG DO CHAT]


Posts Recomendados

arhPioO.png

Nome: Log Chat
Versão: 1.0
Código: GM BLumaster
Forum Origem: OTSerV
Versão: Todos TFS
Descrição: Salvar tudo que os players falam para procurar bugs depois ou ate banir membros que fazem propaganda.
Lembre que criar a pasta player na pasta log.


Bom, vamos ao tutorial:

game.cpp
Procure por:




#include "group.h"

Abaixo, coloque:

#include "textlogger.h"

Procure por:

Game::playerSay

Dentro da função, encontre:

switch(type)
{
case SPEAK_SAY:
return internalCreatureSay(player, SPEAK_SAY, text, false);
case SPEAK_WHISPER:
return playerWhisper(player, text);
case SPEAK_YELL:
return playerYell(player, text);
(...)

Adicione acima de switch(type)

Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true);

Não se esqueça de criar a pasta players.
Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.

Editado por MatheusEnjoy
Link para o comentário
Compartilhar em outros sites

  • 1 year later...

Salva tudo? Até PM? Uma duvida, tem alguma posibilidade de causar lag?

Deve Salvar Tudo sim, Bom a pasta do Server fica pesado com o Tempo mais a distro nao carrega o Logs, eu verifiquei na minha distro nao carrega so se for outro nome por exemplo: Loading Chatchannel

Link para o comentário
Compartilhar em outros sites

  • 3 years later...
  • Diretor
18 minutos atrás, bilaux disse:

é só fazer isso na source ou tem q ativar algo na compilação a mais ou no config.lua ??

Só fazer isso em sua source e compilar. Pegue a nova distro e execute ela que já estara funcionando!

Link para o comentário
Compartilhar em outros sites

pasta player q é pra criar em logs ou players ??? não precisa ativar nada no config.lua ??

 

 

2 horas atrás, Yan Liima disse:

Só fazer isso em sua source e compilar. Pegue a nova distro e execute ela que já estara funcionando!

 

Link para o comentário
Compartilhar em outros sites

  • Diretor
19 horas atrás, bilaux disse:

pasta player q é pra criar em logs ou players ??? não precisa ativar nada no config.lua ??

 

 

 

Não precisa ativar nada no config.lua irmão, ele ja fica ativado por padrão. Bom... só verifique no seu config.lua se tem isto:

logsDirectory = "data/logs/"

na sua pasta logs tu só cria uma pasta com o nome de: players

La sempre será criado automaticamente os arquivos .log com o nome do jogador. Dentro do arquivo terá data e hora e tudo o que foi dito pelo jogador (inclusive os pms).

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

 

isso aparece com ot on ou quando tiver off, pq está aparecendo nada na pasta...

 

12 horas atrás, Yan Liima disse:

Não precisa ativar nada no config.lua irmão, ele ja fica ativado por padrão. Bom... só verifique no seu config.lua se tem isto:


logsDirectory = "data/logs/"

na sua pasta logs tu só cria uma pasta com o nome de: players

La sempre será criado automaticamente os arquivos .txt com o nome do jogador. Dentro do arquivo terá data e hora e tudo o que foi dito pelo jogador (inclusive os pms).

 

Link para o comentário
Compartilhar em outros sites

  • Diretor
4 horas atrás, bilaux disse:

 

isso aparece com ot on ou quando tiver off, pq está aparecendo nada na pasta...

 

 

Com o servidor on. Assim que algum player dizer algo já é criado o arquivo na hora. Eu utilizo esse logs e funciona perfeitamente. Se você colocou na source, compilou e executou a nova distro criada vai funcionar perfeitamente. Obs, não pode esquecer de criar a pasta players no logs.

Link para o comentário
Compartilhar em outros sites

o meu ficou assim, está certo ??

 

    if(mute)
        player->removeMessageBuffer();

    if(ret == RET_NEEDEXCHANGE)
        return true;
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true);
    switch(type)
    {
        case SPEAK_SAY:
            return internalCreatureSay(player, SPEAK_SAY, text, false);
        case SPEAK_WHISPER:
            return playerWhisper(player, text);
        case SPEAK_YELL:
            return playerYell(player, text);
        case SPEAK_PRIVATE:
        case SPEAK_PRIVATE_RED:
        case SPEAK_RVR_ANSWER:
            return playerSpeakTo(player, type, receiver, text);
        case SPEAK_CHANNEL_O:
        case SPEAK_CHANNEL_Y:
        case SPEAK_CHANNEL_RN:
        case SPEAK_CHANNEL_RA:
        case SPEAK_CHANNEL_W:
        {

37 minutos atrás, Yan Liima disse:

Com o servidor on. Assim que algum player dizer algo já é criado o arquivo na hora. Eu utilizo esse logs e funciona perfeitamente. Se você colocou na source, compilou e executou a nova distro criada vai funcionar perfeitamente. Obs, não pode esquecer de criar a pasta players no logs.

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...