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, "token") then
selfSay("Do you want to trade 100 tokens for 200 premium points?", cid)
talkState[talkUser] = 1
elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
if getPlayerItemCount(cid, 9020) >= 100 then
doPlayerRemoveItem(cid, 9020, 100)
doPlayerAddPremiumDays(cid, 2)
db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + 200 WHERE `id` = " .. getPlayerAccountId(cid))
selfSay("Here you go, 200 premium points has been transfered to your account!", cid)
else
selfSay("Sorry, it seems like you're short on tokens.", cid)
end
talkState[talkUser] = 0
elseif msgcontains(msg, "no") and isInArray({1}, talkState[talkUser]) then
selfSay("Maybe next time.", cid)
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())