forked from nalc/global_exchange
54 lines
1.3 KiB
Lua
54 lines
1.3 KiB
Lua
|
|
local insecure_env = minetest.request_insecure_environment()
|
|
assert(insecure_env,
|
|
"global_exchange needs to be trusted to run under mod security.")
|
|
|
|
local modpath = minetest.get_modpath(minetest.get_current_modname()) .. "/"
|
|
|
|
local income = tonumber(minetest.setting_get("citizens_income")) or 10
|
|
local income_interval = 1200
|
|
local income_msg = "You receive your citizen's income (+" .. income .. ")"
|
|
|
|
local next_payout = os.time() + income_interval
|
|
|
|
local exchange =
|
|
assert(loadfile(modpath .. "exchange.lua"))(insecure_env).open_exchange(
|
|
minetest.get_worldpath() .. "/global_exchange.db"
|
|
)
|
|
|
|
|
|
minetest.register_on_shutdown(function()
|
|
exchange:close()
|
|
end)
|
|
|
|
|
|
local function check_giving()
|
|
local now = os.time()
|
|
if now < next_payout then
|
|
return
|
|
end
|
|
|
|
next_payout = now + income_interval
|
|
|
|
for _, player in ipairs(minetest.get_connected_players()) do
|
|
local p_name = player:get_player_name()
|
|
|
|
local succ = exchange:give_credits(p_name, income,
|
|
"Citizen's Income (+" .. income .. ")")
|
|
|
|
if succ then
|
|
minetest.chat_send_player(p_name, income_msg)
|
|
end
|
|
end
|
|
|
|
minetest.after(5, check_giving)
|
|
end
|
|
|
|
minetest.after(5, check_giving)
|
|
|
|
|
|
|
|
assert(loadfile(modpath .. "atm.lua"))(exchange)
|
|
assert(loadfile(modpath .. "exchange_machine.lua"))(exchange)
|
|
assert(loadfile(modpath .. "digital_mailbox.lua"))(exchange)
|