Postado Maio 24, 2013 12 anos NPC que troca os Itens Boa Tarde turmo do Tibia King Bem gostaria de um Npc que quando o player falasse o nome do item ele trocasse por outro item, os itens são: 1 (uma) Tear of Daraman id:2346 que sera trocado por 1 (uma) Blue Note id: 2349 10 (dez) Golden Mug id:2033 que sera trocado por 1 (uma) Bar of Gold id: 15515 Por exemplo ao falar Blue Note, o Npc diria: para fazer esse item eu preciso de uma Tear of Daraman. Caso o player tenha o Tear of Daraman o blue note ira aparecer na bp e consequentemente o Tear of Daraman sera removido... Bem Achei alguns, parecidos mas não funciona do jeito que queria... Se aguem puder mi ajudar eu agradecerei Meus Trabalhos: *Spell Rajada de Flechas: http://migre.me/eI3aE
Postado Maio 24, 2013 12 anos Este é um post popular. NPC que troca os Itens Boa Tarde turmo do Tibia King Bem gostaria de um Npc que quando o player falasse o nome do item ele trocasse por outro item, os itens são: 1 (uma) Tear of Daraman id:2346 que sera trocado por 1 (uma) Blue Note id: 2349 10 (dez) Golden Mug id:2033 que sera trocado por 1 (uma) Bar of Gold id: 15515 Por exemplo ao falar Blue Note, o Npc diria: para fazer esse item eu preciso de uma Tear of Daraman. Caso o player tenha o Tear of Daraman o blue note ira aparecer na bp e consequentemente o Tear of Daraman sera removido... Bem Achei alguns, parecidos mas não funciona do jeito que queria... Se aguem puder mi ajudar eu agradecerei Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 local items = { item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'blue note') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'bar of gold') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso <?xml version="1.0" encoding="UTF-8"?> <npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." /> <parameter key="message_farewell" value="Bye bye!" /> </parameters> </npc> Testado e está 100% funcional Att. Giovani Rodrigo Editado Maio 24, 2013 12 anos por GiovaniRodrigo (veja o histórico de edições) Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Maio 25, 2013 12 anos Autor GiovaniRodrigo, Cara tu é o melhor... muito obrigado amanha tu vai receber o +REP.... Poxa é por isso que o TibiaKing é o melhor fórum de todos, por ter pessoas super competente como vc.... Muitíssimo Obrigado. Meus Trabalhos: *Spell Rajada de Flechas: http://migre.me/eI3aE
Postado Maio 25, 2013 12 anos GiovaniRodrigo, Cara tu é o melhor... muito obrigado amanha tu vai receber o +REP.... Poxa é por isso que o TibiaKing é o melhor fórum de todos, por ter pessoas super competente como vc.... Muitíssimo Obrigado. Muito obrigado a vocês que trazem esses desafios, é um imenso prazer ajudar todos vocês do TK. Sempre que precisar estamos ai. Att. Giovani Rodrigo Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Maio 29, 2013 12 anos Tem como fazer ele perguntar antes de dar o item? tipo: "Você quer trocar X item por X item?" player: yes "Troca efetuada" http://www.foxots.com
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.