Amiroslo
Excellent OT User
- Joined
- Jul 28, 2009
- Messages
- 6,767
- Solutions
- 5
- Reaction score
- 769
Hello OTLanders,
I have an Addoner NPC, very simple script. The only issue is that the addoner doesnt know if you already have addons 1 and 2 or not. So you can keep buying them and he will keep taking money from you. Anyone knowledgeable enough who can adjust it so if someone already bought Addon 1/2 they wont be able to buy it again? Thank you
TFS 0.4, Tibia 8.6
Script:
I have an Addoner NPC, very simple script. The only issue is that the addoner doesnt know if you already have addons 1 and 2 or not. So you can keep buying them and he will keep taking money from you. Anyone knowledgeable enough who can adjust it so if someone already bought Addon 1/2 they wont be able to buy it again? Thank you
TFS 0.4, Tibia 8.6
Script:
Lua:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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 buyAddons(cid, message, keywords, parameters, node)
--TODO: buyAddons function in modules.lua
if(not npcHandler:isFocused(cid)) then
return false
end
local addon = parameters.addon
local cost = parameters.cost
local premium = (parameters.premium ~= nil and parameters.premium)
if isPlayerPremiumCallback == nil or (isPlayerPremiumCallback(cid) and premium) then
if doPlayerRemoveMoney(cid, cost) then
doPlayerAddAddons(cid, addon)
npcHandler:say('There, you are now able to use all addons!', cid)
else
npcHandler:say('Sorry, you do not have enough money.', cid)
end
else
npcHandler:say('I only serve customers with premium accounts.', cid)
end
keywordHandler:moveUp(1)
return true
end
local node1 = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the first addons set for 1 gold nugget?'})
node1:addChildKeyword({'yes'}, buyAddons, {addon = 1, cost = 1000000, premium = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})
local node2 = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to buy the second addons set for 1 gold nugget?'})
node2:addChildKeyword({'yes'}, buyAddons, {addon = 2, cost = 1000000, premium = true})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})
keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell the first addons set for 1 gold nugget and the second addons set for 1 gold nugget.'})
npcHandler:addModule(FocusModule:new())