Mehahbr 1 Postado Janeiro 20, 2012 Share Postado Janeiro 20, 2012 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... Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/ Compartilhar em outros sites More sharing options...
0 Tryller 192 Postado Janeiro 20, 2012 Share Postado Janeiro 20, 2012 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 = 0local 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 Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1181557 Compartilhar em outros sites More sharing options...
0 Mehahbr 1 Postado Janeiro 20, 2012 Autor Share Postado Janeiro 20, 2012 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 Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1181640 Compartilhar em outros sites More sharing options...
0 Tryller 192 Postado Janeiro 20, 2012 Share Postado Janeiro 20, 2012 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 Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1181680 Compartilhar em outros sites More sharing options...
0 Mehahbr 1 Postado Janeiro 21, 2012 Autor Share Postado Janeiro 21, 2012 muito obrigado garoto... te agradeco de coracao Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1182071 Compartilhar em outros sites More sharing options...
0 Poliar 0 Postado Janeiro 21, 2012 Share Postado Janeiro 21, 2012 funcionou vlwss Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1182432 Compartilhar em outros sites More sharing options...
0 Henrique Moura 193 Postado Janeiro 22, 2012 Share Postado Janeiro 22, 2012 Galera estressada..hahaha Movido Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1182569 Compartilhar em outros sites More sharing options...
0 Mehahbr 1 Postado Janeiro 23, 2012 Autor Share Postado Janeiro 23, 2012 Esta dando erro sempre quando 2 personagem tentam falar com o npc Este e o erro Ajudeeee Link para o comentário https://xtibia.com/forum/topic/178626-ajuda-npc-system/#findComment-1183163 Compartilhar em outros sites More sharing options...
Pergunta
Mehahbr 1
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...
Link para o comentário
https://xtibia.com/forum/topic/178626-ajuda-npc-system/Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados