MA

Salvar tudo que os Players Falam [LOG DO CHAT]

Por MatheusEnjoy, 20 de abr. de 2014 em Linguagens de Programação

otserv
19
4.5k
MatheusEnjoyM
20 de abril de 2014 às 22:26

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 Setembro 14 por MatheusEnjoy

TechrlzT
20 de abril de 2014 às 22:45

@EDIT:

 

Funcionou, não esqueçam de criar a pasta players dentro da pasta logs..

Editado Abril 20 por Techrlz

SkyFallS
20 de abril de 2014 às 23:35

Gostei ,

 

Uma duvida , quais versões testadas e o chat que salva é o Default?

TechrlzT
21 de abril de 2014 às 00:25

Gostei ,

 

Uma duvida , quais versões testadas e o chat que salva é o Default?

 

Ele salva tudo

MatheusEnjoyM
21 de abril de 2014 às 17:07

Por favor movam para códigos prontos, isso não e um tutorial.

MaenilseM
21 de abril de 2014 às 18:10

q isso faz aqui? isso é um code c++ e n um tutorial.

 

por falar nisso, muito bom cara esse code.

1 ano depois...
TaigerT
26 de junho de 2015 às 17:53

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

27 de junho de 2015 às 16:55

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

3 anos depois...
bilauxB
10 de janeiro de 2019 às 18:27

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

Yan LiimaY
10 de janeiro de 2019 às 18:47
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!

bilauxB
10 de janeiro de 2019 às 21:44

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!

 

Yan LiimaY
10 de janeiro de 2019 às 22:15
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 Janeiro 11 por nedroesdoksdja

bilauxB
11 de janeiro de 2019 às 11:02

 

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).

 

Yan LiimaY
11 de janeiro de 2019 às 16:08
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.

bilauxB
11 de janeiro de 2019 às 16:45

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.