Eu usei a mesma base de script para fazer um npc que troca itens e deu tudo certo, existe esse npc aqui no forum, se vc o pegou em outro lugar ele pode estar imcompleto, o que eu peguei aqui funcionou perfeitamente, confira na seção de npcs...
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- [Resolvido] Npc Bugado!
info
Grupo: Campones
Registrado: 26/01/10
Posts: 23
Reputação: +6
Char no Tibia: ADM BZ

Editado Março 11 por GodBz
acontece que eu ja testei o outro também.
e está bugado
entao por isso que vim pedir aqui
eu nao faço topicos inuteis.
info
Grupo: Campones
Registrado: 26/01/10
Posts: 23
Reputação: +6
Char no Tibia: ADM BZ

Não disse que seu topco era inutil, se fosse eu não teria respondido, faça o seguinte, use o meu script e modifique-o para os itens q vc deseja:
-- NPC de troca - By Conde Sapolocal focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
local addon_state = 0
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.')
focus = 0
talk_start = 0
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 onCreatureSay(cid, type, msg)
msg = string.lower(msg)
if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
selfSay('Olá ' .. getCreatureName(cid) .. '...Hiho! eu preciso de ->queijos<- vc viu algum por ai?')
focus = cid
talk_start = os.clock()
elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.')
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'trade') or msgcontains(msg, 'queijo') then
if doPlayerRemoveItem(cid,XXXX,5) == 0 then
selfSay('achou alguma queijo?!')
addon_state = 0
else
selfSay('Vc achou! pegue seu presente!!')
doPlayerAddItem(cid, XXXX, 1)
talk_start = 0
end
elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. getCreatureName(cid) .. '! Obrigado!..')
focus = 0
talk_start = 0
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
doNpcSetCreatureFocus(focus)
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Se achar mais queijos me avise...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Good bye then.')
focus = 0
end
end
end
Basta mudar os XXXX em vermelho para o id dos itens e mudar as msgs, eu uso ele no meu server e roda perfeitamente...
Creditos: Conde Sapo 98% {quem criou eu acho}
GodBz (eu) 2% {arrumei uns bugs)
Editado Março 12 por GodBz
pode cre valeu mano
POde da closed Topic =)
info
Grupo: Campones
Registrado: 26/01/10
Posts: 23
Reputação: +6
Char no Tibia: ADM BZ

Por nada, precisando só fala ![]()
Editado Março 12 por GodBz





info
Grupo: Banidos
Registrado: 14/02/10
Posts: 50
Reputação: +5
coloquei um Npc que ele troca 5 queijos por um shield...
mais ele nao pega os queijo ele está bugado...
só falar Yes que ele da o shield sem precisar estar com os 5 queijos!
alguem ai pode me ajudar?
ta ai o script
obrigado