Ir para conteúdo

Featured Replies

Postado

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingActions e TalkActions"

Para: "OTServProgramação Open TibiaCódigos Prontos"

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

  • 1 year later...
  • Respostas 8
  • Visualizações 4.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

Postado

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 fontes yur e busca para:

código:

 

if(!talkAction || (talkAction->getChannel() != -1 && talkAction->getChannel() != channelId))
return false;
e substituí-lo com:

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;
Compilar seu servidor agora.

Ir para talkactions / talkactions.xml e adicione:

<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:

function getFixedText(cid, text, replace)
local wrongWords = {"otservlist.org", "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
Creditos Summ.

.

Suporte: http://tibiaking.com/forum/topic/18201-executavelant-dvallitemsotb/

 

ola amigo mas ja tentei  procurar o talkaction.cpp cara não sie onde encontar 

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

Postado

Ótimo parabéns...

Tem como ajuda pra source TFS 1.0 ? 10.76*

Meu talkactions.cpp :

    TalkAction* talkAction = dynamic_cast<TalkAction*>(event);
    if (!talkAction) {
        return false;
  • 5 months 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

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