diff options
Diffstat (limited to 'interest.lua')
-rw-r--r-- | interest.lua | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/interest.lua b/interest.lua index e492566..696b691 100644 --- a/interest.lua +++ b/interest.lua @@ -1,16 +1,27 @@ -- adapted from the income.lua file from the currency mod. local timer = 0 + +function atm.welfare_payout() + payout = false + for _,player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local limit = atm.welfare[name] or atm.default_welfare + atm.ensure_init(name) + if limit > 5 then + atm.balance[name] = math.floor(atm.balance[name] + 5) + atm.welfare[name] = limit - 5 + payout = true + end + end + if payout then + atm.saveaccounts() + end +end + minetest.register_globalstep(function(dtime) timer = timer + dtime; if timer >= 1000 then timer = 0 - atm.readaccounts() - for _,player in ipairs(minetest.get_connected_players()) do - local name = player:get_player_name() - if not (atm.balance[name] == nil) then - atm.balance[name] = math.floor(atm.balance[name] + 5) - end - end - atm.saveaccounts() + atm.welfare_payout() end end) |