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 AddMount(cid, message, keywords, parameters, node) --by vodka
if(not npcHandler:isFocused(cid)) then
return false
end
if (isPlayerPremiumCallback == nil or isPlayerPremiumCallback(cid) == true or parameters.premium == false) then
if(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then
npcHandler:say('You must reach level ' .. parameters.level .. ' to buy this mount.', cid)
elseif canPlayerRideMount(cid, parameters.mountid) then
npcHandler:say('you already have this mount!', cid)
elseif not doRemoveItemsFromList(cid,parameters.items) then
npcHandler:say('Sorry You need '..getItemsFromList(parameters.items)..' to buy this mount!', cid)
else
doPlayerAddMount(cid, parameters.mountid)
npcHandler:say('Here is your mount!', cid)
npcHandler:resetNpc()
end
else
npcHandler:say('I can only allow premium players to buy this mount.', cid)
end
npcHandler:resetNpc()
return true
end
local mounts = {
{"widow queen", items = {{6527,10}}, mountid = 1, level = 10, premium = true},
{"racing bird", items = {{6527,5}}, mountid = 2, level = 15, premium = true},
{"war bear", items = {{6527,5}}, mountid = 3, level = 15, premium = true},
{"black sheep", items = {{6527,7}}, mountid = 4, level = 15, premium = true},
{"midnight panther", items = {{6527,10}}, mountid = 5, level = 15, premium = true},
{"draptor", items = {{6527,20}}, mountid = 6, level = 15, premium = true},
{"titanica", items = {{6527,20}}, mountid = 7, level = 15, premium = true},
{"tin lizzard", items = {{6527,15}}, mountid = 8, level = 15, premium = true},
{"blazebringer", items = {{6527,25}}, mountid = 9, level = 15, premium = true},
{"rapid boar", items = {{6527,15}}, mountid = 10, level = 15, premium = true},
{"stampor", items = {{6527,30}}, mountid = 11, level = 15, premium = true},
{"undead cavebear", items = {{6527,30}}, mountid = 12, level = 15, premium = true},
{"mounts", text = "I sell these mounts: {Widow Queen},{Racing Bird},{War Bear},{Black Sheep},{Midnight Panther},{Draptor},{Titanica},{Tin Lizzard},{Blazebringer},{Rapid Boar},{Stampor},{Undead Cavebear}"}
}
for i = 1, #mounts do local get = mounts[i] if type(get.items) == "table" then
local node = keywordHandler:addKeyword({get[1]}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "You want to buy the mount " .. get[1] .. " for "..getItemsFromList(get.items).." ?"})
node:addChildKeyword({"yes"}, AddMount, {items = get.items,mountid = get.mountid, level = get.level, premium = get.premium})
node:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Ok, then.", reset = true})
else keywordHandler:addKeyword({get[1]}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = get.text}) end end
mounts = nil npcHandler:addModule(FocusModule:new())