zaratustralogin 0 Postado Junho 26, 2009 Share Postado Junho 26, 2009 Tipo do script: NPC Protocolo (versão do Tibia): 8.40 Servidor utilizado: Tfs 0.3.1 Boa Tarde a todos, Eu estou fazendo um projeto com tudo "diferenciado" em relação aos outros Ots, e venho através deste post pedir se alguem poderia fazer para mim, ou me ajudar a fazer um NPC, em que ele vendesse itens como armas e armaduras em troca de outros itens. Calma! darei um exemplo :smile_positivo: Item desejado: Dragon Shield Itens necessários para o NPC forjar o item: 20 iron ore, 3 piece of iron, 3 green dragon leather Item desejado de gradativamente maior: Vampire Shield Itens necessários para o NPC forjar o item: 1 dragon shield, 28 vampire dust, 7 piece of iron assim por diante... (vale lembrar que isto foi só um exemplo do que eu quero) se puder fazer o script com esses exemplos pra mim continuar já seria uma ajuda e tanto! :mdr: Esse é meu primeiro post, por favor, me auxilie caso eu esteja fazendo algo errado. Agradeço desde já. Link para o comentário Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Junho 27, 2009 Share Postado Junho 27, 2009 Eu não mexo com npc, mas posso te dar a action, ai você faz com alavanca sei lá..: function onUse(cid,item,pos) if getThingfromPos({x=123,y=123,z=7,stackpos=2}) == 1234 and getThingfromPos({{x=123,y=123,z=7,stackpos=3}) == 1234 and getThingfromPos({x=123,y=123,z=7,stackpos=4}) == 1234 then doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=2})) doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=3})) doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=4})) doCreateItem(1234,1,{x=123,y=123,z=7,stackpos=2}) doSendMagicEffect({x=123,y=123,z=7,stackpos=2},4) else doPlayerSendCancel(cid,"Sorry but the itens are incorrect.") end end Então.. os itens estão sobre uma mesa, um sobre o outro. São três itens. Os ids deles estão em 1234 e as posições x e y 123. Altere elas mas não altere o stackpos. O item criado fica sobre a mesa e é enviado um efeito sobre ela. A posição da mesa também esta em 123,123,7. Espero que funcione pois não testei :smile_positivo: Link para o comentário Compartilhar em outros sites More sharing options...
zaratustralogin 0 Postado Junho 28, 2009 Autor Share Postado Junho 28, 2009 Eu não mexo com npc, mas posso te dar a action, ai você faz com alavanca sei lá..: function onUse(cid,item,pos) if getThingfromPos({x=123,y=123,z=7,stackpos=2}) == 1234 and getThingfromPos({{x=123,y=123,z=7,stackpos=3}) == 1234 and getThingfromPos({x=123,y=123,z=7,stackpos=4}) == 1234 then doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=2})) doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=3})) doRemoveItem(getThingfromPos({x=123,y=123,z=7,stackpos=4})) doCreateItem(1234,1,{x=123,y=123,z=7,stackpos=2}) doSendMagicEffect({x=123,y=123,z=7,stackpos=2},4) else doPlayerSendCancel(cid,"Sorry but the itens are incorrect.") end end Então.. os itens estão sobre uma mesa, um sobre o outro. São três itens. Os ids deles estão em 1234 e as posições x e y 123. Altere elas mas não altere o stackpos. O item criado fica sobre a mesa e é enviado um efeito sobre ela. A posição da mesa também esta em 123,123,7. Espero que funcione pois não testei :smile_positivo: Então amigo, isto não poderia ser transformado por uma ação de um npc? pois eu gostaria que fosse o mesmo sistema de um npc que vende addons para os players entende? Exemplo: player:hi npc: olá, eu trabalho nesta forjaria, e poderia fazer itens para você, verifique a lista de itens ao livro ao lado. player: dragon shield npc: para que eu possa fazer o dragon shield, eu vou precisar de 20 iron ore, 3 piece of iron, 3 green dragon leather, já tem os itens? player: yes => está aqui o item, obrigado e volte sempre player: no => volte quando obter todos itens. entendeu? eu não tenho idéia na ação que eu poderia usar para fazer isso! pois a unica ação parecida que eu sei é justamente essa de addons, mais eu não tenho como editar ela pois ela já é uma função especifica para os addons ;/ se fosse um item seria muito melhor. Link para o comentário Compartilhar em outros sites More sharing options...
_ferrari_ 1 Postado Junho 29, 2009 Share Postado Junho 29, 2009 eu entendi cara, mas eu não mexo com npc mesmo. poderia ser transformado sim na ação de um npc, mas eu não consigo fazer para você. Link para o comentário Compartilhar em outros sites More sharing options...
XvX 0 Postado Julho 1, 2009 Share Postado Julho 1, 2009 Tipo do script: NPCProtocolo (versão do Tibia): 8.40 Servidor utilizado: Tfs 0.3.1 Boa Tarde a todos, Eu estou fazendo um projeto com tudo "diferenciado" em relação aos outros Ots, e venho através deste post pedir se alguem poderia fazer para mim, ou me ajudar a fazer um NPC, em que ele vendesse itens como armas e armaduras em troca de outros itens. Calma! darei um exemplo :smile_positivo: Item desejado: Dragon Shield Itens necessários para o NPC forjar o item: 20 iron ore, 3 piece of iron, 3 green dragon leather Item desejado de gradativamente maior: Vampire Shield Itens necessários para o NPC forjar o item: 1 dragon shield, 28 vampire dust, 7 piece of iron assim por diante... (vale lembrar que isto foi só um exemplo do que eu quero) se puder fazer o script com esses exemplos pra mim continuar já seria uma ajuda e tanto! :mdr: Esse é meu primeiro post, por favor, me auxilie caso eu esteja fazendo algo errado. Agradeço desde já. Boa idéia, aqui vai: 1º Passo: Crie um arquivo com o nome: A Sweaty Cyclops.xml na pasta data/npc e cole isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="A Sweaty Cyclops" script="data/npc/scripts/Sweaty Cyclops.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="22" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, eu trabalho nesta forjaria, e poderia fazer itens para vc, verifique a lista de itens ao livro ao lado. " /> </parameters> </npc> 2º Passo: Dentro da pasta data/npc/scripts crie o arquivo Sweaty Cyclops.lua e cole isso dentro: local talk_state = 0 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if msgcontains(msg, 'dragon shield') then if getPlayerItemCount(cid,5880) >= 20 and getPlayerItemCount(cid,2225) >= 3 and getPlayerItemCount(cid,5877) >= 3 then if doPlayerRemoveItem(cid,5880,20) and doPlayerRemoveItem(cid,2225,3) and doPlayerRemoveItem(cid,5877,3) then doPlayerAddItem(cid,2516,1) npcHandler:say('Esta aqui o item, obrigado e volte sempre!') end else npcHandler:say('Voce nao tem todos os itens.. ') talk_state = 0 end elseif msgcontains(msg, 'no') then npcHandler:say('Thau, volte sempre!!') talk_state = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Espero ter ajudado, em breve irei fazer um mais completo p incluir ele na quest da blue legs e da obsidian knife no meu server e depois posto aqui no fórum! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados