Ir para conteúdo

Script Ant-Anuncio Em Ot's


Foquinhaa

Posts Recomendados

Olá ékstibianos , venham disponibilizar um script mtmtmt procurado.

 

correções:

-Script não executa duas vezes agora

Fixo. Arquivo Lua para trabalhar correto com 0.3.6

Agregado a proteção contra spam. Lua (uma vez que ele conta como talkaction não tem cheque sem som)

 

Abra talkaction.cpp de suas fontes e de busca para:

código:

if(!talkAction || (talkAction->getChannel() != -1 && talkAction->getChannel() != channelId))

return false;

e substitui ele por:

 

if(!talkAction)

{

for(TalkActionsMap::iterator it = talksMap.begin(); it != talksMap.end(); ++it)

{

if(it->first == "illegalWords")

{

talkAction = it->second;

break;

}

}

if(talkAction && talkAction->isScripted())

return talkAction->executeSay(creature, words, "", channelId);

return false;

}

else if(talkAction->getChannel() != -1 && talkAction->getChannel() != channelId)

return false;

 

 

 

 

Vá para talkactions / talkactions.xml e adicione:

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

 

Codigo :

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

 

NOTA: Não mudar as palavras = "illegalWords" ou não vai funcionar ..

 

Criar "blocklinks.lua" em talkactions / scripts e cole que neste arquivo:

 

Codigo :

function getFixedText(cid, text, replace)

local wrongWords = {"#####", "ots-list.pl", "google.br", "83.17.165.189", "hopto.org", "no-ip.org", ".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,5} -- {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,"You are still muted for ".. getPlayerStorageValue(cid,delay[1])-os.time() .." seconds.")

end

setPlayerStorageValue(cid,delay[1],os.time()+delay[2])

if channel == CHANNEL_DEFAULT then

doCreatureSay(cid, fixedWords, TALKTYPE_SAY)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Link: "..words.." is forbidden.")

return true

elseif isInArray(trade_channels, channel) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Link: "..words.." is forbidden on the trade channel.")

return true

elseif isInArray(blocked_channels, channel) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Link: "..words.." is forbidden.")

doPlayerSendChannelMessage(cid, getCreatureName(cid), fixedWords, TALKTYPE_CHANNEL_Y, channel)

return true

end

end

return false

end

 

Descrição:

blocked_channels -> Array com o channel_id de canais bloqueados

Nota: Você não pode bloquear mensagens privadas desta forma.

trade_channels = {6,7} - Lista de canais comerciais, que também são bloqueadas

substituir -> O script substitui as ligações com o símbolo entrou aqui

delay = {16246,5} -> função Mute. Primeiro número é uma identificação de armazenamento vazio e segundo a quanto tempo você não pode dizer outra ligação proibido.

---> O jogador não é realmente mudo. Ele pode falar normal, mas ele está "mudo" para links ilegais para esse período de tempo.

 

CRÉDITOS = SUMM (OTLAND)

 

 

 

AJUDEI? REP +

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...