Ir para conteúdo
  • Cadastre-se

Posts Recomendados

como ele disse, não tem como fazer em lua.

pois não tem como checar a frase inteira para pegar o meio dela.

em c++ se souber...

Abra talkaction.cpp, procure por:


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

return false;
Troque 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;
compile seu server novamente. em talkactions/talkactions.xml adicione:
<talkaction words="illegalWords" event="script" value="blocklinks.lua"/>
talkactions/scripts/blocklinks.lua:
function getFixedText(cid, text, replace)

local wrongWords = {"otservlist.org", "ots-list.pl", "servegame.com", "no-ip.biz", "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


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

:b

Editado por dukeeh (veja o histórico de edições)

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

Cara, é realmente bastante coisa, mas não tão complexo. Presumo que use windows, então. Siga o tutorial feito traduzido pelo nosso amigo OhGod.

Tutorial.

Parece dificil, mas há fotos e está bem explicado.

Editado por dukeeh (veja o histórico de edições)

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

boa cara!

mais deu esse erro aki:

[09/08/2012 03:58:48] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/blocklinks.lua:52: unfinished long comment near '<eof>'

[09/08/2012 03:58:48] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/blocklinks.lua)

[09/08/2012 03:58:48] data/talkactions/scripts/blocklinks.lua:52: unfinished long comment near '<eof>'

Link para o post
Compartilhar em outros sites


function getFixedText(cid, text, replace)

local wrongWords = {"otservlist.org", "ots-list.pl", "servegame.com", "no-ip.biz", "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


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

troca por esse

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

SHOW DE BOLA, agora nao tem como os cara anunciar mesmo usando ip com letras minuscular e maiusculas haha, valew mesmo brow, funfo certinho, to usandocom o trunk3777 e suas dlls abrç

Aldebaran-OT Baiak Custom inaugurado 27/08/12
Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 9 months later...
  • 3 weeks later...
  • 11 months later...

Poderia ficar assim

local blockedWords = {".servegame.com", "no-ip.biz"} -- adicione mais ips se quiser
local returnWords = {"Melhor servidor de tibia você não acha?","Sempre jogarei esse servidor"} -- se quiser + coloque

if string.find(param, blockedWords) then
doPlayerSay(cid, string.gsub(param, blockedWords,returnWords) ,1)
doPlayerSendTextMessage(cid, 28, "Você não pode dizer "..param.." no servidor é proibido.")
return true
end

 

Cara , meu deu este erro porqe

 

[19/06/2014 08:58:03] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/antidivulgacao.lua:14: 'end' expected (to close 'function' at line 2) near '<eof>'

[19/06/2014 08:58:03] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/antidivulgacao.lua)

[19/06/2014 08:58:03] data/talkactions/scripts/antidivulgacao.lua:14: 'end' expected (to close 'function' at line 2) near '<eof>'


------Baiak Vida Loka-----
   --Oяiginals ® - Rєcuse Iмiταçõєs™--    
▌█║▌│║▌║▌│█│▌║│█║█║│▌║│█║▌
---Suporte -Mapper -Scripter -PHP---
®CipSoft GmbH - ot servers!
 

Link para o post
Compartilhar em outros sites
  • 1 year later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo