Skip to content

Commit

Permalink
Add alternative commands "am" and "amarket"
Browse files Browse the repository at this point in the history
  • Loading branch information
arsdragonfly committed Sep 27, 2013
1 parent 81320a8 commit 0f1e84c
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions init.lua
Expand Up @@ -244,3 +244,75 @@ minetest.register_chatcommand("advanced_market", {
advanced_market.save_data()
end
})
minetest.register_chatcommand("am", {
params = "[buy <item> <amount> <price> | sell <price> | viewstack <item> | viewbuffer | refreshbuffer]",
description = "trade on the market",
func = function(name,param)
local t = string.split(param, " ")
if t[1] == "buy" then
advanced_market.order(name,t[2],tonumber(t[3]),tonumber(t[4]),"buy")
end
if t[1] == "sell" then
local player = minetest.get_player_by_name(name)
local wielditem = player:get_wielded_item()
local wieldname = wielditem:get_name()
local wieldcount = wielditem:get_count()
advanced_market.order(name,wieldname,wieldcount,tonumber(t[2]),"sell")
player:set_wielded_item(ItemStack(""))
end
if t[1] == "viewstack" then
minetest.chat_send_player(name,minetest.serialize(advanced_market.data.stacks[t[2]]))
end
if t[1] == "viewbuffer" then
minetest.chat_send_player(name,minetest.serialize(advanced_market.data.buffers[name]))
end
if t[1] == "refreshbuffer" then
local player = minetest.get_player_by_name(name)
local playerinv = player:get_inventory()
for k,v in pairs(advanced_market.data.buffers[name].into.items) do
playerinv:add_item("main",ItemStack(tostring(k).." "..tostring(v)))
advanced_market.data.buffers[name].into.items[k] = 0
end
money.set_money(name,money.get_money(name) + advanced_market.data.buffers[name].into.money)
advanced_market.data.buffers[name].into.money = 0
end
advanced_market.save_data()
end
})
minetest.register_chatcommand("amarket", {
params = "[buy <item> <amount> <price> | sell <price> | viewstack <item> | viewbuffer | refreshbuffer]",
description = "trade on the market",
func = function(name,param)
local t = string.split(param, " ")
if t[1] == "buy" then
advanced_market.order(name,t[2],tonumber(t[3]),tonumber(t[4]),"buy")
end
if t[1] == "sell" then
local player = minetest.get_player_by_name(name)
local wielditem = player:get_wielded_item()
local wieldname = wielditem:get_name()
local wieldcount = wielditem:get_count()
advanced_market.order(name,wieldname,wieldcount,tonumber(t[2]),"sell")
player:set_wielded_item(ItemStack(""))
end
if t[1] == "viewstack" then
minetest.chat_send_player(name,minetest.serialize(advanced_market.data.stacks[t[2]]))
end
if t[1] == "viewbuffer" then
minetest.chat_send_player(name,minetest.serialize(advanced_market.data.buffers[name]))
end
if t[1] == "refreshbuffer" then
local player = minetest.get_player_by_name(name)
local playerinv = player:get_inventory()
for k,v in pairs(advanced_market.data.buffers[name].into.items) do
playerinv:add_item("main",ItemStack(tostring(k).." "..tostring(v)))
advanced_market.data.buffers[name].into.items[k] = 0
end
money.set_money(name,money.get_money(name) + advanced_market.data.buffers[name].into.money)
advanced_market.data.buffers[name].into.money = 0
end
advanced_market.save_data()
end
})

0 comments on commit 0f1e84c

Please sign in to comment.