Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala galerinha do TK, hoje trago a vocês um sistema de bloquear algumas palavras no servidor!

 

 

Sabe aqueles players chatos que entram em seu otserver divulgando o servidor dele dias e dias, leva ban, volta e tudo mais? Poisé, chega disso né.

 

Primeiro vai o script depois explicação/config:

 

sdw4.png

 

 

Em data/talkactions/scripts crie um arquivo com o nome de tibiakingproibiu.lua

function getFixedText(cid, text, replace)
    local wrongWords = {"#####", "ots-list.pl", "google.br", ".ddns.net", "hopto.org", "no-ip.org", "servegame.com"}
        local lowerText = string.lower(text)
        local noSpaceText = string.gsub(string.gsub(string.gsub(lowerText, "%s", ""), "%p", ""),"-", "")
        for w = 1, #wrongWords do
                wordLen = string.len(wrongWords[w])
                for p = 1, string.len(text) do
                        if(string.sub(lowerText, p, p+wordLen-1) == wrongWords[w]) then
                                text = string.sub(text, 1, p-1) .. string.rep(replace, wordLen) .. string.sub(text, p+wordLen)
                        end
                end
        end
 
        if(string.lower(text) == lowerText) then
                for c = 1, #wrongWords do
                        if(string.find(noSpaceText, string.gsub(string.gsub(wrongWords[c], "%p", ""),"-", "")) ~= nil) then
                                return "I want to post forbidden links.."
                        end
                end
        end
    return text
end
 
--[[Channels which are not added to block:
1 - Party Channel
2 - Channel for Staff members
3 - Rule Violation Channel
4 - Channel for Counselors/Tutors
65536 - Private Chat Channel  <-- Private Chat cannot be blocked with this script
]]--
local blocked_channels = {5,8,9} --Game-Chat, Real Chat, Help Channel
local trade_channels = {6,7} --All trade channels <- These are also blocked
local replace = "°" --Symbols which are shown instead of forbidden links -> ° 
local delay = {16246,10} -- {empty_storage, lenght of muted}
 
function onSay(cid, words, param, channel)
        local fixedWords = getFixedText(cid, words, replace)
 
        if words ~= fixedWords and getPlayerAccess(cid) == 0 then
                if getPlayerStorageValue(cid,delay[1]) > os.time() then
                        return doPlayerSendCancel(cid,"Voce foi mutado por ".. getPlayerStorageValue(cid,delay[1])-os.time() .." segundos, aqui e proibido divulgar.")
                end
                setPlayerStorageValue(cid,delay[1],os.time()+delay[2])
                if channel == CHANNEL_DEFAULT then 
                        doCreatureSay(cid, fixedWords, TALKTYPE_SAY)
                        doPlayerPopupFYI(cid, "Link: "..words.." e proibido, mal educado!.")
                        return true
                elseif isInArray(trade_channels, channel) then 
                        doPlayerPopupFYI(cid, "Link: "..words.." e proibido neste canal.")
                        return true
                elseif isInArray(blocked_channels, channel) then
                        doPlayerPopupFYI(cid, "Link: "..words.." e proibido, mal educado!.")
                        doPlayerSendChannelMessage(cid, getCreatureName(cid), fixedWords, TALKTYPE_CHANNEL_Y, channel)
                        return true
                end
        end
        return false
end

Logo em seguida em em talkactions.xml adicione a seguinte linha:

<talkaction words="illegalWords" event="script" value="tibiakingproibiu.lua"/>

Fim da instalação.

sdw4.png

 

Explicação/Config:

 

local wrongWords = {"#####", "ots-list.pl", "google.br", ".ddns.net", "hopto.org", "no-ip.org", "servegame.com"} = Nas aspas ".." você colocará as palavras que deseja proibir, palavrões, divulgações e companhia...

 

local noSpaceText = string.gsub(string.gsub(string.gsub(lowerText, "%s", ""), "%p", ""),"-", "") = Aqui aconselho não mexer. É para evitar divulgações acompanhadas das Words (palavras) ou seja lá está proibido .servegame.com, então quando o player falar baiakfulunao.servegame.com irá proibir.

local delay = {16246,10} -- {empty_storage, lenght of muted} = no 16246 é a storage que irá salvar, não mexa. em 10 é o tempo em segundos que o player será mutado ao falar as palavras proibidas.

doPlayerPopupFYI(cid, "Link: "..words.." e proibido, mal educado!.") = Este doPlayerPopup é que vai aparecer naquelas janelas que aparece para clicar em ok (caixa de mensagens) caso queira alterar para mensagem de console substitua: 

doPlayerPopupFYI(cid, "Link: "..words.." e proibido, mal educado!.")

por  

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Link: "..words.." e proibido, mal educado!.") 

 

 

sdw4.png

 

 

É isso ae lindões do TK, caso haja alguma dúvida peço que perguntem!

 

 

Créditos:

Absolute
OTLAND

 

 

Até o próximo!

 

 

Absolute

 

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

  • Respostas 18
  • Visualizações 5.9k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

acho que eu te amo :')

"Lendas jamais voltam pois são apenas lendas. eu, eu sou real."

 

Attr:// [GM] Eddy

2013 ~ 2014 R.I.P

Kjc5D10.png

O retorno da lenda....

Postado
  • Autor

ta bloquenado qualquer palavra, mesmo sem esta ali dentro

Acho que o script seu bugou, pra ele funcionar tem que deletar isso aqui da segunda linha

"#####"

 

Por isso que informei para mudar, leia o tutorial completo...

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

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

Informação Importante

Confirmação de Termo