adrianootavares
New Member
Is there a script that displays items by command;example:let's say the game has 20 fire sword and 2 demon helmet, it uses the command sell item on the item everything in the backpack.
SCRIPT TFS 1.3
change any of that from buy to sell
SCRIPT TFS 1.3
Lua:
-- charge free accounts more since prem player support the server
local extraCost = 10 -- in percentage, 10 equals 10%
local shopItems = {
['backpack'] = {price = 20, count = 1},
['shovel'] = {price = 5, count = 1},
['pick'] = {price = 45, count = 1},
['rope'] = {price = 45, count = 1, itemid = 2120},
}
function increasePrice(base, extra)
return base + math.ceil((extra/100) * base)
end
function onSay(player, words, param)
local isPrem = player:isPremium()
if param and param ~= '' then
param = param:lower()
local item = shopItems[param]
if item then
item.itemid = item.itemid or getItemIdByName(param)
if not isPrem then
item.price = increasePrice(item.price, extraCost)
end
if doPlayerRemoveMoney(player:getId(), item.price) then
player:addItem(item.itemid, item.count)
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Thank you for purchasing a " .. param .. "!")
player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
return false
end
player:sendCancelMessage("You do not have enough money to buy a " .. param .. ".")
return false
end
player:sendCancelMessage("Sorry we don't sell " .. param .. ".")
end
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Please enter a shop item name to buy, prices are listed, free accounts pay "..extraCost.."% more than premium account.")
for name, list in next, shopItems do
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, name .. ": " .. (isPrem and list.price or increasePrice(list.price, extraCost)) .. "gp." )
end
return false
end
change any of that from buy to sell
Lua:
--Buy Items With Command
--Script by Programmer (Credits to Darkhaos)
local shop =
{
["aol"] = {money=10000, id=3057, amount=1},
["backpack"] = {money=100, id=2854, amount=1},
["food"] = {money=10, id=3725, amount=100},
["rope"] = {money=50, id=3003, amount=1},
["shovel"] = {money=50, id=3457, amount=1},
["machete"] = {money=250, id=3308, amount=1},
["pick"] = {money=200, id=3456, amount=1},
["rod"] = {money=500, id=3483, amount=1},
["worms"] = {money=200, id=3492, amount=100}
}
function onSay(cid, words, param)
local text = "Here's a list of items available in the shop\nBuy Name : Item Name : Price : Amount\n\n"
if(param == "" or param == nil) then
for k, v in pairs(shop) do
text = text .. k .. " - " .. v.money .. " - " .. getItemNameById(v.id) .. " - " .. v.amount .. "\n"
end
return doShowTextDialog(cid, 2195, text)
else
buyItem = shop[param]
if buyItem then
if getPlayerMoney(cid) >= buyItem.money then
doSendMagicEffect(getCreaturePosition(cid), 14)
doPlayerAddItem(cid, buyItem.id, buyItem.amount)
doPlayerRemoveMoney(cid, buyItem.money)
doPlayerSendTextMessage(cid, 24, "Great choice! You've bought " .. param .. "for " .. buyItem.money .. "!")
return true
else
return doPlayerSendCancel(cid, "You require " .. buyItem.money .. " gold coins to buy this item.")
end
else
return doPlayerSendCancel(cid, "Parameter Error 404: Wrong param")
end
end
return true
end
Last edited: