minertrade/api_payday.lua

81 lines
3 KiB
Lua
Raw Normal View History

2022-05-12 23:32:22 -03:00
minetest.register_privilege("salary", {
description=modMinerTrade.translate("Only players with this privilege will receive a daily payment."),
--give_to_singleplayer=false,
})
minetest.after(3.5, function()
2022-06-01 12:55:32 -03:00
if modMinerTrade.salary.isEnabled() then
2022-05-12 23:32:22 -03:00
modMinerTrade.salary.timer = 0
minetest.register_globalstep(function(dtime)
modMinerTrade.salary.timer = modMinerTrade.salary.timer + dtime
2022-06-01 12:55:32 -03:00
if modMinerTrade.salary.timer >= modMinerTrade.salary.getIntervalCheck() then
2022-05-12 23:32:22 -03:00
modMinerTrade.salary.timer = 0
local players = minetest.get_connected_players()
if #players >= 1 then
if modMinerTrade.bank.last_pay ~= minetest.get_day_count() then
--[[
modMinerTrade.debug(
"api_payday.lua >>> "
.."modMinerTrade.bank.last_pay = "..modMinerTrade.bank.last_pay
.." | minetest.get_day_count() = "..minetest.get_day_count()
)
--]]
modMinerTrade.bank.last_pay = minetest.get_day_count()
for _, player in ipairs(players) do
local playername = player:get_player_name()
if minetest.get_player_privs(playername).salary then
--[[
modMinerTrade.debug(
"api_payday.lua >>> "
.."modMinerTrade.isExistAcount("..playername..") = "..dump(modMinerTrade.isExistAcount(playername))
)
--]]
if modMinerTrade.isExistAcount(playername) then
2022-06-01 12:55:32 -03:00
local value = modMinerTrade.salary.getValue()
2022-05-12 23:32:22 -03:00
local description = modMinerTrade.translate("The city hall deposited the %2d° salary in your bank account!"):format(minetest.get_day_count())
modMinerTrade.addBalance(playername, value)
modMinerTrade.addStatement(playername, value, description)
minetest.chat_send_player(
playername,
core.colorize("#00FF00",
"["..modMinerTrade.translate("CITY HALL").."]: "
)..description
)
modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)
else
modMinerTrade.debug("api_payday.lua >>> "..playername.." sem conta!")
end
end
end -- Final off for _, player in ipairs(players) do
modMinerTrade.doBankSave()
end
end
end
end)
end
end)
--[[
minetest.after(3.5, function()
modMinerTrade.payday = {
interval = (60 *24) / (tonumber(minetest.setting_get("time_speed")) or 72),
time = 0
}
modMinerTrade.payday.interval = 1
minetest.register_globalstep(function(dtime)
modMinerTrade.salary.timer = modMinerTrade.salary.timer + dtime
if modMinerTrade.salary.timer >= modMinerTrade.payday.interval then
end
end)
end)
--]]