Code:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Mount Seller" script="mount_seller.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="17" body="54" legs="114" feet="0" addons="2" mount="379"/>
<parameters>
<parameter key="message_greet" value="Welcome |PLAYERNAME|! I selling mounts: {Widow Queen}, {Racing Bird}, {War Bear}, {Black Sheep}, {Midnight Panther}, {Draptor}, {Titanica}, {Tin Lizzard}, {Blazebringer}, {Rapid Boar}, {Stampor}, {Undead Cavebear}."/>
</parameters>
</npc>
REP
mount_seller.lua
PHP:
local table = {
["Widow Queen"] = {price = 0, id = 1},
["Racing Bird"] = {price = 0, id = 2},
["War Bear"] = {price = 0, id = 3},
["Black Sheep"] = {price = 0, id = 4},
["Midnight Panther"] = {price = 0, id = 5},
["Draptor"] = {price = 0, id = 6},
["Titanica"] = {price = 0, id = 7},
["Tin Lizzard"] = {price = 0, id = 8},
["Blazebringer"] = {price = 0, id = 9},
["Rapid Boar"] = {price = 0, id = 10},
["Stampor"] = {price = 0, id = 11},
["Undead Cavebear"] = {price = 0, id = 12}
}
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 table[msg] then
local t = table[msg]
talkState[talkUser] = 1
if getPlayerPremiumDays(cid) >= 1 then
if not getPlayerMount(cid, t.id) then
if doPlayerRemoveMoney(cid, t.cena) then
doPlayerAddMount(cid, t.id)
selfSay("You lost "..t.price.." gp! for mount!", cid)
talkState[talkUser] = 0
else
selfSay("Sorry, you do not have enough money!", cid)
talkState[talkUser] = 0
end
else
selfSay("You already have this mount!", cid)
talkState[talkUser] = 0
end
else
selfSay("You must be Premium!", cid)
talkState[talkUser] = 0
end
else
selfSay('What? Please told me a correct name of mount!', cid)
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())