[Ajuda] Npc System

Mehahbr
em Resolvidos

Mehahbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/11Posts: 15Char no Tibia: GOD Mehah

local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

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('Ola ' .. getCreatureName(cid) .. '! Eu vendo parcel, letter e ticket de viagem!')

focus = cid

talk_start = os.clock()

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk with you in one minute.')

 

 

elseif msgcontains(msg, 'ticket city') then

selfSay('Voce tem os 1000 gold coin para comprar 1 ticket of city?')

talk_state = 1

talk_start = os.clock()

elseif talk_state == 1 and msgcontains(msg, 'yes') then

if doPlayerRemoveMoney(cid,1000) == TRUE then

selfSay('Parabens! Voce adquiriu um item!')

local item1 = doPlayerAddItem(cid,1969,1)

doItemSetAttribute(item1,"text","[Air Ticket]: Passaport\nDestination: GM Island.")

doItemSetAttribute(item1,"name","GM Island Passaport")

else

selfSay('Desculpe, voce nao tem dinheiro suficiente!')

end

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Bye ' .. getCreatureName(cid) .. ', Come back.')

focus = 0

talk_start = 0

elseif msgcontains(msg, 'kashsauahsuacuyio') then

selfSay('What?')

talk_state = 0

end

end

function onCreatureChangeOutfit(creature)

end

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Next...')

end

focus = 0

talk_start = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Good Bye')

focus = 0

talk_start = 0

end

end

end

 

Como passo esse npc para versao 8.6? Obrigado...

Tryller

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/10/10Posts: 238Gênero: MasculinoChar no Tibia: Yirosh

Cara eu arurmei certinhu.

Mas esse forum nao tme uma tag que deixo o codigo certinhu ;x

Mas ta ai testei no Crystal Server e funcionou :)

Se funfa ai me da um rep xD

 

local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

 

function onThingMove(creature, thing, oldpos, oldstackpos)end

function onCreatureAppear(creature)end

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Good bye then.', cid)

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('Ola ' .. getCreatureName(cid) .. '! Eu vendo {parcel}, {letter} e {ticket city}!', cid)

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'ticket city') or msgcontains(msg, 'ticket') then

selfSay('Voce tem os 1000 gold coin para comprar 1 ticket of city?', cid)

talk_state = 1

talk_start = os.clock()

elseif talk_state == 1 and msgcontains(msg, 'yes') then

 

if doPlayerRemoveMoney(cid, 1000) == TRUE then

selfSay('Parabens! Voce adquiriu um item!', cid)

local item1 = doPlayerAddItem(cid,1969,1)

doItemSetAttribute(item1,"text","[Air Ticket]: Passaport\nDestination: GM Island.")

doItemSetAttribute(item1,"name","GM Island Passaport")

else

selfSay('Desculpe, voce nao tem dinheiro suficiente!', cid)

end

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Bye ' .. getCreatureName(cid) .. ', Come back.', cid)

focus = 0

talk_start = 0

elseif msgcontains(msg, 'kashsauahsuacuyio') then

selfSay('What?', cid)

talk_state = 0

end

end

 

function onCreatureChangeOutfit(creature)end

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Next...', cid)

end

focus = 0

talk_start = 0

end

 

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Good Bye', cid)

focus = 0

talk_start = 0

end

end

end

Mehahbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/11Posts: 15Char no Tibia: GOD Mehah

mano tipo eu sei que ele funciona so que ele nao fala no NPC Chat entende.? Queria por apra ele falar no NPC Chat .... AJudeemm... Thankss

Tryller

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 05/10/10Posts: 238Gênero: MasculinoChar no Tibia: Yirosh

Testou o script que eu puz? -.-

Primeiro teste antes de reclamar.

Alem de eu ajudar ainda saiu por mal u.u

TESTA ESSA BAGAÇA

Mehahbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/11Posts: 15Char no Tibia: GOD Mehah

muito obrigado garoto... te agradeco de coracao

Poliar

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/06/11Posts: 16

funcionou vlwss :D

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Galera estressada..hahaha

Movido :)

KaKilo ~
 


Lom14fD.png

Mehahbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/11Posts: 15Char no Tibia: GOD Mehah

Esta dando erro sempre quando 2 personagem tentam falar com o npc

 

Este e o erro sadac.jpg

 

Ajudeeee