Persistencia Resolvida!

This commit is contained in:
Lunovox 2022-05-12 23:32:22 -03:00
parent ce91e651db
commit ffabc5f748
7 changed files with 451 additions and 49 deletions

80
api_payday.lua Normal file
View file

@ -0,0 +1,80 @@
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()
if modMinerTrade.salary.enabled 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
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
local value = modMinerTrade.salary.value
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)
--]]

View file

@ -1,12 +1,18 @@
modMinerTrade = { modMinerTrade = {
modName = minetest.get_current_modname(), modName = minetest.get_current_modname(),
modPath = minetest.get_modpath(minetest.get_current_modname()), modPath = minetest.get_modpath(minetest.get_current_modname()),
urlTabela = minetest.get_worldpath().."/minertrade.db64", --Extensao '.tbl' ou '.db' save_compressed = (minetest.settings:get("minertrade.save_compressed") ~= "false"),
delayConstruct = 300, delayConstruct = 300,
bank = { bank = {
acounts = 0, acounts = 0,
last_pay = 0,
player = { }, player = { },
}, },
salary = {
enabled = (minetest.settings:get("minertrade.salary.enabled") ~= "false"),
value = tonumber(minetest.settings:get("minertrade.salary.value") or 1),
intervalcheck = tonumber(minetest.settings:get("minertrade.salary.intervalcheck") or 1),
}
} }
--dofile(modMinerTrade.modPath.."/config.lua") -- <== Antes de carregar tudo! --dofile(modMinerTrade.modPath.."/config.lua") -- <== Antes de carregar tudo!
@ -18,14 +24,13 @@ dofile(modMinerTrade.modPath.."/item_dispensing_machine.lua")
dofile(modMinerTrade.modPath.."/item_atm.lua") dofile(modMinerTrade.modPath.."/item_atm.lua")
--dofile(modMinerTrade.modPath.."/item_strongbox.lua") --dofile(modMinerTrade.modPath.."/item_strongbox.lua")
--dofile(modMinerTrade.modPath.."/item_strongbox_old.lua") --dofile(modMinerTrade.modPath.."/item_strongbox_old.lua")
--dofile(modMinerTrade.modPath.."/item_miner_cash.lua") dofile(modMinerTrade.modPath.."/item_minercash.lua")
-- --dofile(path.."/item_rent_door.lua") --dofile(path.."/item_rent_door.lua")
--dofile(modMinerTrade.modPath.."/payday.lua") dofile(modMinerTrade.modPath.."/api_payday.lua")
--dofile(modMinerTrade.modPath.."/commands.lua") --dofile(modMinerTrade.modPath.."/commands.lua")
if modMinerTrade.doAtmLoad ~= nil then --if modMinerTrade.doBankLoad ~= nil then
modMinerTrade.doAtmLoad() modMinerTrade.doBankLoad()
end --end
minetest.log('action',"["..modMinerTrade.modName:upper().."] Loaded!") minetest.log('action',"["..modMinerTrade.modName:upper().."] Loaded!")

View file

@ -1,30 +1,49 @@
modMinerTrade.doBankSave = function()
modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.urlTabela)
local file = io.open(modMinerTrade.urlTabela, "w") modMinerTrade.getUrlDatabase = function()
if file then --Extensao '.tbl' ou '.db'
file:write( local extension = ""
minetest.encode_base64(minetest.serialize(modMinerTrade.bank)) if modMinerTrade.save_compressed then
--minetest.serialize(modMinerTrade.bank) extension = ".db64"
)
file:close()
--minetest.log('action',"[MINERTRADE] Banco de dados salvo !")
else else
minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.urlTabela)) extension = ".tbl"
end
return minetest.get_worldpath().."/minertrade"..extension
end
modMinerTrade.doBankSave = function()
--modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.getUrlDatabase())
local file = io.open(modMinerTrade.getUrlDatabase(), "w")
if file then
local content = minetest.serialize(modMinerTrade.bank)
--modMinerTrade.debug("modMinerTrade.doBankSave() >>> content = "..dump(content))
if modMinerTrade.save_compressed then
content = minetest.encode_base64(content)
end
file:write(content)
file:close()
minetest.log('action',"[MINERTRADE] Banco de dados salvo !")
else
minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.getUrlDatabase()))
end end
end end
modMinerTrade.doBankLoad = function() modMinerTrade.doBankLoad = function()
modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.urlTabela) modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.getUrlDatabase())
local file = io.open(modMinerTrade.urlTabela, "r") local file = io.open(modMinerTrade.getUrlDatabase(), "r")
if file then if file then
modMinerTrade.bank = minetest.decode_base64(minetest.deserialize(file:read("*all"))) if modMinerTrade.save_compressed then
--modMinerTrade.bank = minetest.deserialize(file:read("*all")) modMinerTrade.bank = minetest.deserialize(minetest.decode_base64(file:read("*all")))
else
modMinerTrade.bank = minetest.deserialize(file:read("*all"))
end
modMinerTrade.debug("modMinerTrade.doBankLoad() >>> modMinerTrade.bank = "..dump(modMinerTrade.bank))
file:close() file:close()
if not modMinerTrade.bank or type(modMinerTrade.bank) ~= "table" then if not modMinerTrade.bank or type(modMinerTrade.bank) ~= "table" then
minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.urlTabela)) minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.getUrlDatabase()))
return { } return { }
else else
minetest.log('action',"[MINERTRADE] "..modMinerTrade.translate("Opening '%s'!"):format(modMinerTrade.urlTabela)) minetest.log('action',"[MINERTRADE] "..modMinerTrade.translate("Opening '%s'!"):format(modMinerTrade.getUrlDatabase()))
end end
end end
end end
@ -42,7 +61,9 @@ modMinerTrade.createAcount = function(playername)
modMinerTrade.bank.player[playername] = { modMinerTrade.bank.player[playername] = {
acount_created = os.date("%Y/%b/%d %Hh:%Mm:%Ss"), acount_created = os.date("%Y/%b/%d %Hh:%Mm:%Ss"),
balance = 0, balance = 0,
statement = { }
} }
modMinerTrade.bank.acounts = modMinerTrade.bank.acounts + 1
return true return true
else else
return false return false
@ -57,6 +78,33 @@ modMinerTrade.getBalance = function(playername)
end end
end end
modMinerTrade.addBalance = function(playername, value)
if value ~= nil and type(value) == "number" and value ~= 0 then
if modMinerTrade.isExistAcount(playername) then
modMinerTrade.bank.player[playername].balance = modMinerTrade.bank.player[playername].balance + value
return true
end
end
return false
end
modMinerTrade.addStatement = function(playername, value, description)
if value ~= nil and type(value) == "number" and value ~= 0 then
if modMinerTrade.isExistAcount(playername) then
table.insert(
modMinerTrade.bank.player[playername].statement,
{
when = os.date("%Y/%b/%d %Hh:%Mm:%Ss"),
value = value,
description = description,
}
)
return true
end
end
return false
end
modMinerTrade.showAtm = { modMinerTrade.showAtm = {
frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ
local formspec = "size[15,10]" local formspec = "size[15,10]"
@ -78,7 +126,7 @@ modMinerTrade.showAtm = {
.. "button[0.25,5.75;4.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao. .. "button[0.25,5.75;4.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao.
.."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]" .."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
.."box" .."[5.0,0.25;9.5,9.5;#000000]" --.."box" .."[5.0,0.25;9.5,9.5;#000000]"
.."background[5.0,0.25;9.5,9.5;text_atm_front.png]" .."background[5.0,0.25;9.5,9.5;text_atm_front.png]"
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
@ -105,7 +153,7 @@ modMinerTrade.showAtm = {
--.."button_exit[0,3.0;4,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]" --.."button_exit[0,3.0;4,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
.. "box[0.00,0.10;4.50,9.5;#000000]" .. "box[0.00,0.10;4.50,9.5;#000000]"
.. "button[0.25,0.50;4.00,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BALANCE"))).."]" .. "button[0.25,0.50;4.00,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
--.. "button[0.25,1.25;4.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("STATEMENT"))).."]" --.. "button[0.25,1.25;4.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("STATEMENT"))).."]"
--.. "button[0.25,2.00;4.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("DEPOSITS"))).."]" --.. "button[0.25,2.00;4.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("DEPOSITS"))).."]"
--.. "button[0.25,2.75;4.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK] --.. "button[0.25,2.75;4.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK]
@ -115,10 +163,12 @@ modMinerTrade.showAtm = {
--.. "button[0.25,5.75;4.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao. --.. "button[0.25,5.75;4.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao.
.."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]" .."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
.."background[5.00,0.25;9.5,9.5;text_atm_front.png]" .. "box[5.0,0.25;9.5,9.5;#00000088]"
.. "box[5.00,0.25;9.5,9.5;#000000CC]" .."background[5.0,0.25;9.5,9.5;text_atm_front.png]"
.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":")).."]"
.. "label[5.25,2.50;"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]" --.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":")).."]"
--.. "label[5.25,2.50;"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
.. "textarea[5.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
@ -163,19 +213,6 @@ end
--############################################################################################################### --###############################################################################################################
minetest.register_on_player_receive_fields(function(sender, formname, fields)
return modMinerTrade.onReceiveFields(sender, formname, fields)
end)
minetest.register_on_leaveplayer(function(player)
modMinerTrade.doBankSave()
end)
minetest.register_on_shutdown(function()
modMinerTrade.doBankSave()
minetest.log('action',"[STRONGBOX] "..modMinerTrade.translate("Saving bank from all players in the file '%s'!"):format(modMinerTrade.urlTabela))
end)
minetest.register_node("minertrade:atm", { minetest.register_node("minertrade:atm", {
description = modMinerTrade.translate("PUBLIC ATM\n* Save your money in the ATM, and withdraw your money in your Personal Safe or other ATM in the shops scattered around the map."), description = modMinerTrade.translate("PUBLIC ATM\n* Save your money in the ATM, and withdraw your money in your Personal Safe or other ATM in the shops scattered around the map."),
--inventory_image = minetest.inventorycube("text_atm_front_1.png"), --inventory_image = minetest.inventorycube("text_atm_front_1.png"),
@ -292,7 +329,7 @@ minetest.register_node("minertrade:atm", {
):format(opentime-now) ):format(opentime-now)
) )
end end
modMinerTrade.debug("on_rightclick() >>> "..modMinerTrade.urlTabela) --modMinerTrade.debug("on_rightclick() >>> "..modMinerTrade.getUrlDatabase())
end, end,
}) })
@ -308,3 +345,23 @@ minetest.register_craft({
--]] --]]
minetest.register_alias("atm","minertrade:atm") minetest.register_alias("atm","minertrade:atm")
minetest.register_alias(modMinerTrade.translate("atm"),"minertrade:atm") minetest.register_alias(modMinerTrade.translate("atm"),"minertrade:atm")
minetest.register_on_player_receive_fields(function(sender, formname, fields)
return modMinerTrade.onReceiveFields(sender, formname, fields)
end)
minetest.register_on_joinplayer(function(player)
local playername = player:get_player_name()
if not modMinerTrade.isExistAcount(playername) then
modMinerTrade.createAcount(playername)
end
end)
minetest.register_on_leaveplayer(function(player)
modMinerTrade.doBankSave()
end)
minetest.register_on_shutdown(function()
modMinerTrade.doBankSave()
minetest.log('action',"[STRONGBOX] "..modMinerTrade.translate("Saving bank from all players in the file '%s'!"):format(modMinerTrade.getUrlDatabase()))
end)

256
item_minercash.lua Normal file
View file

@ -0,0 +1,256 @@
--#########################################################################################
minetest.register_craftitem("minertrade:minercoin", {
description = core.colorize("#00FF00",
modMinerTrade.translate("MINERCOIN")
).."\n* "..modMinerTrade.translate("Basic craftable minercash with gold and steel."),
inventory_image = "obj_minecoin.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=1, trade=1, coin=1},
})
minetest.register_craft({
output = "minertrade:minercoin",
recipe = {
{"default:gold_ingot","default:steel_ingot","default:gold_ingot"},
},
--https://github.com/minetest/minetest_game/blob/master/mods/default/craftitems.lua
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "minertrade:minercoin",
cooktime = 5,
})
minetest.register_alias(
modMinerTrade.translate("minercoin"),
"minertrade:minercoin"
)
--##########################################################################################################
minetest.register_craftitem("minertrade:minermoney_blue", {
description = core.colorize("#00FF00",
modMinerTrade.translate("BLUE MINERMONEY")
).."\n* "..modMinerTrade.translate("Equals %02d minercash."):format(9),
inventory_image = "obj_minemoney.png^[multiply:#0088FF",
stack_max=9, --Acumula 9 por slot
groups = {cash=9, trade=1, money=1},
})
minetest.register_craft({
output = "minertrade:minermoney_blue",
recipe = {
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"}
},
})
minetest.register_craft({
output = "minertrade:minercoin 9",
recipe = {
{"minertrade:minermoney_blue"},
},
})
minetest.register_alias("minermoney_blue", "minertrade:minermoney_blue")
minetest.register_alias("minermoneyblue", "minertrade:minermoney_blue")
minetest.register_alias("minercash9", "minertrade:minermoney_blue")
--##########################################################################################################
minetest.register_craftitem("minertrade:minermoney_green", {
description = core.colorize("#00FF00",
modMinerTrade.translate("GREEN MINERMONEY")
).."\n* "..modMinerTrade.translate("Equals %02d minercash."):format(81),
inventory_image = "obj_minemoney.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=81, trade=1, money=1},
})
minetest.register_craft({
output = "minertrade:minermoney_green",
recipe = {
{"minertrade:minermoney_blue", "minertrade:minermoney_blue", "minertrade:minermoney_blue"},
{"minertrade:minermoney_blue", "minertrade:minermoney_blue", "minertrade:minermoney_blue"},
{"minertrade:minermoney_blue", "minertrade:minermoney_blue", "minertrade:minermoney_blue"}
},
})
minetest.register_craft({
output = "minertrade:minermoney_blue 9",
recipe = {
{"minertrade:minermoney_green"},
},
})
minetest.register_alias("minermoney_green", "minertrade:minermoney_green")
minetest.register_alias("minermoneygreen", "minertrade:minermoney_green")
minetest.register_alias("minercash81", "minertrade:minermoney_green")
--##########################################################################################################
minetest.register_craftitem("minertrade:minermoney_yellow", {
description = core.colorize("#00FF00",
modMinerTrade.translate("YELLOW MINERMONEY")
).."\n* "..modMinerTrade.translate("Equals %02d minercash."):format(729),
inventory_image = "obj_minemoney.png^[multiply:#FFFF00",
stack_max=9, --Acumula 9 por slot
groups = {cash=729, trade=1, money=1},
})
minetest.register_craft({
output = "minertrade:minermoney_yellow",
recipe = {
{"minertrade:minermoney_green", "minertrade:minermoney_green", "minertrade:minermoney_green"},
{"minertrade:minermoney_green", "minertrade:minermoney_green", "minertrade:minermoney_green"},
{"minertrade:minermoney_green", "minertrade:minermoney_green", "minertrade:minermoney_green"}
},
})
minetest.register_craft({
output = "minertrade:minermoney_green 9",
recipe = {
{"minertrade:minermoney_yellow"},
},
})
minetest.register_alias("minermoney_yellow", "minertrade:minermoney_yellow")
minetest.register_alias("minermoneyyellow", "minertrade:minermoney_yellow")
minetest.register_alias("minercash729", "minertrade:minermoney_yellow")
--##########################################################################################################
minetest.register_craftitem("minertrade:checkbank", {
description = core.colorize("#00FF00",
modMinerTrade.translate("BANK CHECK")
).."\n* "..modMinerTrade.translate("Equivalent to as much minercash as your creator wants.."),
inventory_image = "obj_bank_check.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=0, trade=1},
})
--[[
minetest.register_craft({
output = "minertrade:checkbank",
recipe = {
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"}
},
})
--]]
--[[
minetest.register_craft({
output = "minertrade:minermoney_green 1",
recipe = {
{"minertrade:checkbank"},
},
})
--]]
--[[
minetest.register_alias(
modMinerTrade.translate("checkbank"),
"minertrade:checkbank"
)
--]]
--##########################################################################################################
minetest.register_craftitem("minertrade:creditcard", {
description = modMinerTrade.translate("CREDIT CARD (Unowned)")
.."\n* "..modMinerTrade.translate("Allows you to access the bank account of the credit card owner anywhere in the world."),
inventory_image = "obj_credit_card.png",
--stack_max=9, --Acumula 9 por slot
groups = {cash=0, trade=1},
--[[
on_use = function(itemstack, player)
local playername = player:get_player_name()
local meta = itemstack:get_meta()
local old_data = minetest.deserialize(itemstack:get_metadata())
if old_data then
meta:from_table({ fields = old_data })
end
local tmpDatabase = meta:to_table().fields
if type(tmpDatabase.ownername)~="string" or tmpDatabase.ownername=="" then
tmpDatabase.ownername = playername
tmpDatabase.description = modMinerTrade.translate("CREDIT CARD of '%s'"):format(tmpDatabase.ownername)
local invPlayer = player:get_inventory()
local new_stack
local count = itemstack:get_count()
itemstack:set_count(count - 1)
new_stack = ItemStack("minertrade:creditcard")
new_stack:get_meta():from_table({ fields = tmpDatabase })
if invPlayer:room_for_item("main", new_stack) then
invPlayer:add_item("main", new_stack)
else
minetest.add_item(player:get_pos(), new_stack)
end
minetest.chat_send_player(playername,
core.colorize("#00FF00", "["..modMinerTrade.translate("CREDIT CARD").."]: ")
..modMinerTrade.translate("Your name has been saved to this credit card. Anyone using this credit card will be able to access the '%s' bank account."):format(tmpDatabase.ownername)
)
minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,})
return itemstack
end
modMinerTrade.showInventory(
player,
tmpDatabase.ownername,
modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername)
)
return itemstack
end,
--]]
})
minetest.register_craft({
output = "minertrade:creditcard",
recipe = {
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"}
},
})
minetest.register_craft({
output = "minertrade:checkbank 9",
recipe = {
{"minertrade:creditcard"},
},
})
minetest.register_alias(
modMinerTrade.translate("creditcard"),
"minertrade:creditcard"
)
--##########################################################################################################
minetest.register_craftitem("minertrade:minermoney", {
description = core.colorize("#00FF00",
modMinerTrade.translate("OBSOLETE MONEY")
).."\n* "..modMinerTrade.translate("You can make money from it."),
inventory_image = "obj_moneybag.png",
stack_max=99, --Acumula 9 por slot
groups = {cash=0, trade=0, money=0},
})
minetest.register_craft({
output = "minertrade:minercoin 9",
recipe = {
{"minertrade:minermoney"},
},
})

View file

@ -1 +0,0 @@
return {["player"] = {}, ["acounts"] = 0}

View file

@ -1,21 +1,26 @@
# MINERTRADE SETTINGS # MINERTRADE SETTINGS
# Only players with "salary" privilege received a daily payment. # Only players with "salary" privilege received a daily payment.
# MINERTRADE:
# Whether the database will be BASE64 compressed.
# Default: true
minertrade.save_compressed (Database Compressed) bool true
# MINERTRADE: # MINERTRADE:
# If server will reward the player daily.. # If server will reward the player daily..
# Default: true # Default: true
minertrade.payday.enabled (Daily Salary Enabled) bool true minertrade.salary.enabled (Daily Salary Enabled) bool true
# MINERTRADE: # MINERTRADE:
# Value of the prize minercash that each player will receive at the end of the virtual day. # Value of the prize minercash that each player will receive at the end of the virtual day.
# Default: 1 | Min: 1 # Default: 1 | Min: 1
minertrade.payday.value (Daily Salary Value) int 1 1 minertrade.salary.value (Daily Salary Value) int 1 1
# MINERTRADE: # MINERTRADE:
# Time interval in seconds to check for rewardable players. # Time interval in seconds to check for rewardable players.
# WARNING: Decreasing this value too much can cause server lag. # WARNING: Decreasing this value too much can cause server lag.
# Deafault: 60 | Min: 1 # Deafault: 60 | Min: 1
minertrade.payday.interval (Interval Check Salary) int 60 1 minertrade.salay.intervalcheck (Interval Check Salary) int 60 1
# MINERTRADE: # MINERTRADE:
# Allows you to print the debug information of this mod on the screen. # Allows you to print the debug information of this mod on the screen.

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB