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
--------------------------------
------- NPC MISION 2.0 --------
------ by Acubens - Otland.net -
--------------------------------
local first = {
-- Place true if you want to use the system of a gift for experience, false if you want to use items
useExpReward = false,
-- The experience that will get the player at the end of the mission
experience = 5000,
-- Id of the item that will be asking for the NPC to complete the mission
item = {2334,3423},
-- Count of the item required
item_count = {1,1},
-- id of the gift that going to obtain the player at finish the mission
reward = 2160,
-- count of the gift item
reward_count = 1,
-- storage
storage = 60307,
-- name of the quest
questname = "Acubens Quest"
}
local npc_message ={
-- Procced - message
"I need some item to complete this mission, procced?",
-- if you dont have items - message
"You dont have any items to this mission.",
-- thanks - message
"Thank You for Help me, {take it}.",
-- already done - message
"You have already done this mision.",
-- ready to go - message
"The Mission {"..first.questname.."} is, really serius, i need your help to complete it, if you help me then i will give some items to you..",
-- congratulations - message
"Congratulations, you have finished the "..first.questname..""
}
if(msgcontains(msg, 'mission')) then
selfSay(npc_message[5], cid)
end
if(msgcontains(msg, first.questname)) then
selfSay(npc_message[1], cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,first.storage) > 0) then
selfSay(npc_message[4], cid)
else
if(doPlayerRemoveItem(cid,first.item,first[1].item_count[1]) and doPlayerRemoveItem(cid,first.item[2],first.item_count[2])) then
setPlayerStorageValue(cid,first.storage,1)
if(useExpReward) then
doPlayerAddExperience(cid,first.experience)
else
doPlayerAddItem(cid,first.reward,first.reward_count)
end
selfSay(npc_message[3], cid)
doSendMagicEffect(getCreaturePosition(cid), 10)
doCreatureSay(cid, npc_message[6], 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())