Eu Criei 1 NPC Chamado Anunciante Para Mandar Broadcast Para o OT Todo e Quando Eu Abro o OT Aparece Assim:
[29/10/2010 18:54:51] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/broadcaster.lua
[29/10/2010 18:54:51] data/npc/scripts/broadcaster.lua:115: ')' expected near 'Disse'
Se Alguem Puder Me Ajuda , Esse e o Script
-- NPC Broadcaster by Alreth, v1.40, 2008-09-22 17:50 CET
-- Idea by souhlen (Anel)
-- Thanks to Qwerty| for helping fix the spambug
-- Thanks to Colandus for providing changes for compability with Tibia 8.21/22.
focus = 0
next_focus = 0
talk_start = 0
msgHi = 'Ola! Voce Deseja Mandar Uma Mensagem Para o Tibia Lost?'
msgBye = 'Espero Te Ver Novamente!'
price = 5000
inConvo = 0
broadcast = ''
cast = ''
target = 0
following = false
attacking = false
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if (focus == cid) then
selfSay(msgBye)
distFocus = getDistanceToCreature(next_focus)
if (distFocus ~= nil and distFocus < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
else
focus = 0
talk_start = 0
inConvo = 0
end
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreature(cid, type, msg)
msg2 = msg
msg = string.lower(msg)
if (cast ~= '') then
selfSay('does nothing')
-- do nothing, wait until message has been broadcasted and npc has replied
elseif (getDistanceToCreature(cid) >= 4 and focus == cid) then
selfSay('Chegue Mais Perto, '..getCreatureName(cid)..'. Eu Nao Consigo Ouvir O Que Voce Diz.')
elseif (type == 1) then
if ((string.find(msg, '(%a*)hi(%a*)') or string.find(msg, '(%a*)hello(%a*)') or string.find(msg, '(%a*)heylo(%a*)') or string.find(msg, '(%a*)greetings(%a*)')) and (focus == 0) and getDistanceToCreature(cid) < 4) then
selfSay(msgHi)
focus = cid
talk_start = os.clock()
inConvo = 1
elseif ((string.find(msg, '(%a*)hi(%a*)') or string.find(msg, '(%a*)hello(%a*)') or string.find(msg, '(%a*)heylo(%a*)') or string.find(msg, '(%a*)greetings(%a*)')) and (focus ~= cid) and getDistanceToCreature(cid) < 4) then
if (next_focus > 0 and getDistanceToCreature(next_focus) < 4) then
selfSay('Tire Uma Soneca Enquanto Eu Ajudo Os Outros, ' .. getCreatureName(cid) .. '.')
else
selfSay('Espero Ver Voce em Breve, ' .. getCreatureName(cid) .. '.')
next_focus = cid
end
elseif (focus == cid) then
talk_start = os.clock()
if ((msgcontains(msg, 'mensagem') or msgcontains(msg, 'enviar')) and inConvo == 0) then
if (getPlayerLevel(cid) >= 30) then
selfSay('Voce Quer Que Eu Transmita Algo Para Voce?')
inConvo = 1
else
selfSay('Volte Aqui Quando Voce Estiver Em Um LvL Mais Alto')
end
elseif (msgcontains(msg, 'sim') and inConvo == 1) then
selfSay('Me Diga O Que Deseja Transmitir.')
inConvo = 2
elseif (msgcontains(msg, 'nao') and inConvo == 1) then
selfSay('Perhaps tomorrow then..')
if (next_focus > 0 and getDistanceToCreature(next_focus) < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
else
focus = 0
talk_start = 0
inConvo = 0
end
broadcast = ''
elseif (inConvo == 2 and (msg ~= 'parar')) then
if (string.len(msg) > 90) then
selfSay('Sinto Muito Mas Sua Mensagem Nao Pode Ter Mais de 90 Letras, Incluindo Espaco e Outros Caracteres. Diga "mensagem" ou Diga "parar" Para Terminar Nossa Conversa.')
else
broadcast = msg2
selfSay('Voce Quer Pagar '..price..' gold Para Eu Mandar Esta Mensagem? "'..broadcast..'"')
inConvo = 3
end
elseif (msgcontains(msg, 'sim') and inConvo == 3) then
if (doPlayerRemoveMoney(cid, price) == 1) then
doSendBroadcast ("..getCreatureName(cid).." Disse: "..broadcast..")
saycast = os.clock()
inConvo = 1
io.output(io.open("broadcast.log", "a"))
io.write("["..os.date("%y.%m.%d %X").."] <"..getCreatureName(cid).."> "..broadcast.."\n")
io.close()
cast = broadcast
else
selfSay('Voce Nao Pode Usar Este Servico. Por Favor Volte Quando Tiver Mais Dinheiro!')
if (next_focus > 0) then
distFocus = getDistanceToCreature(next_focus)
if (distFocus ~= nil and distFocus < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
else
focus = 0
talk_start = 0
inConvo = 0
end
broadcast = ''
end
end
elseif (msgcontains(msg, 'nao') and inConvo == 3) then
selfSay('Ok then.')
inConvo = 0
broadcast = ''
elseif (string.find(msg, '(%a*)trabalho(%a*)')) then
selfSay('Eu Tenho a Maior Voz do Mundo! Pessoas Me Pagam Para Enviar Mensagens Para Elas.')
inConvo = 0
elseif (string.find(msg, '(%a*)bye(%a*)')) then
selfSay(msgBye)
if (next_focus > 0) then
distFocus = getDistanceToCreature(next_focus)
if (distFocus ~= nil and distFocus < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
else
focus = 0
talk_start = 0
inConvo = 0
end
broadcast = ''
end
end
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
if (cast ~= '' and (os.clock() - saycast) > 1) then
selfSay('Voce Quer Que Eu Transmita Algo Para Voce?')
cast = ''
elseif (os.clock() - talk_start) > 30 then
if (focus > 0) then
selfSay(msgBye)
if (next_focus > 0) then
distFocus = getDistanceToCreature(next_focus)
if (distFocus ~= nil and distFocus < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
else
focus = 0
talk_start = 0
inConvo = 0
end
else
focus = 0
talk_start = 0
inConvo = 0
end
broadcast = ''
end
elseif (focus ~= 0) then
distFocus = getDistanceToCreature(focus)
if (distFocus ~= nil and distFocus > 5) then
selfSay(msgBye)
if (next_focus > 0) then
distFocus = getDistanceToCreature(next_focus)
if (distFocus ~= nil and distFocus < 4) then
selfSay(msgHi)
talk_start = os.clock()
focus = next_focus
next_focus = 0
inConvo = 1
end
else
focus = 0
talk_start = 0
inConvo = 0
end
broadcast = ''
end
end
end
end
Vlws Ai