Ir para conteúdo

Featured Replies

Postado

 

Muito bom, funcionou perfeitamente ^^

@Comedinha haveria um jeito de modificar tal sistema para bloquear uma quantidade máxima de caracteres, para evitar por exemplo floods etc?
é que com o uso do elfbot, muitos players simplesmente colocam para sair mensagens com mais caracteres do que o tibia consegue suportar e isso causa conflitos no tibia e assim leva outros players a tomarem dc. 
Desde já, obrigado

 

  • 2 years later...
  • Respostas 18
  • Visualizações 6.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • procura por esse ent:   m_confBool[ADDONS_PREMIUM] = getGlobalBool("addonsOnlyPremium", true);    

  • 5 months later...
  • 2 years later...
Postado
Em 29/03/2013 em 16:41, Bruno Carvalho disse:

Nome: advertisingBlock
Versão: 2.0
Suportada: Tfs 0.3 e 0.4
Descrição: Bloqueie propagandas de outros servidor eu seu sem ficar recompilando toda hora.

Em configmanager.cpp procure:


m_confNumber[PACKETS_PER_SECOND] = getGlobalNumber("packetsPerSecond", 50);

Abaixo adicione:


m_confString[ADVERTISING_BLOCK] = getGlobalString("advertisingBlock", "");

Em configmanager.h procure:


GAME_PORT,

Abaixo adicione:


ADVERTISING_BLOCK,

Em game.cpp procure:


int32_t muted = 0;
    bool mute = player->isMuted(channelId, type, muted);
    if(muted && mute)
    {
        if(muted > 0)
        {
            char buffer[75];
            sprintf(buffer, "You are still muted for %d seconds.", muted);
            player->sendTextMessage(MSG_STATUS_SMALL, buffer);
        }
        else
            player->sendTextMessage(MSG_STATUS_SMALL, "You are muted permanently.");

        return false;
    }

Abaixo adicione:


std::string _text = asLowerCaseString(text);
    for(uint8_t i = 0; i < _text.length(); i++)
    {
        char t = _text[i];
        if(t != '-' && t != '.' && !(t >= 'a' && t <= 'z'))
        {
            _text.erase(i, 1);
            i--;
        }
    }
    
    StringVec strVector;
    strVector = explodeString(g_config.getString(ConfigManager::ADVERTISING_BLOCK), ";");
    for(StringVec::iterator it = strVector.begin(); it != strVector.end(); ++it)
    {
        std::string words []= {(*it)};
        int ii, length;
        length = sizeof(words)/sizeof(words[0]);
        for(ii=0; ii < int(length); ii++)
        {
            if (int(_text.find(words[ii])) > 0 || _text == words[ii])
            {
                player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message, forbidden characters.");
                return false;
                break;
            }
        }
    }

Em config.lua adicione:


advertisingBlock = ""

Configurando:
No config.lua onde tem advertisingBlock = "" substitua para o que deseja bloquear adicionando ; para separar.
 
Exemplo: advertisingBlock = ".net;servegame;no-ip,.net;.com;.com.br;.org;.pl;.net;.bi
z"

Créditos:
Comedinha

OTLand (Versão antiga)

FIZ TUDO OK, PORÉM NÃO DA PRA DIGITAR NENHUM NÚMERO IN GAME :(

Em 29/03/2013 em 16:41, Bruno Carvalho disse:

Nome: advertisingBlock
Versão: 2.0
Suportada: Tfs 0.3 e 0.4
Descrição: Bloqueie propagandas de outros servidor eu seu sem ficar recompilando toda hora.

Em configmanager.cpp procure:


m_confNumber[PACKETS_PER_SECOND] = getGlobalNumber("packetsPerSecond", 50);

Abaixo adicione:


m_confString[ADVERTISING_BLOCK] = getGlobalString("advertisingBlock", "");

Em configmanager.h procure:


GAME_PORT,

Abaixo adicione:


ADVERTISING_BLOCK,

Em game.cpp procure:


int32_t muted = 0;
    bool mute = player->isMuted(channelId, type, muted);
    if(muted && mute)
    {
        if(muted > 0)
        {
            char buffer[75];
            sprintf(buffer, "You are still muted for %d seconds.", muted);
            player->sendTextMessage(MSG_STATUS_SMALL, buffer);
        }
        else
            player->sendTextMessage(MSG_STATUS_SMALL, "You are muted permanently.");

        return false;
    }

Abaixo adicione:


std::string _text = asLowerCaseString(text);
    for(uint8_t i = 0; i < _text.length(); i++)
    {
        char t = _text[i];
        if(t != '-' && t != '.' && !(t >= 'a' && t <= 'z'))
        {
            _text.erase(i, 1);
            i--;
        }
    }
    
    StringVec strVector;
    strVector = explodeString(g_config.getString(ConfigManager::ADVERTISING_BLOCK), ";");
    for(StringVec::iterator it = strVector.begin(); it != strVector.end(); ++it)
    {
        std::string words []= {(*it)};
        int ii, length;
        length = sizeof(words)/sizeof(words[0]);
        for(ii=0; ii < int(length); ii++)
        {
            if (int(_text.find(words[ii])) > 0 || _text == words[ii])
            {
                player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message, forbidden characters.");
                return false;
                break;
            }
        }
    }

Em config.lua adicione:


advertisingBlock = ""

Configurando:
No config.lua onde tem advertisingBlock = "" substitua para o que deseja bloquear adicionando ; para separar.
 
Exemplo: advertisingBlock = ".net;servegame;no-ip,.net;.com;.com.br;.org;.pl;.net;.bi
z"

Créditos:
Comedinha

OTLand (Versão antiga)

NO MEU NÃO DA PRA DIGITAR NUMERO ALGUM DENTRO DO SERVIDOR HELP ME ?

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo