Postado Abril 1, 2015 10 anos Fala ai galera do TK, eu estou precisando de uma ajudinha ae de vocês com 2 npcs. Vamos la: Primeiro npc: Você falaria com ele, para poder falar com o segundo. Nada demais, apenas o dialogo simples: Hi/Mission/Yes. E então você teria "permissão" para prosseguir e falar com o segundo. Segundo npc: Após ter falado com o primeiro npc, você agora seguiria para o proximo npc, onde nele você precisaria dos seguintes itens para continuar a quest: 20 golden mugs, 30 piece of iron, e um item que não lembro o nome, mas tem o id de 2350. Caso você tivesse esses itens, o dialogo seria o seguinte: Hi/Pai/Itens. E então ele iria retirar os itens de você e iria te dar um "documento" (7844) que não é nada mais que um documento velho. E seguiria de volta ao primeiro npc. Primeiro npc (denovo): Após ter falado com segundo, você voltaria novamente ao primeiro, e teria o seguinte dialogo: Hi/Filho/Espada. E então ele iria retirar o item que o segundo npc te deu, e iria pegar o item final, que é a recompensa da quest. Bom, na teoria é isso. Mas eu nem imagino como que começa. Se alguem conseguir ai fazer 2 npcs que tenham essas funçoes, eu agradeço, e se possivel se alguem fizer, faça um dialogo qualquer para eu editar dps, tipo Ola, voce blablablabla (mission). Só pra eu saber oque mudar depois e arrumar as falas dos npcs. Agradeço desde ja. Editado Abril 1, 2015 10 anos por Makakovisk (veja o histórico de edições)
Postado Abril 3, 2015 10 anos Não testei npc1 : local config = { storage_new = 74562, -- Não mudar storage = 74561, -- Não mudar remove_item = 7844, -- Item que vai ganhar add_item = XXXX, -- id da espada } 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 getPlayerStorageValue(cid, config.storage) == 1 then selfSay('Ok, volte aqui após conversar com o {Nik}.', cid) return true end if getPlayerStorageValue(cid, config.storage) == 3 then selfSay('Obrigado por nos ajudar!!', cid) return true end if getPlayerStorageValue(cid, config.storage) < 1 then if msgcontains(msg:lower(), 'mission') or msgcontains(msg:lower(), 'missao') then selfSay('you are sure', cid) talkState[talkUser] = 1 end if msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then selfSay('Ok, volte aqui após conversar com o {Nik}.', cid) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 setPlayerStorageValue(cid, config.storage, 1) elseif msgcontains(msg:lower(), 'no') then selfSay('Então volte, quando tiver coragem!!', cid) selfSay('Bye!!', cid) talkState[talkUser] = 0 end end if getPlayerStorageValue(cid, config.storage) == 2 then if msgcontains(msg:lower(), 'filho') then selfSay('diga {espada} para pega-lá', cid) talkState[talkUser] = 0 end if msgcontains(msg:lower(), 'espada') then selfSay('you are sure!!', cid) talkState[talkUser] = 1 end if msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then if doPlayerRemoveItem(cid, config.remove_item, 1) then selfSay('Congratulations!!', cid) doPlayerAddItem(cid, config.add_item, 1) setPlayerStorageValue(cid, config.storage, 3) talkState[talkUser] = 0 else selfSay('você não tem o item...') talkState[talkUser] = 0 end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) npc2 : local config = { items = {{itemid = 2225, count = 30}, {itemid = 2033, count = 20}, {itemid = 2363, count = 1}, {itemid = 2350, count = 1}}, storage = 74561, -- Não mudar storage_new = 74562 -- Não mudar add_item = 7844, -- Item que vai ganhar } 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 getPlayerStorageValue(cid, config.storage) < 1 then selfSay('Não te conheço suma!!', cid) return true end if getPlayerStorageValue(cid, config.storage_new) == 1 then selfSay('Não tenho mais nada a te entregar!!', cid) return true end if msgcontains(msg:lower(), 'pai') then selfSay('Estou precisando de uns itens e se tu me trouxer eu lhe recompensarei... 30 Piece of Iron, 20 Golden Mug, 1 Blood Orb, 1 Sword Hilt.Diga {entregar} se tiver os itens listado.', cid) talkState[talkUser] = 0 end if msgcontains(msg:lower(), 'entregar') then selfSay('you are sure ?', cid) talkState[talkUser] = 1 end if msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then item = 0 for i = 1, #config.items do if getPlayerItemCount(cid, config.items[i].itemid) >= config.items[i].count then item = item + 1 end end if item == #config.items then for x = 1, #config.items do doPlayerRemoveItem(cid, config.items[x].itemid, config.items[x].count) end selfSay('Aqui está sua recompensa', cid) doPlayerAddItem(cid, config.add_item, 1) setPlayerStorageValue(cid, config.storage_new, 1) setPlayerStorageValue(cid, config.storage, 2) talkState[talkUser] = 0 else selfSay('Verifique se você tem todos os items...', cid) talkState[talkUser] = 0 end elseif msgcontains(msg:lower(), 'no') and talkState[talkUser] == 1 then selfSay('Bye!!', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Abril 3, 2015 10 anos por Summ (veja o histórico de edições)
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.