Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

NPC QUEST TEM QUE ENTREGA 2 item PARA o NPC MAIS  QUANDO EU MANDO ELE ENTREGAR ELE 

SO ENTREGA 1 E se TIVER OS DOIS ELE ENTREGA OS DOIS AE FICA UM BUG ELE SO PEGA 1 item de 3  PARA TERMINA QUEST nao 4 ITEM

Você tem o código disponível? Se tiver publique-o aqui: 

 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


-- VARIÁVEIS --
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
msg = string.lower(msg)
local nome_primeiro_npc = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
local nome_terceiro_npc = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
local id_item = 1441   ----------------------------------- [[ ID DO ITEM PARA DROP]] ---------------------------------
local quantidade_item = 3
local id_item1 = 1440   ----------------------------------- [[ ID DO ITEM PARA DROP]] ---------------------------------
local quantidade_item1 = 1
local id_item_recebido1 = 1450
local id_item_recebido2 = 2148
local id_item_recebido3 = 1443
local quantidade_item_recebido1 = 4 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido2 = 100 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido3 = 1 ----------------------------------- [[ BOX]] ---------------------------------



----------------------------------- [ DIALOGO COM NPC] ---------------------------------
  
if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'missao') then
 	
  if getPlayerStorageValue(cid, 9992) == 1 then -- STORAGE DO PRIMEIRO NPC, OU SEJA, VERIFICA SE FALOU COM PRIMEIRO NPC.
  
    if getPlayerStorageValue(cid, 9991) == 1 then -- VERIFICA SE JÁ FEZ A MISSÃO DO SEGUNDO NPC
      selfSay("Você já fez minha missão, agora você deve falar diretamente com o NPC " ..nome_terceiro_npc.. ".", cid)
      talkState[talkUser] = 0
	  return true 
    else
      selfSay("Preciso que você me traga " ..quantidade_item.. " xxxxxxxxxxxxxxxx e xxxxxxxxxxxx. Você trouxe?", cid) 
      talkState[talkUser] = 1
    return true
    end
  
  else
    selfSay("Você deve falar com o NPC " ..nome_primeiro_npc.. " para conseguir fazer minha missão.", cid)
    talkState[talkUser] = 0
  return true
  end

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then

  if getPlayerItemCount(cid, id_item) >= quantidade_item then 
    doPlayerRemoveItem(cid, id_item, quantidade_item)
	doPlayerRemoveItem(cid, id_item1, quantidade_item1)
    selfSay("Você me trouxe as " ..quantidade_item.. " que eu precisava. Agora você consegue falar com o NPC " ..nome_terceiro_npc.. ".", cid)
	doPlayerAddItem(cid, id_item_recebido1, quantidade_item_recebido1)
	doPlayerAddItem(cid, id_item_recebido2, quantidade_item_recebido2)
	doPlayerAddItem(cid, id_item_recebido3, quantidade_item_recebido3)
    doSendMagicEffect(getThingPos(cid), 29)
    setPlayerStorageValue(cid, 9991, 1)
    talkState[talkUser] = 0
  return true
  else
    selfSay("Você não trouxe a quantidade de xxxxxxxxxxxe eu preciso. Me traga " ..quantidade_item.. " xxxxxxxxxxxxxxxxxxxx para prosseguir com a missão.", cid)
    talkState[talkUser] = 0
  return true
  end

return true
end

return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

 

 

5a510dabc5375_20228663_336082076822153_8453189641140183581_n-Cpia-Cpia.jpg.ae93894455bf828fc6901b29d7395cd9.jpg

https://www.facebook.com/groups/659018184245665/

5a510e4f9a582_20228663_336082076822153_8453189641140183581_n-Cpia-Cpia.jpg.fa86c37be79982f1cc8ff619015ddd1b.jpg

https://www.facebook.com/profile.php?id=133706320308745

 

Postado

testado --

coloca assim:

 

 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


-- VARIÁVEIS --
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
msg = string.lower(msg)
local nome_primeiro_npc = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
local nome_terceiro_npc = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
local id_item = 1441   ----------------------------------- [[ ID DO ITEM PARA DROP]] ---------------------------------
local quantidade_item = 3
local id_item1 = 1440   ----------------------------------- [[ ID DO ITEM PARA DROP]] ---------------------------------
local quantidade_item1 = 1
local id_item_recebido1 = 1450
local id_item_recebido2 = 2148
local id_item_recebido3 = 1443
local quantidade_item_recebido1 = 4 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido2 = 100 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido3 = 1 ----------------------------------- [[ BOX]] ---------------------------------



----------------------------------- [ DIALOGO COM NPC] ---------------------------------
  
if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'missao') then
 	
  if getPlayerStorageValue(cid, 9992) == 1 then -- STORAGE DO PRIMEIRO NPC, OU SEJA, VERIFICA SE FALOU COM PRIMEIRO NPC.
  
    if getPlayerStorageValue(cid, 9991) == 1 then -- VERIFICA SE JÁ FEZ A MISSÃO DO SEGUNDO NPC
      selfSay("Você já fez minha missão, agora você deve falar diretamente com o NPC " ..nome_terceiro_npc.. ".", cid)
      talkState[talkUser] = 0
	  return true 
    else
      selfSay("Preciso que você me traga " ..quantidade_item.. " xxxxxxxxxxxxxxxx e xxxxxxxxxxxx. Você trouxe?", cid) 
      talkState[talkUser] = 1
    return true
    end
  
  else
    selfSay("Você deve falar com o NPC " ..nome_primeiro_npc.. " para conseguir fazer minha missão.", cid)
    talkState[talkUser] = 0
  return true
  end

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then

  if doPlayerRemoveItem(cid, id_item, quantidade_item) then 
    selfSay("Você me trouxe as " ..quantidade_item.. " que eu precisava. Agora você consegue falar com o NPC " ..nome_terceiro_npc.. ".", cid)
	doPlayerAddItem(cid, id_item_recebido1, quantidade_item_recebido1)
	doPlayerAddItem(cid, id_item_recebido2, quantidade_item_recebido2)
	doPlayerAddItem(cid, id_item_recebido3, quantidade_item_recebido3)
    doSendMagicEffect(getThingPos(cid), 29)
    setPlayerStorageValue(cid, 9991, 1)
    talkState[talkUser] = 0
  return true
  else
    selfSay("Você não trouxe a quantidade de xxxxxxxxxxxe eu preciso. Me traga " ..quantidade_item.. " xxxxxxxxxxxxxxxxxxxx para prosseguir com a missão.", cid)
    talkState[talkUser] = 0
  return true
  end

return true
end

return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.9k

Informação Importante

Confirmação de Termo