mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-21 16:01:22 +00:00
correção do bug no recurso salário. (all ok)
This commit is contained in:
parent
3eb3bf035e
commit
a3d4a134ef
3 changed files with 74 additions and 32 deletions
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
To generate file '**template.pot**', did use command:
|
To generate file '**template.pot**', did use command:
|
||||||
|
|
||||||
````xgettext -n *.lua -L Lua --force-po --keyword=modUFO.translate --from-code=UTF-8 -o template.pot````
|
````xgettext -n *.lua -L Lua --force-po --keyword=modMinerTrade.translate --from-code=UTF-8 -o template.pot````
|
||||||
|
|
||||||
To translate '**template.pot**' to your language use app poedit.:
|
To translate '**template.pot**' to your language use app poedit.:
|
||||||
|
|
||||||
````sudo apt-get inatall poedit````
|
````sudo apt-get inatall poedit````
|
||||||
|
|
||||||
> See more: https://forum.minetest.net/viewtopic.php?f=47&t=21974
|
> See more: https://forum.minetest.net/viewtopic.php?f=47&t=21974
|
||||||
|
|
90
payday.lua
90
payday.lua
|
@ -1,3 +1,63 @@
|
||||||
|
minetest.register_privilege("salary", {
|
||||||
|
description=modMinerTrade.translate("Only players with this privilege received 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 back 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 your %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()
|
minetest.after(3.5, function()
|
||||||
modMinerTrade.payday = {
|
modMinerTrade.payday = {
|
||||||
|
@ -14,34 +74,4 @@ minetest.after(3.5, function()
|
||||||
end)
|
end)
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
minetest.after(3.5, function()
|
|
||||||
local interval = 5
|
|
||||||
local time = 0
|
|
||||||
minetest.register_globalstep(function(dtime)
|
|
||||||
time = time + dtime
|
|
||||||
if time >= interval then
|
|
||||||
time = 0
|
|
||||||
local dc = minetest.get_day_count()
|
|
||||||
local players = minetest.get_connected_players()
|
|
||||||
local salary = "minertrade:minercoin 1"
|
|
||||||
if #players >= 1 then
|
|
||||||
for _, player in ipairs(players) do
|
|
||||||
local playername = player:get_player_name()
|
|
||||||
local inv = modMinerTrade.getSafeInventory(ownername)
|
|
||||||
local lp = tonumber(player:get_meta("last_pay")) or 0
|
|
||||||
if lp ~= dc then
|
|
||||||
player:set_meta("last_pay",dc)
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
core.colorize("#00ff00", "["..modMinerTrade.translate("CITY HALL").."]: ")
|
|
||||||
..modMinerTrade.translate("The city hall deposited your salary in your bank account!")
|
|
||||||
)
|
|
||||||
minetest.sound_play("sfx_cash_register", {object=player, max_hear_distance=5.0,})
|
|
||||||
inv:add_item("safe_"..playername, salary)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
|
|
||||||
|
|
12
settingtypes.txt
Normal file
12
settingtypes.txt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# MINERTRADE SETTINGS
|
||||||
|
# Only players with "salary" privilege received a daily payment.
|
||||||
|
|
||||||
|
# MINERTRADE:
|
||||||
|
# Prize given per virtual day to the online player.
|
||||||
|
# Default: 'minertrade:minercoin 1'
|
||||||
|
minertrade.payday.salary (Daily Salary) string minertrade:minercoin 1
|
||||||
|
|
||||||
|
# MINERTRADE:
|
||||||
|
# Time interval in seconds to check for rewardable players.
|
||||||
|
# Deafault: 60 | Min: 1
|
||||||
|
minertrade.payday.interval (Interval Check Salary) int 60 1
|
Loading…
Add table
Reference in a new issue