103 lines
2.9 KiB
Lua
103 lines
2.9 KiB
Lua
local function currency_exists() end
|
|
|
|
|
|
|
|
minetest.register_privilege("currencies_admin", {
|
|
description = "It allows you to use /currencies"
|
|
})
|
|
|
|
|
|
|
|
ChatCmdBuilder.new("currencies", function(cmd)
|
|
|
|
cmd:sub("add :plname :currency :amount:int", function(name, pl_name, currency, amount)
|
|
if not currency_exists(pl_name, currency) then return end
|
|
|
|
currencies.add(currency, pl_name, amount)
|
|
currencies.print_msg(
|
|
name,
|
|
"+ " .. amount .. ", ".. pl_name .. "'s " .. currency .. " balance: " .. currencies.get(currency, pl_name)
|
|
)
|
|
end)
|
|
|
|
|
|
|
|
cmd:sub("sub :plname :currency :amount:int", function(name, pl_name, currency, amount)
|
|
if not currency_exists(pl_name, currency) then return end
|
|
|
|
currencies.sub(currency, pl_name, amount)
|
|
currencies.print_msg(
|
|
name,
|
|
"- " .. amount .. ", ".. pl_name .. "'s " .. currency .. " balance: " .. currencies.get(currency, pl_name)
|
|
)
|
|
end)
|
|
|
|
|
|
cmd:sub("set :plname :currency :amount:int", function(name, pl_name, currency, amount)
|
|
if not currency_exists(pl_name, currency) then return end
|
|
|
|
currencies.set(currency, pl_name, amount)
|
|
currencies.print_msg(name, pl_name .. "'s " .. currency .. " balance: " .. currencies.get(currency, pl_name))
|
|
end)
|
|
|
|
|
|
|
|
cmd:sub("balance :plname :currency", function(name, pl_name, currency)
|
|
if not currency_exists(pl_name, currency) then return end
|
|
|
|
currencies.print_msg(name, pl_name .. "'s " .. currency .. " balance: " .. currencies.get(currency, pl_name))
|
|
end)
|
|
|
|
|
|
|
|
cmd:sub("clearunregistered", function(name)
|
|
currencies.remove_unregistered()
|
|
|
|
currencies.print_msg(name, "Removed unregistered currencies from the database")
|
|
end)
|
|
|
|
|
|
|
|
cmd:sub("clearbalance :plname :currency", function(name, pl_name, currency)
|
|
if not currency_exists(pl_name, currency) then return end
|
|
|
|
currencies.clear_balance(currency, pl_name)
|
|
|
|
currencies.print_msg(name, "Cleared " .. pl_name .. "'s " .. currency .. " balance")
|
|
end)
|
|
|
|
|
|
|
|
cmd:sub("clearbalance :plname", function(name, pl_name)
|
|
currencies.clear_balance(nil, pl_name)
|
|
|
|
currencies.print_msg(name, "Cleared " .. pl_name .. "'s balances")
|
|
end)
|
|
|
|
end, {
|
|
description = [[
|
|
|
|
ADMIN COMMANDS
|
|
(Use /help currencies to read it all)
|
|
|
|
- balance <pl_name> <currency>
|
|
- set <pl_name> <currency> <amount>
|
|
- add <pl_name> <currency> <amount>
|
|
- sub <pl_name> <currency> <amount>
|
|
- clearunregistered: removes from the database every unregistered currency
|
|
- clearbalance <pl_name> [currency]: if the currency isn't specified it'll reset each one of them
|
|
]],
|
|
privs = {currencies_admin = true}
|
|
})
|
|
|
|
|
|
|
|
function currency_exists(pl_name, currency)
|
|
if not currencies.exists(currency) then
|
|
currencies.print_error(pl_name, "The " .. currency .. " currency doesn't exist")
|
|
return false
|
|
end
|
|
|
|
return true
|
|
end
|