Conde Sapo 4 Postado Outubro 29, 2007 Share Postado Outubro 29, 2007 (editado) Exclusivo para XTibia favor não postar em outro forum Um usuário me pediu um NPC que troca itens....... Olá Conde Sapo. gostaria de pedir ajuda a você, por favor, visite meu tópico de dúvidas... http://www.xtibia.com/forum/index.php?showtopic=67166 Obrigado!!! []'s, Taxijab. Parte do PM data\npc\Taxijab.xml <?xml version="1.0"?> <npc name="Taxijab" script="data/npc/scripts/Cheese.lua" access="3" lookdir="1" autowalk="200" speed="200"> <health now="1" max="1"/> <look type="120" head="38" body="79" legs="107" feet="114"/> </npc> data\npc\scripts\Cheese.lua -- NPC de troca - By Conde Sapo local 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) .. '... Eu daria tudo por alguns queijos... Você tem 5 sobrando aí? Eu posso te dar meu escudo em troca!') 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, 'queijo') or msgcontains(msg, 'escudo') then if doPlayerRemoveItem(cid,2696,5) == 0 then selfSay('Eu disse 5 QUEIJOS!') addon_state = 0 else selfSay('Obrigado, muito mesmo! Tome, isto pode ser útil para você!') doPlayerAddItem(cid, 2512, 1) talk_start = 0 end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. getCreatureName(cid) .. '! Come back soon..') 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('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end É um NPC estremamente simples mas útil pros servers que tem ROOKGARD O Player entra com 5 queijos e sai com o Wooden Shield Os usuários mais criatvos podem transformar este simples NPC em um NPC que troca coisas mais interessantes. o único limite é a criatividade. Boas Criações. :XTibia_smile: Editado Outubro 29, 2007 por Conde Sapo Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/ Compartilhar em outros sites More sharing options...
Master Gm Gui 0 Postado Outubro 29, 2007 Share Postado Outubro 29, 2007 Parece ser bom, valeu conde mais uma vez. Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-414219 Compartilhar em outros sites More sharing options...
GM Matthor 0 Postado Outubro 29, 2007 Share Postado Outubro 29, 2007 (editado) Parece ser bom, vou colocar no meu server. ^^ Mas tenho uma pergunta, ele só troca 1 item por outro, exemplo: Tenho uma MPA, ele troca somente por outro item, não da pra trocar 2 itens por 1 ? @Taxijab Eu sei que da para trocar por dois itens que sejam do mesmo ID, eu queria saber se daria para trocar por dois itens de ID diferente. //GM Matthor Editado Novembro 1, 2007 por GM Matthor Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-414243 Compartilhar em outros sites More sharing options...
Taxijab 0 Postado Outubro 29, 2007 Share Postado Outubro 29, 2007 Muito, muito obrigado, conde! É muito bom saber que ainda existem pessoas assim! E esse NPC não é só de grande ajuda para mim, mas para muitos outros OT's sérios também! @GM Mathor Se estiver enganado, alguém me corrija, mas dá sim, localize a linha: if doPlayerRemoveItem(cid,2696,5) == 0 then Troque pelo item que o player deve ter Troque pela quantidade de itens que o player tem E também: doPlayerAddItem(cid, 2512, 1) Troque pelo item que o player recebe Troque pela quantidade de itens que o player recebe Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-414390 Compartilhar em outros sites More sharing options...
danilo9317 3 Postado Outubro 31, 2007 Share Postado Outubro 31, 2007 Tem jeito não vei so muito fan desse cara muito massa seus tutoris vei, sou teu fan! Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-415207 Compartilhar em outros sites More sharing options...
Ferrys 0 Postado Outubro 31, 2007 Share Postado Outubro 31, 2007 muito bom, mas meu ot não tem rookgard, mas valeu ai mais uma vez Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-415320 Compartilhar em outros sites More sharing options...
ions 0 Postado Novembro 1, 2007 Share Postado Novembro 1, 2007 Aew mais um ótimo tutor... de parabens mesmo cara... num faz mto tempo q me integrei a este FORUM mais os trabalhos dos quais tem maior destaque aki, penso q são os seus Alguem aew me corrige se eu estiver errado sinceramente muito bom e aprovadissimo Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-415935 Compartilhar em outros sites More sharing options...
Lordfire 309 Postado Novembro 10, 2007 Share Postado Novembro 10, 2007 Meu, você é óda! Adorei. Não, amei! Vou fazer um NPC de Soft Boots e Worn~ já que o único limite é a criatividade. Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-420037 Compartilhar em outros sites More sharing options...
Felipe Moraes 151 Postado Novembro 10, 2007 Share Postado Novembro 10, 2007 bem legal parabens ae sapo Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-420115 Compartilhar em outros sites More sharing options...
Conde Sapo 4 Postado Novembro 13, 2007 Autor Share Postado Novembro 13, 2007 muito bom, mas meu ot não temrookgard, Eu disse que o único limite é a criatividade....Veja meu amiguinho ae de baixo !!! Vou fazer um NPC de Soft Boots e Worn~ já que o único limite é a criatividade.Parabundas....Você sabe ler as entrelinhas.... [ ]s :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-421289 Compartilhar em outros sites More sharing options...
Thunder Sandex 0 Postado Novembro 19, 2007 Share Postado Novembro 19, 2007 Como eu faço pra fazer tipo.. troco 2 items por 1 item? Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-423922 Compartilhar em outros sites More sharing options...
victor bacchi 0 Postado Novembro 19, 2007 Share Postado Novembro 19, 2007 Thunder Sundex, Neste caso repare nesta função: if doPlayerRemoveItem(cid,2696,5) == 0 then Troque o 2696 pelo id do item que tem que dar 2 deles. Depois o 5 troque por 2 que no caso seria a quantidade de itens que precisaria ter para trocar! Espero ter ajudado até + Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-423930 Compartilhar em outros sites More sharing options...
Conde Sapo 4 Postado Novembro 27, 2007 Autor Share Postado Novembro 27, 2007 Como eu faço pra fazer tipo..troco 2 items por 1 item? o comando doPlayerRemoveItem é pratico pra conferir 1 item pra nais de 1 item é aconselhavel doPlayerItemCount e só depois remove-los Quantidade1 = getPlayerItemCount(cid,ID_1) Quantidade2 = getPlayerItemCount(cid,ID_2) Quantidade3 = getPlayerItemCount(cid,ID_3) QuantidadeETC = getPlayerItemCount(cid,ID_ETC) if Quantidade1 >= QTD1 and Quantidade2 >= QTD2 and Quantidade3 >= QTD3 and QuantidadeETC >= QTD_ETC then doPlayerSendTextMessage(cid,22,"Você ganhou o item bla-bla-bla!.") doPlayerAddItem(cid,ID_DO_PRESENTE,QTD) doPlayerRemoveItem(cid, ID_1, QTD1) doPlayerRemoveItem(cid, ID_2, QTD2) doPlayerRemoveItem(cid, ID_3, QTD3) doPlayerRemoveItem(cid, ID_ETC, QTD_ETC) end Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-428230 Compartilhar em outros sites More sharing options...
dougauche 0 Postado Dezembro 13, 2007 Share Postado Dezembro 13, 2007 CARA MUITO BOM MESMO AJUDO MUITO Queria fazer uma quest de G Helmet e Teddy Bear Para trocalos por itens mas nunca achei um NPC que pegasse MUITO BOM MESMO Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-439321 Compartilhar em outros sites More sharing options...
Carlic 0 Postado Dezembro 20, 2007 Share Postado Dezembro 20, 2007 Cara muito bom esse NPC, vo colocar no meu server... NOTA 10 Conde, sem palavras!!! See ya! Link para o comentário https://xtibia.com/forum/topic/67224-npc-que-troca-itens/#findComment-445944 Compartilhar em outros sites More sharing options...
Posts Recomendados