From 43e1acaae5ad0fae14f77f52df1fbcdb3d25e612 Mon Sep 17 00:00:00 2001 From: Lunovox Date: Mon, 16 May 2022 05:13:48 -0300 Subject: [PATCH] tentativa de desafoga o servidor... --- item_atm.lua | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/item_atm.lua b/item_atm.lua index 7d4d1da..1f4ef04 100644 --- a/item_atm.lua +++ b/item_atm.lua @@ -22,7 +22,8 @@ modMinerTrade.doBankSave = function() end file:write(content) file:close() - minetest.log('action',"[MINERTRADE] Banco de dados salvo !") + + minetest.log('action',"[MINERTRADE] "..modMinerTrade.translate("Saving data bank in the file '%s'!"):format(modMinerTrade.getUrlDatabase())) else minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.getUrlDatabase())) end @@ -43,7 +44,7 @@ modMinerTrade.doBankLoad = function() minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.getUrlDatabase())) return { } else - minetest.log('action',"[MINERTRADE] "..modMinerTrade.translate("Opening '%s'!"):format(modMinerTrade.getUrlDatabase())) + minetest.log('action',"[MINERTRADE] "..modMinerTrade.translate("Opening '%s' with data bank!"):format(modMinerTrade.getUrlDatabase())) end end end @@ -433,7 +434,7 @@ modMinerTrade.showAtm = { end, frmDeposits = function(playername) --FORMULÁRIO: SAQUE -- playername = player:get_player_name() - local newInv = minetest.create_detached_inventory("deposits", { + local newInv = minetest.create_detached_inventory("deposits_"..playername, { -- Called when a player wants to move items inside the inventory allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) @@ -534,7 +535,7 @@ modMinerTrade.showAtm = { .."label[7.00,3.00;"..minetest.formspec_escape(modMinerTrade.translate("ATM entrance"))..":]" .."image[9.00,3.35;2,2;obj_minercoin.png]" .."image[10.50,3.75;1,1;gui_arrow.png^[transformR270]" - .."list[detached:deposits;deposit;11.50,3.75;1,1;]" + .."list[detached:"..minetest.formspec_escape("deposits_"..playername)..";deposit;11.50,3.75;1,1;]" --.."button[3,2.0;2,1;exchange;"..minetest.formspec_escape(modMinerTrade.translate("DEPOSIT")).."]" @@ -585,12 +586,24 @@ modMinerTrade.convValueToItemList = function(value) end end +modMinerTrade.delDetachedInventory = function(playername) + --core.detached_inventories["safe_"..ownername] = nil + return minetest.remove_detached_inventory("deposits_"..playername) + --return minetest.remove_detached_inventory_raw("safe_"..ownername) +end + + modMinerTrade.onReceiveFields = function(player, formname, fields) local playername = player:get_player_name() --modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields)) if fields.btnAtmMain ~= nil then modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.showAtm.frmMain(playername) + elseif fields.quit then + --são funções importantíssimas para não perder inventário do jogador e nem calça legging no servidor. + modMinerTrade.doBankSave() + local isDeleted = modMinerTrade.delDetachedInventory(playername) + modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> Database saved and delete detached inventory... Done ["..dump(isDeleted).."]") else if formname == "frmAtmMain" then if fields.btnBalance ~= nil then