Ir para conteúdo
  • 0

Pedido: Quest. NPC que pega itens diferentes e da um unico item(fechei e n sei abrir).


pirilampoo

Pergunta

Adm eu fechei o topico sem querer e não consegui abrir di novo ai reabri ele.

 

 

O script abaixo esta com 1 problema... se o player tiver apenas a quantidade do primeiro item necessario ele ja conclui a quest..
ou seja se ele tiver todos os itens necessarios ele conclui a quest e é removido os itens certos. porem se ele tiver somente o item de id1 ele conclui do msm jeito.
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
msg = string.lower(msg)
---------
local need = {
{id = 12199, qt = 10}, --item1
{id = 12334, qt = 30}, --item2
{id = 12204, qt = 10}, --item3
{id = 12152, qt = 30}, --item4
{id = 14111, qt = 100}, --item5
}
local rewards = {
{id = 6087, qt = 1}, --reward
}
local stoFinish = {92121}
---------
if msgcontains(msg, 'mapa') or msgcontains(msg, 'Mapa') then
if getPlayerStorageValue(cid, stoFinish) >= 1 then
selfSay("Voce ja fez a quest.", cid)
talkState[talkUser] = 0
return true
end
selfSay("Fala Marujo, se voce tem os itens para criar o mapa, diga (sim) !",cid)
talkState[talkUser] = 1
return true
elseif msgcontains(msg, 'sim') or msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
if getPlayerItemCount(cid, need[1].id) < need[1].qt then
selfSay("Você não me trouxe os itens necessários...", cid)
selfSay("Lembre-se, eu preciso de todos esses itens...", cid)
talkState[talkUser] = 0
return true
end
for i = 1, #need do
doPlayerRemoveItem(cid, need.id, need.qt)
end
for i = 1, #rewards do
doPlayerAddItem(cid, rewards.id, rewards.qt)
doPlayerAddExperience(cid, 0)
end
selfSay("Pronto, até mais!", cid)
setPlayerStorageValue(cid, stoFinish, 0)
talkState[talkUser] = 0
return true
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Ai tipo se o cara chegar somente com a quantidade do item 1 ele consegue fazer a quest =/ só precisa do primeiro item..
Se poder me ajuda ver o que falta ai.. so ta precisando do item e quantidade do item id1 o resto tanto faz...
se eu tiver com os itens certos ele remove tudo e da certo.
porem se eu tiver somente com os itens do id 1 ele da certo do mesmo jeito...
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...