global_exchange/init.lua

51 lines
1.1 KiB
Lua
Raw Normal View History

2016-02-25 23:38:19 +01:00
local modpath = minetest.get_modpath(minetest.get_current_modname()) .. "/"
local income = tonumber(minetest.setting_get("citizens_income")) or 10
2016-02-25 23:38:19 +01:00
local income_interval = 1200
local income_msg = "You receive your citizen's income (+" .. income .. ")"
local next_payout = os.time() + income_interval
local exchange = (dofile(modpath .. "exchange.lua")).open_exchange(
minetest.get_worldpath() .. "/global_exchange.db"
)
2016-02-25 23:38:19 +01:00
minetest.register_on_shutdown(function()
exchange:close()
2016-02-25 23:38:19 +01:00
end)
local function check_giving()
local now = os.time()
if now < next_payout then
return
end
2016-02-25 23:38:19 +01:00
next_payout = now + income_interval
2016-02-25 23:38:19 +01:00
for _, player in ipairs(minetest.get_connected_players()) do
local p_name = player:get_player_name()
2016-02-25 23:38:19 +01:00
local succ = exchange:give_credits(p_name, income,
"Citizen's Income (+" .. income .. ")")
2016-02-25 23:38:19 +01:00
if succ then
minetest.chat_send_player(p_name, income_msg)
end
end
2016-02-25 23:38:19 +01:00
minetest.after(5, check_giving)
end
2016-02-25 23:38:19 +01:00
minetest.after(5, check_giving)
2016-02-25 23:38:19 +01:00
assert(loadfile(modpath .. "atm.lua"))(exchange)
assert(loadfile(modpath .. "exchange_machine.lua"))(exchange)
2016-02-26 04:47:05 +01:00
assert(loadfile(modpath .. "digital_mailbox.lua"))(exchange)