diff --git a/README.md b/README.md index 916926c..0758fb7 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,9 @@ In **minetest.conf** file: You don't need to do any of these presets mentioned below to make this mod work. But it's worth knowing the configuration values ​​in case you want to directly change the ````minetest.conf```` file. +* ````minertrade.debug = ```` : If show debug info of this mod. Only util to developers. Default: ````false```` * ````minertrade.save_compressed = ```` : If enabled will save database bank in file '.db64', else in file '.tbl'. Default: ````true```` +* ````minertrade.bank.max_statements = ```` : Specifies the amount statement records to each player in databade bank. Default: ````30````; Min: ````1````, Max: ````300````. * ````minertrade.salary.enabled = ```` : Allows for daily distribution of Salary. Default: ````true```` * ````minertrade.salary.value = ```` : Specifies the amount of salary paid daily. Default: ````9```` * ````minertrade.salary.intervalcheck = ```` : Specifies how many seconds the salary will be checked who still has to receive. Values below 5 can cause server lag. Default: ````60```` diff --git a/api_payday.lua b/api_payday.lua index 0591416..4e05b66 100644 --- a/api_payday.lua +++ b/api_payday.lua @@ -4,11 +4,11 @@ minetest.register_privilege("salary", { }) minetest.after(3.5, function() - if modMinerTrade.salary.enabled then + if modMinerTrade.salary.isEnabled() then modMinerTrade.salary.timer = 0 minetest.register_globalstep(function(dtime) modMinerTrade.salary.timer = modMinerTrade.salary.timer + dtime - if modMinerTrade.salary.timer >= modMinerTrade.salary.intervalcheck then + if modMinerTrade.salary.timer >= modMinerTrade.salary.getIntervalCheck() then modMinerTrade.salary.timer = 0 local players = minetest.get_connected_players() if #players >= 1 then @@ -31,7 +31,7 @@ minetest.after(3.5, function() ) --]] if modMinerTrade.isExistAcount(playername) then - local value = modMinerTrade.salary.value + local value = modMinerTrade.salary.getValue() 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) diff --git a/commands.lua b/commands.lua index 35c7e1c..cedc55d 100644 --- a/commands.lua +++ b/commands.lua @@ -1,3 +1,4 @@ +--[[ minetest.register_privilege("checkstrongbox", { description=modMinerTrade.translate("Lets you check the contents of another players strongbox."), give_to_singleplayer=false, @@ -44,6 +45,8 @@ end minetest.register_chatcommand(modMinerTrade.translate("checkstrongbox"), modMinerTrade.propCheckStrongBox()) minetest.register_chatcommand("csb", modMinerTrade.propCheckStrongBox()) +--]] + --############################################################################################################### diff --git a/config.lua b/config.lua index e4728f3..664c88c 100644 --- a/config.lua +++ b/config.lua @@ -9,15 +9,49 @@ modMinerTrade = { player = { }, }, salary = { - enabled = function() - local isEnabled = minetest.settings:get("minertrade.salary.enabled") - if isEnabled == nil or (isEnabled ~= "true" and isEnabled ~= "false") then - isEnabled = true - minetest.settings:set_bool("minertrade.salary.enabled", isEnabled) + isEnabled = function() + if modMinerTrade.salary.enabled == nil then + modMinerTrade.salary.enabled = minetest.settings:get("minertrade.salary.enabled") + if modMinerTrade.salary.enabled == nil + or ( + modMinerTrade.salary.enabled ~= "true" + and modMinerTrade.salary.enabled ~= "false" + ) + then + modMinerTrade.salary.enabled = true + minetest.settings:set_bool("minertrade.salary.enabled", modMinerTrade.salary.enabled) + end end - return isEnabled + return modMinerTrade.salary.enabled + end, + --value = tonumber(minetest.settings:get("minertrade.salary.value") or 1), + getValue = function() + if modMinerTrade.salary.value == nil then + modMinerTrade.salary.value = minetest.settings:get("minertrade.salary.value") + if modMinerTrade.salary.value == nil + or type(tonumber(modMinerTrade.salary.value)) ~= "number" + or tonumber(modMinerTrade.salary.value) < 1 + then + modMinerTrade.salary.value = 1 + minetest.settings:set("minertrade.salary.value", modMinerTrade.salary.value) + end + end + return tonumber(modMinerTrade.salary.value) + end, + --intervalcheck = tonumber(minetest.settings:get("minertrade.salary.intervalcheck") or 60), + getIntervalCheck = function() + if modMinerTrade.salary.intervalcheck == nil then + modMinerTrade.salary.intervalcheck = minetest.settings:get("minertrade.salary.intervalcheck") + if modMinerTrade.salary.intervalcheck == nil + or type(tonumber(modMinerTrade.salary.intervalcheck)) ~= "number" + or tonumber(modMinerTrade.salary.intervalcheck) < 1 + or tonumber(modMinerTrade.salary.intervalcheck) > (60*60*24) + then + modMinerTrade.salary.intervalcheck = 60 + minetest.settings:set("minertrade.salary.intervalcheck", modMinerTrade.salary.intervalcheck) + end + end + return tonumber(modMinerTrade.salary.intervalcheck) end, - value = tonumber(minetest.settings:get("minertrade.salary.value") or 1), - intervalcheck = tonumber(minetest.settings:get("minertrade.salary.intervalcheck") or 60), } } diff --git a/item_atm.lua b/item_atm.lua index 3124a98..e84d9cc 100644 --- a/item_atm.lua +++ b/item_atm.lua @@ -95,8 +95,8 @@ modMinerTrade.getMaxStatements = function() --MÁXIMO DE EXTRATOS ARMAZENADOS. local maxStatements = minetest.settings:get("minertrade.bank.max_statements") if maxStatements == nil or type(tonumber(maxStatements)) ~= "number" - or tonumber(maxStatements) < 1 - or tonumber(maxStatements) > 300 + or tonumber(maxStatements) < 1 --Min + or tonumber(maxStatements) > 300 --Max then maxStatements = 30 minetest.settings:set("minertrade.bank.max_statements", tostring(maxStatements))