Postado Maio 22, 2017 8 anos To bolando uma quest de tipo um char chega e fala com o npc ai ele te da um storange que nao pode ser pego de novo so pega 1 x ai ele pode falar com o otro npc e fazer as tarefas la depois ele vem entrega pro npc o pergaminho e guanha otro storange pra falar com otro npc e ai vai so que nao ta dano se liguem oq fiz de errado ? Primeiro NPC 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, 'sim')) then selfSay('Fiquei sabendo que no alto da montanha dos ogros vive um mago chamado Mago Berlino, ele é muito perigozo e tem o poder de destruir venture, precizo que você vá la e me traga um {relatorio} do que esta acontecendo.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'relatorio') and talkState[talkUser] == 1) then if (getPlayerStorageValue(cid,1004) < 0) then selfSay('Você ja me ajudou muito obrigado, agora você ja pode falar com meu irmão {Carlos}.', cid) else if(doPlayerRemoveItem(cid, 13057, 1) == TRUE) then setPlayerStorageValue(cid,1004,1) doPlayerAddExperience(cid,5000) selfSay('Agora você ja pode falar com {Carlos}.', cid) else doSendMagicEffect(getCreaturePosition(cid), 30) setPlayerStorageValue(cid,1000,1) selfSay('Precizo do relatorio, por favor vá e fale com o {Mago berlino}.', cid) end end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) SEGUNDO NPC 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, 'sim') and getPlayerStorageValue(cid, 1001) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Esse Lucios vive falando que eu sou um mago mal, mas não é bem por ai.', cid) selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid) selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? posso te dar alguma coiza em troca no final disso.', cid) end if msgcontains(msg, 'ajudar') and getPlayerStorageValue(cid, 1001) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Muito bem, precizo que você pegue 5 {queijos podres} que podem ser colotado matando monstros da caverna, quando pegar por favor traga aqui, estarei esperando.', cid) end if msgcontains(msg, 'queijos podres') and getPlayerStorageValue(cid, 1001) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Muito bem, precizo que você pegue 5 {queijos podres} que podem ser colotado matando monstros da caverna, quando pegar por favor traga aqui, estarei esperando.', cid) end if msgcontains(msg, 'ajudar') and getPlayerStorageValue(cid, 1001) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Muito bem, precizo que você pegue 5 {queijos podres} que podem ser colotado matando monstros da caverna, quando pegar por favor traga aqui, estarei esperando.', cid) talkState[talkUser] = 1 if(msgcontains(msg, 'queijos podres') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, 1001) > 0 then selfSay('Você ja completou esta tarefa.', cid) else if(doPlayerRemoveItem(cid, 2235, 5) == TRUE) then setPlayerStorageValue(cid,1001,1) doPlayerAddExperience(cid,2000) selfSay('Excelente, como faz tempo que não saio daqui, presizo analizar se os peixes estão cresendo corretamente, me traga 5 {tilapias} para eu possa analizar.', cid) else selfSay('Preciso de 5 {queijos podres} não menos :(', cid) end end end return true end if msgcontains(msg, 'tilapias') and getPlayerStorageValue(cid, 1002) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Você me trouxe as 5 {tilapias}?', cid) talkState[talkUser] = 1 if(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, 1002) > 0 then selfSay('Você ja completou esta tarefa.', cid) else if(doPlayerRemoveItem(cid, 7159, 5) == TRUE) then setPlayerStorageValue(cid,1002,1) doPlayerAddExperience(cid,2000) selfSay('Muito bem, agora presizo de 5 {couros de minotauro}, eles podem ser coletados matando minotauros.', cid) else selfSay('Preciso de 5 {tilapias} não menos :(', cid) end end end return true end if msgcontains(msg, 'couros de minotauro') and getPlayerStorageValue(cid, 1003) < 0 then selfSay('Você não tem permição para falar comigo.', cid) else selfSay('Você me trouxe as 5 {couros de minotauro}?', cid) talkState[talkUser] = 1 if(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, 1003) > 0 then selfSay('Você ja completou esta tarefa.', cid) else if(doPlayerRemoveItem(cid, 5878, 5) == TRUE) then setPlayerStorageValue(cid,1003,1) doPlayerAddItem(cid,13057,1) doPlayerAddExperience(cid,2000) selfSay('Muito bem, agora leve esse relatorio para o lucios e mostre a ele todo o trabalho que estou fazendo aqui.', cid) else selfSay('Preciso de 5 {couros de minotauro} não menos :(', cid) end end end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Maio 22, 2017 8 anos Primeiramente, a palavra preciso e perigoso e coisa são com S e não Z como estão falando os npcs. afinal, o que você quer que arrume? pois pelo que o que eu vi existem diversas mini quests, como o do pergaminho e o do queijos podres.. explica melhor como funciona o que você esta pensando em fazer.. com qual npc o player tem que falar primeiro? tem que falar com um ganhar um pergaminho e entregar pro outros? Editado Maio 22, 2017 8 anos por pablobion (veja o histórico de edições) Scriptszinhos: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.
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.