mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 13:31:21 +00:00
o texto em inglês estava com alguns erros. os erros foram corrigidos. adicionado tradução para português.
77 lines
3.1 KiB
Lua
77 lines
3.1 KiB
Lua
minetest.register_privilege("salary", {
|
|
description=modMinerTrade.translate("Only players with this privilege will receive a daily payment."),
|
|
give_to_singleplayer=false,
|
|
})
|
|
|
|
modMinerTrade.payday = {
|
|
salary = (minetest.setting_get("minertrade.payday.salary") or "minertrade:minercoin 1"),
|
|
interval = (tonumber(minetest.setting_get("minertrade.payday.interval")) or 60)
|
|
}
|
|
|
|
minetest.after(3.5, function()
|
|
modMinerTrade.payday.time = 0
|
|
minetest.register_globalstep(function(dtime)
|
|
modMinerTrade.payday.time = modMinerTrade.payday.time + dtime
|
|
if modMinerTrade.payday.time >= modMinerTrade.payday.interval then
|
|
modMinerTrade.payday.time = 0
|
|
local dc = minetest.get_day_count()
|
|
local players = minetest.get_connected_players()
|
|
if #players >= 1 then
|
|
for _, player in ipairs(players) do
|
|
local lp = tonumber(player:get_meta():get_int("last_pay")) or 0
|
|
if lp ~= dc then
|
|
local playername = player:get_player_name()
|
|
if minetest.get_player_privs(playername).salary then
|
|
local nameInvList = "safe"
|
|
local inv = modMinerTrade.getDetachedInventory(playername)
|
|
--minetest.chat_send_player(playername, "vazio = "..dump(inv:is_empty(nameInvList)))
|
|
local stack = ItemStack(modMinerTrade.payday.salary)
|
|
local leftover = inv:add_item(nameInvList, stack)
|
|
modMinerTrade.setSafeInventory(playername, inv:get_list(nameInvList))
|
|
if leftover:get_count() > 0 then
|
|
minetest.chat_send_player(
|
|
playername,
|
|
core.colorize("#00ff00", "["..modMinerTrade.translate("CITY HALL").."]: ")
|
|
..modMinerTrade.translate("Your Strongbox is full! %2d items weren't added in your bank account."):format(leftover:get_count())
|
|
)
|
|
minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,})
|
|
else
|
|
minetest.chat_send_player(
|
|
playername,
|
|
core.colorize("#00ff00", "["..modMinerTrade.translate("CITY HALL").."]: ")
|
|
..modMinerTrade.translate("The city hall deposited the %2d° salary in your bank account!"):format(dc)
|
|
)
|
|
minetest.sound_play("sfx_cash_register", {object=player, max_hear_distance=5.0,})
|
|
end
|
|
end
|
|
player:get_meta():set_int("last_pay",dc)
|
|
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.payday.time = modMinerTrade.payday.time + dtime
|
|
if modMinerTrade.payday.time >= modMinerTrade.payday.interval then
|
|
|
|
end
|
|
end)
|
|
end)
|
|
--]]
|
|
|
|
|