Ir para conteúdo
  • 0

Npc Quest


Trivelatos

Pergunta

Daew, já fiz variospedidos aqui, mais quase ninguem me ajudou AEUAEHUAUHEUH, axo que porque era um pouco dificil mais esse pedido agora é facil (eu creio xD)

 

já tenho o NPC ptronto, só que ele só pede 1 iten eu quero que ele pessa + iten, ou seja, "Npc: Me traga 1 Sword 1 Dragon Shild e uma Leather Boots, que eu lhe darei a Supreme Sword", grato.

 

 

aqui está o script do npc que eu tenho.

 

---------------------------------
------- NPC Missão 1.0 ---------
--- by Fox - xtibia.com/forum ---
---------------------------------


--------------
--- Config ---
--------------
-- item necessário para fazer a busca
local i_required = 2159
-- contagem de item necessário para fazer a busca
local i_required_count = 100

-- recompensa padrão id item (crystal coins)
local i_reward = 2504

-- contagem de recompensa id padrão (10)
local i_reward_count = 1

-- --
local storage = 60307

-- --
local questname = "Head"

-- NPC Messages --
local npc_message ={

"Eu preciso de 100 {New Coin} você consegue elas matando o monstro Illuminati, você já tem as 100 New Coins? fale {yes}.",
"Você ainda não tem as 100 New Coins, por favor vá pegalas e traga pra mim.",
"Obrigado por me ajudar, agora pege sua reconpensa {Head Legs}",
"Você já completou essa {missão}, agora fale com o Smoke Mission Two para fazer a segunda missão.",
"Então você quer fazer a missão? certo mais eu vou precisar de alguns itens raros, se quiser continuar fale {"..questname.."} o prmeio dessa missão é uma {HEAD LEGS}"
}

-------------------
--- End Confing ---
-------------------

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, 'mission')) then
selfSay(npc_message[5], cid)
end

if(msgcontains(msg, questname)) then
selfSay(npc_message[1], cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,storage) > 0) then
selfSay(npc_message[4], cid)
else

if(doPlayerRemoveItem(cid,i_required,i_required_count)) then
setPlayerStorageValue(cid,storage,1)
doPlayerAddItem(cid,i_reward,i_reward_count)
selfSay(npc_message[3], cid)
doSendMagicEffect(getCreaturePosition(cid), 10)
doCreatureSay(cid, "Quest Completada!", TALKTYPE_ORANGE_1)
else
selfSay(npc_message[2], cid)
end
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Testa esse aqui.

 

---------------------------------
------- NPC Missão 1.0 ---------
--- by Fox - xtibia.com/forum ---
---------------------------------


--------------
--- Config ---
--------------
-- item necessário para fazer a busca
local i_required = ID DO ITEM NECESSARIO
local i_required2 = ID DO ITEM NECESSARIO
local i_required3 = ID DO ITEM NECESSARIO
-- contagem de item necessário para fazer a busca
local i_required_count = 1

-- recompensa padrão id item (crystal coins)
local i_reward = ID DO ITEM QUE VAI GANHAR

-- contagem de recompensa id padrão (10)
local i_reward_count = 1

-- --
local storage = 60307

-- --
local questname = "Supreme Sword"

-- NPC Messages --
local npc_message ={

"Eu preciso de 100 {New Coin} você consegue elas matando o monstro Illuminati, você já tem as 100 New Coins? fale {yes}.",
"Você ainda não tem as 100 New Coins, por favor vá pegalas e traga pra mim.",
"Obrigado por me ajudar, agora pege sua reconpensa {Head Legs}",
"Você já completou essa {missão}, agora fale com o Smoke Mission Two para fazer a segunda missão.",
"Então você quer fazer a missão? certo mais eu vou precisar de alguns itens raros, se quiser continuar fale {"..questname.."} o prmeio dessa missão é uma {HEAD LEGS}"
}

-------------------
--- End Confing ---
-------------------

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, 'mission')) then
selfSay(npc_message[5], cid)
end

if(msgcontains(msg, questname)) then
selfSay(npc_message[1], cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,storage) > 0) then
selfSay(npc_message[4], cid)
else

if(doPlayerRemoveItem(cid,i_required,i_required2,i_required3,i_required_count)) then
setPlayerStorageValue(cid,storage,1)
doPlayerAddItem(cid,i_reward,i_reward_count)
selfSay(npc_message[3], cid)
doSendMagicEffect(getCreaturePosition(cid), 10)
doCreatureSay(cid, "Quest Completada!", TALKTYPE_ORANGE_1)
else
selfSay(npc_message[2], cid)
end
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Editado por SkyDangerous
Link para o comentário
Compartilhar em outros sites

  • 0

Você configurou ele tudo certinho?

 

Modifique , eu não posso testar porque eu nao tenho mais tibia e nem otserv em casa.

 

---------------------------------
------- NPC Missão 1.0 ---------
--- by Fox - xtibia.com/forum ---
---------------------------------


--------------
--- Config ---
--------------
-- item necessário para fazer a busca
local i_required = ID DO ITEM NECESSARIO
local i_required2 = ID DO ITEM NECESSARIO
local i_required3 = ID DO ITEM NECESSARIO
-- contagem de item necessário para fazer a busca
local i_required_count = 1
local i_required2_count = 1
local i_required3_count = 1

-- recompensa padrão id item (crystal coins)
local i_reward = ID DO ITEM QUE VAI GANHAR



-- contagem de recompensa id padrão (10)
local i_reward_count = 1

-- --
local storage = 60307

-- --
local questname = "Supreme Sword"

-- NPC Messages --
local npc_message ={

"Eu preciso de 100 {New Coin} você consegue elas matando o monstro Illuminati, você já tem as 100 New Coins? fale {yes}.",
"Você ainda não tem as 100 New Coins, por favor vá pegalas e traga pra mim.",
"Obrigado por me ajudar, agora pege sua reconpensa {Head Legs}",
"Você já completou essa {missão}, agora fale com o Smoke Mission Two para fazer a segunda missão.",
"Então você quer fazer a missão? certo mais eu vou precisar de alguns itens raros, se quiser continuar fale {"..questname.."} o prmeio dessa missão é uma {HEAD LEGS}"
}

-------------------
--- End Confing ---
-------------------

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, 'mission')) then
selfSay(npc_message[5], cid)
end

if(msgcontains(msg, questname)) then
selfSay(npc_message[1], cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,storage) > 0) then
selfSay(npc_message[4], cid)
else

if(doPlayerRemoveItem(cid,i_required,i_required2,i_required3,i_required_count,i_required2_count,i_required3_count )) then
setPlayerStorageValue(cid,storage,1)
doPlayerAddItem(cid,i_reward,i_reward_count)
selfSay(npc_message[3], cid)
doSendMagicEffect(getCreaturePosition(cid), 10)
doCreatureSay(cid, "Quest Completada!", TALKTYPE_ORANGE_1)
else
selfSay(npc_message[2], cid)
end
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Editado por SkyDangerous
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...