Pedr1nh0 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 (editado) Primeiramente oi, Eu Hoje vim mostrar a minha nova invençao...O NPC de addon só que inves de ele pedir 5 e 10 mil ele pede items, mas nao para addon 1 e addon 2 e sim para cada addon de cada roupa eu pus um certo item!!! 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('Tchau, Volte sempre.') 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 ' .. creatureGetName(cid) .. '! Eu tenho todos os addons é só falar o nome da roupa e primeiro pro addon 1 e segundo pro addon 2 exemplo: Beggar primeiro...Aviso:Nao vendo addon de summoner Female por ela nao ter a roupa!!!') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '!Ja Falo Com Você Um Minuto!.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'citizen primeiro') then selfSay('Voce tem as 100 Chiken Feathers necessarias para conseguir o addon?') talk_state = 1 elseif msgcontains(msg, 'citizen segundo') then selfSay('Você tem os 50 Honeycomb necessarios para conseguir o addon?') talk_state = 2 elseif msgcontains(msg, 'mage primeiro') then selfSay('Você tem as 100 Holy Orchid necessarias para conseguir o addon?') talk_state = 3 elseif msgcontains(msg, 'mage segundo') then selfSay('Você tem o Ferumbras Hat necessario para conseguir o addon?') talk_state = 4 elseif msgcontains(msg, 'hunter primeiro') then selfSay('Você tem as 10 Enchanted Chicken Feather necessarias para conseguir o addon?') talk_state = 5 elseif msgcontains(msg, 'hunter segundo') then selfSay('Você tem a Sniper Glove necessaria para conseguir o addon?') talk_state = 6 elseif msgcontains(msg, 'knight primeiro') then selfSay('Você tem os 100 Iron Ores necessarios para conseguir o addon?') talk_state = 7 elseif msgcontains(msg, 'knight segundo') then selfSay('Você tem os 50 Perfect Behemonth Fangs necessarios para conseguir o addon?') talk_state = 8 elseif msgcontains(msg, 'wizard primeiro') then selfSay('Você tem o Ring Of The Sky necessario para conseguir o addon?') talk_state = 9 elseif msgcontains(msg, 'wizard segundo') then selfSay('Você tem os 50 Holy Orchids necessarios para conseguir o addon?') talk_state = 10 elseif msgcontains(msg, 'warrior primeiro') then selfSay('Você tem as 50 Turtle Shells necessarias para conseguir o addon?') talk_state = 11 elseif msgcontains(msg, 'warrior segundo') then selfSay('Você tem os 50 Ape Fur necessarios para conseguir o addon?') talk_state = 12 elseif msgcontains(msg, 'summoner primeiro') then selfSay('Você tem os 50 Ape Fur necessarios para conseguir o addon?') talk_state = 13 elseif msgcontains(msg, 'summoner segundo') then selfSay('Você tem os 5 Magic Sulphur necessarios para conseguir o addon?') talk_state = 14 elseif msgcontains(msg, 'oriental primeiro') then selfSay('Você tem os 100 Fish Fin necessarios para conseguir o addon?') talk_state = 15 elseif msgcontains(msg, 'oriental segundo') then selfSay('Você tem os 100 Blue Piece Of Cloth necessarios para conseguir o addon?') talk_state = 16 elseif msgcontains(msg, 'druid primeiro') then selfSay('Você tem as 100 Wolf Paws necessarias para conseguir o addon?') talk_state = 17 elseif msgcontains(msg, 'druid segundo') then selfSay('Você tem os 100 Demon Dust necessarios para conseguir o addon?') talk_state = 18 elseif msgcontains(msg, 'barbarian primeiro') then selfSay('Você tem os 100 Spider Silks necessarios para conseguir o addon?') talk_state = 19 elseif msgcontains(msg, 'barbarian segundo') then selfSay('Você tem os 50 Green Piece of Cloth necessarios para conseguir o addon?') talk_state = 20 elseif msgcontains(msg, 'nobleman primeiro') then selfSay('Você tem os 150k necessarios para conseguir o addon?') talk_state = 21 elseif msgcontains(msg, 'nobleman segundo') then selfSay('Você tem os 150k necessarios para conseguir o addon?') talk_state = 22 elseif msgcontains(msg, 'assassin primeiro') then selfSay('Você tem os 100 Beholder Eyes necessarios para conseguir o addon?') talk_state = 23 elseif msgcontains(msg, 'assassin segundo') then selfSay('Você tem os 100 White Pieces of Cloth necessarios para conseguir o addon?') talk_state = 24 elseif msgcontains(msg, 'beggar primeiro') then selfSay('Você tem as 100 Minotaur Leather necessarias para conseguir o addon?') talk_state = 25 elseif msgcontains(msg, 'beggar segundo') then selfSay('Você tem os 20k necessarios para conseguir o addon?') talk_state = 26 elseif msgcontains(msg, 'norseman primeiro') then selfSay('Você tem os 100 Red Dragon Scale necessarios para conseguir o addon?') talk_state = 27 elseif msgcontains(msg, 'norseman segundo') then selfSay('Você tem as 100 Dwarf Beards necessarias para conseguir o addon?') talk_state = 28 elseif msgcontains(msg, 'pirate primeiro') then selfSay('Você tem os 100 Eye Patch necessarios para conseguir o addon?') talk_state = 29 elseif msgcontains(msg, 'pirate segundo') then selfSay('Você tem as 100 Peg Legs necessarias para conseguir o addon?') talk_state = 30 elseif msgcontains(msg, 'shaman primeiro') then selfSay('Você tem as 5 Behemonth Claw necessarias para conseguir o addon?') talk_state = 31 elseif msgcontains(msg, 'shaman segundo') then selfSay('Você tem as 5 Banana Staffs necessarias para conseguir o addon?') talk_state = 32 elseif msgcontains(msg, 'nightmare primeiro') then selfSay('Você tem os 50 Demoniac Essences necessarios para conseguir o addon?') talk_state = 33 elseif msgcontains(msg, 'nightmare segundo') then selfSay('Você tem o Fire Bug necessario para conseguir o addon?') talk_state = 34 elseif msgcontains(msg, 'brotherwood primeiro') then selfSay('Você tem os 100 Perfect Behemonth Fang necessarios para conseguir o addon?') talk_state = 35 elseif msgcontains(msg, 'brotherwood segundo') then selfSay('Você tem as 100 Lizard Leathers necessarias para conseguir o addon?') talk_state = 36 elseif msgcontains(msg, 'jester primeiro') then selfSay('Você tem os 100 Yellow Piece of Cloth necessarios para conseguir o addon?') talk_state = 37 elseif msgcontains(msg, 'jester segundo') then selfSay('Você tem os 100 Green Piece of Cloth necessarios para conseguir o addon?') talk_state = 38 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5890,100) == TRUE then doPlayerAddAddon(cid, 136, 1) doPlayerAddAddon(cid, 128, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5902,50) == TRUE then doPlayerAddAddon(cid, 136, 2) doPlayerAddAddon(cid, 128, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 3 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5922,100) == TRUE then doPlayerAddAddon(cid, 130, 1) doPlayerAddAddon(cid, 138, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 4 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5903,1) == TRUE then doPlayerAddAddon(cid, 130, 2) doPlayerAddAddon(cid, 138, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 5 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5891,10) == TRUE then doPlayerAddAddon(cid, 129, 1) doPlayerAddAddon(cid, 137, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 6 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5875,1) == TRUE then doPlayerAddAddon(cid, 129, 2) doPlayerAddAddon(cid, 137, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 7 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5880,100) == TRUE then doPlayerAddAddon(cid, 131, 1) doPlayerAddAddon(cid, 139, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 8 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5893,50) == TRUE then doPlayerAddAddon(cid, 131, 2) doPlayerAddAddon(cid, 139, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 9 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2123,50) == TRUE then doPlayerAddAddon(cid, 145, 1) doPlayerAddAddon(cid, 149, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 10 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5922,50) == TRUE then doPlayerAddAddon(cid, 145, 2) doPlayerAddAddon(cid, 149, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 11 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5899,50) == TRUE then doPlayerAddAddon(cid, 134, 1) doPlayerAddAddon(cid, 142, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 12 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5883,50) == TRUE then doPlayerAddAddon(cid, 134, 2) doPlayerAddAddon(cid, 142, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 13 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5883,50) == TRUE then doPlayerAddAddon(cid, 133, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 14 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5904,5) == TRUE then doPlayerAddAddon(cid, 133, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 15 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5895,100) == TRUE then doPlayerAddAddon(cid, 146, 1) doPlayerAddAddon(cid, 150, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 16 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5912,50) == TRUE then doPlayerAddAddon(cid, 146, 2) doPlayerAddAddon(cid, 150, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 17 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5897,100) == TRUE then doPlayerAddAddon(cid, 144, 1) doPlayerAddAddon(cid, 148, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 18 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5906,100) == TRUE then doPlayerAddAddon(cid, 144, 2) doPlayerAddAddon(cid, 148, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 19 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5879,100) == TRUE then doPlayerAddAddon(cid, 143, 1) doPlayerAddAddon(cid, 147, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 20 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5910,50) == TRUE then doPlayerAddAddon(cid, 143, 2) doPlayerAddAddon(cid, 147, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 21 then if msgcontains(msg, 'yes') then if pay(cid,150000) == TRUE then doPlayerAddAddon(cid, 132, 1) doPlayerAddAddon(cid, 140, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 22 then if msgcontains(msg, 'yes') then if pay(cid,150000) == TRUE then doPlayerAddAddon(cid, 132, 2) doPlayerAddAddon(cid, 140, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 23 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5898,100) == TRUE then doPlayerAddAddon(cid, 152, 1) doPlayerAddAddon(cid, 156, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 24 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5909,100) == TRUE then doPlayerAddAddon(cid, 152, 2) doPlayerAddAddon(cid, 156, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 25 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5878,100) == TRUE then doPlayerAddAddon(cid, 153, 1) doPlayerAddAddon(cid, 157, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 26 then if msgcontains(msg, 'yes') then if pay(cid,20000) == TRUE then doPlayerAddAddon(cid, 153, 2) doPlayerAddAddon(cid, 157, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 27 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5882,100) == TRUE then doPlayerAddAddon(cid, 251, 1) doPlayerAddAddon(cid, 252, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 28 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5900,100) == TRUE then doPlayerAddAddon(cid, 251, 2) doPlayerAddAddon(cid, 252, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 29 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,6098,100) == TRUE then doPlayerAddAddon(cid, 151, 1) doPlayerAddAddon(cid, 155, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 30 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,6126,100) == TRUE then doPlayerAddAddon(cid, 151, 2) doPlayerAddAddon(cid, 155, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 31 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5930,5) == TRUE then doPlayerAddAddon(cid, 154, 1) doPlayerAddAddon(cid, 158, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 32 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,3966,5) == TRUE then doPlayerAddAddon(cid, 154, 2) doPlayerAddAddon(cid, 158, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 33 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,6500,50) == TRUE then doPlayerAddAddon(cid, 268, 1) doPlayerAddAddon(cid, 269, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 34 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5468,1) == TRUE then doPlayerAddAddon(cid, 268, 2) doPlayerAddAddon(cid, 269, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 35 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5893,100) == TRUE then doPlayerAddAddon(cid, 278, 1) doPlayerAddAddon(cid, 279, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 36 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5876,100) == TRUE then doPlayerAddAddon(cid, 278, 2) doPlayerAddAddon(cid, 279, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 37 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5914,100) == TRUE then doPlayerAddAddon(cid, 273, 1) doPlayerAddAddon(cid, 270, 1) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif talk_state == 38 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5910,100) == TRUE then doPlayerAddAddon(cid, 273, 2) doPlayerAddAddon(cid, 270, 2) else selfSay('Desculpe Você nao tem o necessario para esse addon.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Tchau, ' .. creatureGetName(cid) .. '!') 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('Proximo Porfavor...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Tchau, Tchau Amigo.') focus = 0 end end end Eu tentei me basear no npc de addon do tibia global...portanto havera alguns que até tem os itens do tibia global...mas como nao quis dificultar muito escolhi apenas um item para cada addon para nao dar muita confusao...tambem nao quis dar muito confusao entre sexo entao quando por exemplo voce comprar a bolsa do citizen voce vai receber a da mulher e do homem mais como voce tem apenas um tipo de roupa a outra addon sera apenas ignorada...aahh quase me eskeci voces vao ver que tem um ali que só tem addon para homens...é o do summoner...nao tem roupa de summoner de mulher no ot...na verdade tem mas esta no lugar da roupa de mage porque a roupa de mage nao existe!!! Esse NPC foi 100% criado por Pedr1nh0 (EU) Bem na verdade vamos falar em 99% Eu tive uma duvida sobre o npc e _Ferrari_ me ajudou entao ele merece um pouco de credito Esse NPC é de 8.1...creio que funcione em todos...nao cheguei a testar...e tbm acredito que funcione em 8.0 pois nao há muita diferença entre os npcs de 8.0 pra 8.1 Ai Tbm tem os addons do Jester (akele palhaço) O Brotherhood (O escudeiro axo que é) e o Nightmare (a Morte) Qualquer duvida é só postar que estarei olhando diariamente!!! FIQUEI MAIS DE 4 HORAS FAZENDO ESSE NPC...CE FOR USAR PELO MENOS COMENTE!!! Ce alguem achar alguma erro que eu deixei pra tras...que eu sou meio quarta feira...intaum ce tiver alguma coisa errada comente aki que eu tento resolver o mais rapido possivel pra que mais ninguem pegue o erro!!! Espero ter ajudado !!!!!!Galera o Conde sapo que ajudou arrumando o npc!!!! Vlw ai todo mundo pelo post...eu só nao coloquei todo mundo aki pq ce nao ia ficar uma bagunça!! Editado Julho 22, 2008 por Pedr1nh0 Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/ Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 Excelente :smile_positivo: Aprovadíssimo cara, muito bom esse npc. Usaria no meu server mas o sistema de npcs é diferente. Bom demais, e valeu os créditos :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459462 Compartilhar em outros sites More sharing options...
Pedr1nh0 0 Postado Janeiro 11, 2008 Autor Share Postado Janeiro 11, 2008 Vlw ai pelos elogios...o ruim é que ja tem 20 pessoas que olharam o topico e ninguem ainda posto só vc... Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459471 Compartilhar em outros sites More sharing options...
tuscort 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 EHHHHHH pra vc intender ,vc jah tem q saber bem sobre ot... eu sou iniciante e n intendi como colocar ele no server... poderia estar mais explicado mais vlw pelo esforço... e ótima idéia soh podia explicar um pouco melhor !! Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459474 Compartilhar em outros sites More sharing options...
Pedr1nh0 0 Postado Janeiro 11, 2008 Autor Share Postado Janeiro 11, 2008 (editado) Isso é bem simples...voce vai copiar ali oque eu coloquei dentro do quote para o seu addon.lua la no data>npc>scripts...ce voce nao tiver npc de addon que eu axo meio dificil voce volta na pasta de npcs copia qualquer npc e cola...ai vc vai ter o atalho dakele npc ai voce muda o nome pro nome que voce quer dar ao npc e abre vai estar assim: <?xml version="1.0"?> <npc name="Varkhal" script="data/npc/scripts/addon.lua" access="5" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="134" head="78" body="88" legs="0" feet="88"/> </npc> No lugar onde esta varkhal vc poe o nome do teu npc... aonde ta addon voce dexa addon e ai o resto é voce que decide a roupa e a vida e tudo mais ai depois voce vai para a pasta de scripts e copia e cola algum arquivo... coloque o nome da pasta de addon.lua para bater com o npc e copie oq esta ali emcima para la dentro!!! Espero ter ajudado Editado Janeiro 11, 2008 por Pedr1nh0 Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459475 Compartilhar em outros sites More sharing options...
tuscort 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 Valeuu.... agora eu intendi ótimo post ai pedrinho Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459477 Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 As 20 visitas que você falou 15 foram suas atualizando porque conta. Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459534 Compartilhar em outros sites More sharing options...
MecFlay 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 Vo testa Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459535 Compartilhar em outros sites More sharing options...
Kremus 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 Cara, to me matando aqui pra conseguir fazer um NPC de Addon, só que eu to fazendo com quests, então complica muito mais. Achei muito boa sua script e de muita utilidade, pois pensei em fazer isso (dividir addon por addon) mas eu queria saber aonde que tu descobriu os números de cada addon. Ali aonde aparece "addon(cid,136,1)" e "addon(cid,136,2)" se não me engano. nota: foi só um exemplo. aonde que tu achou aquele 136?? Vlw Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459643 Compartilhar em outros sites More sharing options...
Pedr1nh0 0 Postado Janeiro 11, 2008 Autor Share Postado Janeiro 11, 2008 (editado) Cara, to me matando aqui pra conseguir fazer um NPC de Addon, só que eu to fazendo com quests, então complica muito mais.Achei muito boa sua script e de muita utilidade, pois pensei em fazer isso (dividir addon por addon) mas eu queria saber aonde que tu descobriu os números de cada addon. Ali aonde aparece "addon(cid,136,1)" e "addon(cid,136,2)" se não me engano. nota: foi só um exemplo. aonde que tu achou aquele 136?? Vlw Entao cara é assim no data tem um arquivo que chama outfits.xml la fala o nome e o id de todas as roupas...ai é só vc pegar e copiar. Mas tipo eu vo avisando eu demorei mais ou menos 4 horas e meia catando id de char e o id de item ce vc quiser eu fiz aki num caderno tudo bunitinhu os nomes dos items e os ids e tudo mais...me manda uma pm que agente ce fala!!! Vlw pela correçao _Ferrari_ Editado Janeiro 12, 2008 por Pedr1nh0 Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459647 Compartilhar em outros sites More sharing options...
gbumr 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 AE BELO TOPICO CARA TA DE PARABENS LINDO TRABALHO CARA VAI SER MT UTIL PRO MEU OT BRIGADOO !!! Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459661 Compartilhar em outros sites More sharing options...
Kremus 0 Postado Janeiro 11, 2008 Share Postado Janeiro 11, 2008 Te mandei pm. Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459682 Compartilhar em outros sites More sharing options...
Pedr1nh0 0 Postado Janeiro 11, 2008 Autor Share Postado Janeiro 11, 2008 Pessoal...o Kremus me pediu um otro jeito de fazer o npc e eu axei interessante e eu vo postar aki 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('Tchau, Volte sempre.') 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 ' .. creatureGetName(cid) .. '! Voce gostaria de obter qual addon???') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '!Ja Falo Com Você Um Minuto!.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'citizen 1') then selfSay('Você ira precisar de 100 chicken feathers para conseguir o addon, quando voce conseguir é só falar (chicken feather) e voce ira obter o addon') talk_state = 1 elseif msgcontains(msg, 'chicken feather') then selfSay('Vejo que conseguiu as 100 chicken feathers,deseja obter o addon?') talk_state = 1 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5890,100) then doPlayerAddAddon(cid, 136, 1) doPlayerAddAddon(cid, 128, 1) else selfSay('Voce ta tentando me enrola!?!?') end end talk_state = 0 if msgcontains(msg, 'citizen 2') then selfSay('Você ira precisar de 50 honeycombs para conseguir o addon, quando voce conseguir é só falar (honeycomb) e voce ira obter o addon') talk_state = 2 elseif msgcontains(msg, 'honeycomb') then selfSay('Vejo que conseguiu as 50 heoneycomb,deseja obter o addon?') talk_state = 2 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,5902,50) then doPlayerAddAddon(cid, 136, 1) doPlayerAddAddon(cid, 128, 1) else selfSay('Voce ta tentando me enrola!?!?') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Tchau, ' .. creatureGetName(cid) .. '!') 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('Proximo Porfavor...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Tchau, Tchau Amigo.') focus = 0 end end end Não muda muito mas desse jeito o npc explica como voce deve fazer a quest...ai ficam da escolha de voces!!! Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-459734 Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Janeiro 12, 2008 Share Postado Janeiro 12, 2008 Mas tipo eu vo avisando eu demorei mais ou menos 4 horas e meia catando ip de char e o ip de item item e char tem ip? Você quis dizer id né? edita lá Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-460204 Compartilhar em outros sites More sharing options...
IpChanger 0 Postado Janeiro 12, 2008 Share Postado Janeiro 12, 2008 Mto Bom :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/73983-npc-addon/#findComment-460257 Compartilhar em outros sites More sharing options...
Posts Recomendados