Khost 0 Postado Agosto 6, 2009 Share Postado Agosto 6, 2009 (editado) tipo esse eu sei que é possivel se alguem poderia me ajudar a fazer um npc que comprasse o item medal of honor (5785) e em troca de 20 dias de premium account.. Ajudem Por Favor. Obrigado! Editado Agosto 9, 2009 por Khost Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/ Compartilhar em outros sites More sharing options...
xCandyx 0 Postado Agosto 7, 2009 Share Postado Agosto 7, 2009 tipo esse eu sei que é possivel se alguem poderia me ajudar a fazer um npc que comprasse o item medal of honor (5785) e em troca de 20 dias de premium account..Ajudem Por Favor. Obrigado! Cara eu não sei se é possivel faser isso! Intom eu nao tenho funçao com isso! Mas se haver algum jeiito eu venho aqui e posto para voce! Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-774746 Compartilhar em outros sites More sharing options...
lucasjockey 1 Postado Agosto 7, 2009 Share Postado Agosto 7, 2009 (editado) Claro que é possível, mas tem que usar script, salve como moh.lua: 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 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, 'hi') then selfSay('Ola, eu vendo medal of honor, para comprar uma, fale MOH ou MEDAL OF HONOR.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'medal of honor') or msgcontains(msg, 'moh')) and (talkState[talkUser] == 1) then selfSay('Do you want to pay 20 premium days for a medal of honor?', cid) talkState[talkUser] = 2 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if (getPlayerPremiumDays(cid) >= 20) then doPlayerAddPremiumDays(cid, -20) doPlayerAddItem(cid, 5785, 1) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have 20 or more premium days!', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({2}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora no arquivo do NPC, exemplo: moh.xml, adicione: <?xml version="1.0" encoding="UTF-8"?> <npc name="MOH Seller" script="data/npc/scripts/moh.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="143" head="0" body="126" legs="87" feet="87" addons="3"/> </npc> Editado Agosto 7, 2009 por lucasjockey Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-774792 Compartilhar em outros sites More sharing options...
Khost 0 Postado Agosto 7, 2009 Autor Share Postado Agosto 7, 2009 (editado) LucasJockeyeu quero que ele compre a medal of honor e não venda ... Muito Obrigado por Você estar me ajudando... Obrigado! Editado Agosto 7, 2009 por Khost Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-774793 Compartilhar em outros sites More sharing options...
lucasjockey 1 Postado Agosto 8, 2009 Share Postado Agosto 8, 2009 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 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, 'hi') then selfSay('Ola, eu compro medal of honor, para vender uma, fale MOH ou MEDAL OF HONOR.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'medal of honor') or msgcontains(msg, 'moh')) and (talkState[talkUser] == 1) then selfSay('Voce deseja me dar sua medal of honor por 20 dias premium?', cid) talkState[talkUser] = 2 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if doPlayerRemoveItem(cid,5785,1) then doPlayerAddPremiumDays(cid, 20) selfSay('Here you are.', cid) else selfSay('Sorry, you don\'t have 20 or more premium days!', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({2}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775005 Compartilhar em outros sites More sharing options...
Khost 0 Postado Agosto 8, 2009 Autor Share Postado Agosto 8, 2009 Ae Lucas seu script deve estar perfeito só que deve ter algum erro pq quando eu boto no mapa da esse erro aqui ó : [08/08/2009 00:02:01] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/moh.lua [08/08/2009 00:02:01] data/npc/scripts/moh.lua:18: ')' expected near 'then' Muito Obrigado, vc tem tem me ajudado de +... Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775097 Compartilhar em outros sites More sharing options...
lucasjockey 1 Postado Agosto 8, 2009 Share Postado Agosto 8, 2009 if (msgcontains(msg, 'hi')) then Falto um parêntesis na linha 18. Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775186 Compartilhar em outros sites More sharing options...
Khost 0 Postado Agosto 8, 2009 Autor Share Postado Agosto 8, 2009 oi Lucas eu falo com o npc ele não responde nada ,fica só parado e quando eu falo pela primeira vez ele diz : 09:59 Medalhista: Welcome, GOD Khost! I have been expecting you. só isso.... Obrigado! Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775192 Compartilhar em outros sites More sharing options...
satan666 12 Postado Agosto 8, 2009 Share Postado Agosto 8, 2009 (editado) ou retira a msg "hi" do arquivo.lua do npc, ou retira os parametros do xml do npc. edited na realidade tem que retirar a msg hi do arquivo.lua Editado Agosto 8, 2009 por Marcryzius Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775263 Compartilhar em outros sites More sharing options...
Khost 0 Postado Agosto 8, 2009 Autor Share Postado Agosto 8, 2009 (editado) Olha oq acontece , marcryzius eu fiz oq vc falo : 20:03 Medalhista: Eu compro Medal of Honor ganhada no evento Survivor!.20:03 GOD Alissow [275]: moh 20:03 Medalhista: Ola, eu compro medal of honor ganhada no evento SURVIVOR, para vender uma, fale MOH ou MEDAL OF HONOR. 20:03 Medalhista: Voce deseja me dar sua medal of honor por 20 dias premium? 20:03 GOD Alissow [275]: yes 20:03 Medalhista: Ola, eu compro medal of honor ganhada no evento SURVIVOR, para vender uma, fale MOH ou MEDAL OF HONOR. oq eu fasso ele não compra o item.... 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid selfSay('Ola, eu compro medal of honor ganhada no evento SURVIVOR, para vender uma, fale MOH ou MEDAL OF HONOR.', cid) talkState[talkUser] = 1 if (msgcontains(msg, 'medal of honor') or msgcontains(msg, 'moh')) and (talkState[talkUser] == 1) then selfSay('Voce deseja me dar sua medal of honor por 20 dias premium?', cid) talkState[talkUser] = 2 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if doPlayerRemoveItem(cid,5785,1) then doPlayerAddPremiumDays(cid, 20) selfSay('Here you are.', cid) else selfSay('Desculpe,voce nao tem a Medal of Honor!', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({2}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Obrigado! Editado Agosto 8, 2009 por Khost Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775448 Compartilhar em outros sites More sharing options...
satan666 12 Postado Agosto 9, 2009 Share Postado Agosto 9, 2009 lua. 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 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, 'medal of honor') or msgcontains(msg, 'moh')) then selfSay('Voce deseja me dar sua medal of honor por 20 dias premium?', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then talkState[talkUser] = 0 if doPlayerRemoveItem(cid,5785,1) == TRUE then doPlayerAddPremiumDays(cid, 20) selfSay('Foi adicionada a sua conta uma premium de 20 dias em troca de sua medal of honor.', cid) else selfSay('Desculpe,voce nao tem a Medal of Honor!', cid) talkState[talkUser] = 0 end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({2}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) xml. <?xml version="1.0" encoding="UTF-8"?><npc name="Medalhista" script="data/npc/scripts/medalha.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Holla |PLAYERNAME|, eu compro {medal of honor} ganhada no evento ({SURVIVOR}), para vender uma, fale {MOH} ou {MEDAL OF HONOR}."/> </parameters> </npc> Link para o comentário https://xtibia.com/forum/topic/117883-d%C3%BAvida-sanada/#findComment-775485 Compartilhar em outros sites More sharing options...
Posts Recomendados