Postado Julho 8, 2016 8 anos Autor Em 07/07/2016 em 19:53, Kemmlly disse: ID dos itens e o script do outro npc. O script do outro npc, seria igual a esse.. apenas mudando falas, e o item em si, pode colocar qualquer 1.. se vc conseguir colocar a segunda parte da missao nele, eu consigo fazer as alteraçoes dos novos items depois... mas de toda forma, segue o script do npc 2... 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid --[[ REMEMBER TO SET YOUR STORAGE AS YOURSTORAGE! ]]-- local storage = 100010 if(msgcontains(msg, 'quest') or msgcontains(msg, 'slug')) then if(getPlayerStorageValue(cid, storage) < 1) then npcHandler:say("Hey, Eu perdi as minhas miniaturas no sub-solo.. voce poderia buscar para min? eu preciso de {5 dragon miniature}.", cid) setPlayerStorageValue(cid, storage, 1) elseif(getPlayerStorageValue(cid, storage) == 1) then npcHandler:say("Voce recuperou as 5 dragon miniature?", cid) talkState[talkUser] = 1 elseif(getPlayerStorageValue(cid, storage) > 1) then npcHandler:say("Desculpe voce ja fez essa quest.", cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveItem(cid, 11228, 5) == TRUE) then npcHandler:say("Wow! Muito obrigado! tenho algo aqui de muito valor, e acredito que K'atum gostaria de falar com voce!", cid) doPlayerAddItem(cid, 2485, 1) setPlayerStorageValue(cid, storage, 2) talkState[talkUser] = 0 else npcHandler:say("Voce nao tem meus items, sinto muito.", cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'no') and talkState[talkUser] > 0) then npcHandler:say("entao ta..", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) caso queira alguma outra info, so postar ak xD
Postado Julho 9, 2016 8 anos Autor Em 07/07/2016 em 19:53, Kemmlly disse: ID dos itens e o script do outro npc. conseguiu? xD
Postado Julho 9, 2016 8 anos Em 09/07/2016 em 12:53, elipe disse: conseguiu? xD 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid --[[ REMEMBER TO SET YOUR STORAGE AS YOURSTORAGE! ]]-- local storage = 100010 local tab = { item = {5920, 1}, -- {id do item que ele precia receber, quantidade} item2 = {5920, 1} -- {id do item que ele vai dar, quantidade} } if(msgcontains(msg, 'quest') or msgcontains(msg, 'slug')) then if(getPlayerStorageValue(cid, storage) < 1) then npcHandler:say("Hey, Eu perdi as minhas miniaturas no sub-solo.. voce poderia buscar para min? eu preciso de {5 dragon miniature}.", cid) setPlayerStorageValue(cid, storage, 1) elseif(getPlayerStorageValue(cid, storage) == 1) then npcHandler:say("Voce recuperou as 5 dragon miniature?", cid) talkState[talkUser] = 1 elseif(getPlayerStorageValue(cid, storage) > 1) then npcHandler:say("Desculpe voce ja fez essa quest.", cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerItemCount(cid, tab.item[1]) >= tab.item[2] then doPlayerRemoveItem(cid, tab.item[1], tab.item[2]) npcHandler:say("Wow! Muito obrigado! tenho algo aqui de muito valor, e acredito que Katum gostaria de falar com voce!", cid) doPlayerAddItem(cid, tab.item2[1], tab.item2[2]) setPlayerStorageValue(cid, storage, 2) talkState[talkUser] = 0 else npcHandler:say("Voce nao tem meus items, sinto muito.", cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'no') and talkState[talkUser] > 0) then npcHandler:say("entao ta..", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Coloca isso em um npc, no outro voce inverte os ids dos itens de item para item2. Obs: Não testei, só terei tempo de fazer com mais calma mais tarde, vê se funciona e me fala.
Postado Julho 9, 2016 8 anos Autor Em 09/07/2016 em 14:50, Kemmlly disse: 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid --[[ REMEMBER TO SET YOUR STORAGE AS YOURSTORAGE! ]]-- local storage = 100010 local tab = { item = {5920, 1}, -- {id do item que ele precia receber, quantidade} item2 = {5920, 1} -- {id do item que ele vai dar, quantidade} } if(msgcontains(msg, 'quest') or msgcontains(msg, 'slug')) then if(getPlayerStorageValue(cid, storage) < 1) then npcHandler:say("Hey, Eu perdi as minhas miniaturas no sub-solo.. voce poderia buscar para min? eu preciso de {5 dragon miniature}.", cid) setPlayerStorageValue(cid, storage, 1) elseif(getPlayerStorageValue(cid, storage) == 1) then npcHandler:say("Voce recuperou as 5 dragon miniature?", cid) talkState[talkUser] = 1 elseif(getPlayerStorageValue(cid, storage) > 1) then npcHandler:say("Desculpe voce ja fez essa quest.", cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerItemCount(cid, tab.item[1]) >= tab.item[2] then doPlayerRemoveItem(cid, tab.item[1], tab.item[2]) npcHandler:say("Wow! Muito obrigado! tenho algo aqui de muito valor, e acredito que Katum gostaria de falar com voce!", cid) doPlayerAddItem(cid, tab.item2[1], tab.item2[2]) setPlayerStorageValue(cid, storage, 2) talkState[talkUser] = 0 else npcHandler:say("Voce nao tem meus items, sinto muito.", cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'no') and talkState[talkUser] > 0) then npcHandler:say("entao ta..", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Coloca isso em um npc, no outro voce inverte os ids dos itens de item para item2. Obs: Não testei, só terei tempo de fazer com mais calma mais tarde, vê se funciona e me fala. Ficou na mesma na verdade.. tendo apenas 1 missao... a questao seria ter 2 missoes diferentes no msm npc entendeu? ele entrega os 5 dragon miniature, pega o item X... ai ele vai levar esse item a um outro npc... esse outro nao precisa fazer... ai esse outro npc, vai dar 1 item Y... esse item vc vai trazer devolva para o primeiro npc.. fazendo 1 outra quest entendeu? com 1 outro storage... esse primeiro e o storage 100010, ai quando o player voltar, a quest seria no storage 100012... ai enetrega o item que pegou no segundo npc.. e termina a segunda quest e o script :D desculpe a trabalhera haha xD
Postado Julho 9, 2016 8 anos Em 09/07/2016 em 17:27, elipe disse: Entendi , faço jaja, só me manda as falas da outra missão.
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.