Hello
This npc sell items by points (dont premium points).. This NPC only sell items one by one... i want something like buy 5 donator boots and npc say "you want buy 5 boots for 50 points?"
sorry for my english xD
LUA:
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 bootsid = 2176
local bootscost = 1
local ringid = 2145
local ringcost = 5
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'vip boots') or msgcontains(msg, 'boots')) then
selfSay('Do you want to buy Vip Boots fo '.. bootscost ..' premium points?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerPoints(cid) >= bootscost) then
if(doPlayerRemovePoints(cid, bootscost) == TRUE) then
doPlayerAddItem(cid, bootsid)
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have enough gold.', cid)
end
else
selfSay('Sorry, you don\'t have the item.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Ok then.', cid)
elseif(msgcontains(msg, 'expring') or msgcontains(msg, 'ring')) then
selfSay('Do you want to buy exp ring for '.. ringcost ..' premium points?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(getPlayerPoints(cid) >= ringcost) then
if( doPlayerRemovePoints(cid, ringcost) == TRUE) then
doPlayerAddItem(cid, ringid)
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have enough gold.', cid)
end
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Ok then.', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
This npc sell items by points (dont premium points).. This NPC only sell items one by one... i want something like buy 5 donator boots and npc say "you want buy 5 boots for 50 points?"
sorry for my english xD
Last edited: