joadson 3 Postado Janeiro 1, 2011 Share Postado Janeiro 1, 2011 quero um NPC pra um evento de natal atrasado *-* ele vai falar assim "Olá nome, o natal chegou! e Papai noel resolveu presentea-lo com seu Gorro. *diga 'quest' para saber o que voce precisa ter para ganhar. *dai ele vai pedir 30 presentes (ID 1900) *e 10 Bags Azul (ID 1995) ele so vai dar o item 7967 se o player tiver todos os items que ele pedir Muito Obrigado a todos que ajudaram/tentaram ngm pode ajudar? Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Janeiro 1, 2011 Share Postado Janeiro 1, 2011 (editado) NOME DO SEU NPC.XML <?xml version="1.0"?> <npc name="NOME DO SEU NPC" script="data/npc/scripts/presente_natal.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. o natal chegou! e Papai noel resolveu presentea-lo com seu Gorro diga {quest} para saber mais." /> </parameters> </npc> NPC/Scripts crie um arquivo.lua e renomeie para: presente_natal.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, 'quest') or msgcontains(msg, 'QUEST')) then selfSay('Você quer trocar 30 '..getItemNameById(1900)..' e 10 '..getItemNameById(1995)..' por um '..getItemNameById(7967)..'? {yes} ', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if Remover(cid) then doPlayerAddItem(cid,7967,1) selfSay("Obrigado tome seu item!",cid) talkState[talkUser] = 0 else selfSay("Desculpe,mais você não tem os itens que eu pedi!",cid) talkState[talkUser] = 0 end elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function Remover(cid) if doPlayerRemoveItem(cid,1900,30) then if doPlayerRemoveItem(cid,1995,10) then return TRUE else doPlayerAddItem(cid,1900,30) end end end Editado Janeiro 2, 2011 por Vodkart Link para o comentário Compartilhar em outros sites More sharing options...
joadson 3 Postado Janeiro 2, 2011 Autor Share Postado Janeiro 2, 2011 vlw Vodkart... muito obrigado msm! Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados