diff --git a/init.lua b/init.lua index 9b76f02..c3decf6 100644 --- a/init.lua +++ b/init.lua @@ -1,33 +1,20 @@ local modname = minetest.get_current_modname() local modpath = minetest.get_modpath(modname) - - -dofile(modpath.."/config.lua") -dofile(modpath.."/translate.lua") +dofile(modpath.."/config.lua") -- <== Antes de carregar tudo! +dofile(modpath.."/translate.lua") -- <== Antes de 'api.lua'! dofile(modpath.."/api.lua") -dofile(modpath.."/commands.lua") dofile(modpath.."/item_atm.lua") dofile(modpath.."/item_strongbox.lua") --dofile(modpath.."/item_strongbox_old.lua") dofile(modpath.."/item_miner_cash.lua") -dofile(modpath.."/item_barter_table.lua") +dofile(modpath.."/item_exchange_table.lua") dofile(modpath.."/item_dispensing_machine.lua") -- --dofile(path.."/item_rent_door.lua") +dofile(modpath.."/commands.lua") +dofile(modpath.."/on_final.lua") -- <== Depois que carregou tudo! - -modMinerTrade.doLoad() - -minetest.register_on_leaveplayer(function(player) - modMinerTrade.doSave() -end) - -minetest.register_on_shutdown(function() - modMinerTrade.doSave() - minetest.log('action',"[STRONGBOX] Salvando cofre de todos os jogadores no arquivo '"..modMinerTrade.urlTabela.."'!") -end) - -minetest.log('action',"["..modname:upper().."] Carregado!") +minetest.log('action',"["..modname:upper().."] Loaded!") diff --git a/item_barter_table.lua b/item_barter_table.lua deleted file mode 100644 index 213e954..0000000 --- a/item_barter_table.lua +++ /dev/null @@ -1,174 +0,0 @@ -modMinerTrade.bartertable = { - formspec = { - main = "size[10,9.5]".. - "label[3.5,0;MESA DE ESCAMBO\n(Jogador para Jogador)]".. - "list[current_name;pl1;0,1;3,4;]".. - "list[current_name;pl2;7,1;3,4;]".. - "label[1,5;Seu inventario:]".. - "list[current_player;main;1,5.5;8,4;]", - pl1 = { - start = "button[3,1;2.0,1;pl1_start;Abrir]", - player = function(name) return "label[0,0.5;"..name.." oferece:]" end, - accept1 = "button[3,1;2,1;pl1_accept1;Oferecer]".. - "button[3,2;2,1;pl1_cancel;Cancelar]", - accept2 = "button[3,1;2,1;pl1_accept2;Confirmar]".. - "button[3,2;2,1;pl1_cancel;Cancelar]", - }, - pl2 = { - start = "button[5,1;2.0,1;pl2_start;Abrir]", - player = function(name) return "label[7,0.5;"..name.." oferece:]" end, - accept1 = "button[5,1;2,1;pl2_accept1;Oferecer]".. - "button[5,2;2,1;pl2_cancel;Cancelar]", - accept2 = "button[5,1;2,1;pl2_accept2;Confirmar]".. - "button[5,2;2,1;pl2_cancel;Cancelar]", - }, - } -} - - -modMinerTrade.bartertable.getPrivilegios = function(listname,playername,meta) - if listname == "pl1" then - if playername ~= meta:get_string("pl1") then - return false - elseif meta:get_int("pl1step") ~= 1 then - return false - end - end - if listname == "pl2" then - if playername ~= meta:get_string("pl2") then - return false - elseif meta:get_int("pl2step") ~= 1 then - return false - end - end - return true -end - -modMinerTrade.bartertable.update_formspec = function(meta) - local formspec = modMinerTrade.bartertable.formspec.main --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:68. - local pl_formspec = function (n) - if meta:get_int(n.."step")==0 then - formspec = formspec .. modMinerTrade.bartertable.formspec[n].start - else - formspec = formspec .. modMinerTrade.bartertable.formspec[n].player(meta:get_string(n)) - if meta:get_int(n.."step") == 1 then - formspec = formspec .. modMinerTrade.bartertable.formspec[n].accept1 - elseif meta:get_int(n.."step") == 2 then - formspec = formspec .. modMinerTrade.bartertable.formspec[n].accept2 - end - end - end - pl_formspec("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:80. - pl_formspec("pl2") - meta:set_string("formspec",formspec) -end - -modMinerTrade.bartertable.getInventario = function(inv,list,playername) - local player = minetest.env:get_player_by_name(playername) - if player then - for k,v in ipairs(inv:get_list(list)) do - player:get_inventory():add_item("main",v) - inv:remove_item(list,v) - end - end -end - -modMinerTrade.bartertable.cancel = function(meta) - modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl1")) - modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl2")) - meta:set_string("pl1","") - meta:set_string("pl2","") - meta:set_int("pl1step",0) - meta:set_int("pl2step",0) -end - -modMinerTrade.bartertable.exchange = function(meta) - modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl2")) - modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl1")) - meta:set_string("pl1","") - meta:set_string("pl2","") - meta:set_int("pl1step",0) - meta:set_int("pl2step",0) -end - -minetest.register_node("minertrade:bartertable", { - description = "Mesa de Escambo (Jogador para Jogador)", - tiles = {"balcao_topo.png", "balcao1_baixo.png", "balcao1_lado.png"}, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("infotext", "Mesa de Escambo (Player to Player)") - meta:set_string("pl1","") - meta:set_string("pl2","") - modMinerTrade.bartertable.update_formspec(meta) - local inv = meta:get_inventory() - inv:set_size("pl1", 3*4) - inv:set_size("pl2", 3*4) - end, - on_receive_fields = function(pos, formname, fields, sender) - local meta = minetest.env:get_meta(pos) - local pl_receive_fields = function(n) - if fields[n.."_start"] and meta:get_string(n) == "" then - minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) - meta:set_string(n,sender:get_player_name()) - end - if meta:get_string(n) == "" then - meta:set_int(n.."step",0) - elseif meta:get_int(n.."step")==0 then - meta:set_int(n.."step",1) - end - if sender:get_player_name() == meta:get_string(n) then - if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then - minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) - meta:set_int(n.."step",2) - end - if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then - minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) - meta:set_int(n.."step",3) - if n == "pl1" and meta:get_int("pl2step") == 3 then modMinerTrade.bartertable.exchange(meta) end - if n == "pl2" and meta:get_int("pl1step") == 3 then modMinerTrade.bartertable.exchange(meta) end - end - if fields[n.."_cancel"] then - minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) - modMinerTrade.bartertable.cancel(meta) - end - end - end - pl_receive_fields("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_receive_fields" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:156. - pl_receive_fields("pl2") - -- End - modMinerTrade.bartertable.update_formspec(meta) - end, - allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.env:get_meta(pos) - if not modMinerTrade.bartertable.getPrivilegios(from_list,player:get_player_name(),meta) then return 0 end - if not modMinerTrade.bartertable.getPrivilegios(to_list,player:get_player_name(),meta) then return 0 end - return count - end, - allow_metadata_inventory_put = function(pos, listname, index, stack, player) - local meta = minetest.env:get_meta(pos) - if not modMinerTrade.bartertable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end - return stack:get_count() - end, - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - local meta = minetest.env:get_meta(pos) - if not modMinerTrade.bartertable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end - return stack:get_count() - end, -}) - - -minetest.register_craft({ - output = 'minertrade:bartertable', - recipe = { - {"group:wood" ,"group:wood"}, - {"group:wood" ,"group:wood"}, - } -}) - -minetest.register_alias("bartertable" , "minertrade:bartertable") -minetest.register_alias("balcaodeescambo" , "minertrade:bartertable") -minetest.register_alias("balcaodetroca" , "minertrade:bartertable") -minetest.register_alias("mesadeescambo" , "minertrade:bartertable") -minetest.register_alias("mesadetroca" , "minertrade:bartertable") diff --git a/item_dispensing_machine.lua b/item_dispensing_machine.lua index 9e4d8f6..7036839 100644 --- a/item_dispensing_machine.lua +++ b/item_dispensing_machine.lua @@ -64,7 +64,7 @@ modMinerTrade.dispensing.formspec = { ).."]" .."label[0,6.25;"..minetest.formspec_escape(modMinerTrade.translate("Seller current inventory"))..":]" .."list[current_player;main;0,6.75.0;8,4;]" - .."label[0,10.75;(CTRL + Mouse = "..minetest.formspec_escape(modMinerTrade.translate("Customer Interface"))..")]" + .."label[0,10.75;("..minetest.formspec_escape(modMinerTrade.translate("Ctrl + Right Click Mouse → Customer Interface"))..")]" return formspec end, } @@ -121,7 +121,7 @@ local box_format = { } minetest.register_node("minertrade:dispensingmachine", { - description = modMinerTrade.translate("Dispensing Machine (Sell items for you)"), + description = modMinerTrade.translate("DISPENSING MACHINE\n* Sells your items, even if you are not online."), --tiles = {"balcao_topo.png", "balcao2_baixo.png", "balcao2_lado.png"}, drawtype = "nodebox", @@ -207,9 +207,6 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields) local owner = meta:get_string("owner") --minetest.chat_send_player(name,"owner('"..owner.."') == name('"..name.."')") - - - if modMinerTrade.dispensing.canOpen(pos, name) and sender:get_player_control().aux1 then minetest.chat_send_player(name,modMinerTrade.translate("You can not change your own machine!")) minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) @@ -227,9 +224,9 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields) meta:set_string("offer", "") meta:set_string("infotext", modMinerTrade.translate("Dispensing Machine of '%s'."):format(owner)) end + return end - local minv = meta:get_inventory() local pinv = sender:get_inventory() local invlist_tostring = function(invlist) @@ -256,25 +253,28 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields) owners_fault = true end end - if can_exchange then - for i, item in pairs(wants) do - pinv:remove_item("customer_gives",item) - minv:add_item("customers_gave",item) - end - for i, item in pairs(gives) do - minv:remove_item("stock",item) - pinv:add_item("customer_gets",item) - end - minetest.chat_send_player(name,"Escambo feito!") - minetest.sound_play("sfx_cash_register", {object=sender, max_hear_distance=5.0,}) - elseif fields.quit==nil then - if owners_fault then - minetest.chat_send_player(name,modMinerTrade.translate("The stock of '%s' is gone. Contact him!"):format(owner)) + + if fields.quit==nil then + if can_exchange then + for i, item in pairs(wants) do + pinv:remove_item("customer_gives",item) + minv:add_item("customers_gave",item) + end + for i, item in pairs(gives) do + minv:remove_item("stock",item) + pinv:add_item("customer_gets",item) + end + minetest.chat_send_player(name,modMinerTrade.translate("Exchange done!")) + minetest.sound_play("sfx_cash_register", {object=sender, max_hear_distance=5.0,}) else - minetest.chat_send_player(name,modMinerTrade.translate("the barter can not be done. Make sure you offer what the machine asks for!")) + if owners_fault then + minetest.chat_send_player(name,modMinerTrade.translate("The stock of '%s' is gone. Contact him!"):format(owner)) + else + minetest.chat_send_player(name,modMinerTrade.translate("the barter can not be done. Make sure you offer what the machine asks for!")) + end + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) end - minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) - end + end --if fields.quit==nil then end end end) diff --git a/item_exchange_table.lua b/item_exchange_table.lua new file mode 100644 index 0000000..a247fd9 --- /dev/null +++ b/item_exchange_table.lua @@ -0,0 +1,178 @@ +modMinerTrade.exchangetable = { + formspec = { + main = "size[10,9.5]" + .."listcolors[#88888844;#888888;#FFFFFF]" + .."background[-0.25,-0.25;10.5,10.25;balcao_topo.png]" + .."label[3.5,0;"..minetest.formspec_escape(modMinerTrade.translate("EXCHANGE TABLE\n(Player to Player)")).."]" + .."list[current_name;pl1;0,1;3,4;]" + .."list[current_name;pl2;7,1;3,4;]" + .."label[1,5;"..minetest.formspec_escape(modMinerTrade.translate("Your inventory"))..":]" + .."list[current_player;main;1,5.5;8,4;]", + pl1 = { + start = "button[3,1;2.0,1;pl1_start;"..minetest.formspec_escape(modMinerTrade.translate("Open")).."]", + player = function(name) return "label[0,0.5;"..minetest.formspec_escape(modMinerTrade.translate("'%s' offer"):format(name))..":]" end, + accept1 = "button[3,1;2,1;pl1_accept1;"..minetest.formspec_escape(modMinerTrade.translate("Offer")).."]".. + "button[3,2;2,1;pl1_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]", + accept2 = "button[3,1;2,1;pl1_accept2;"..minetest.formspec_escape(modMinerTrade.translate("Confirm")).."]".. + "button[3,2;2,1;pl1_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]", + }, + pl2 = { + start = "button[5,1;2.0,1;pl2_start;"..minetest.formspec_escape(modMinerTrade.translate("Open")).."]", + player = function(name) return "label[7,0.5;"..minetest.formspec_escape(modMinerTrade.translate("'%s' offer"):format(name))..":]" end, + accept1 = "button[5,1;2,1;pl2_accept1;"..minetest.formspec_escape(modMinerTrade.translate("Offer")).."]".. + "button[5,2;2,1;pl2_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]", + accept2 = "button[5,1;2,1;pl2_accept2;"..minetest.formspec_escape(modMinerTrade.translate("Confirm")).."]".. + "button[5,2;2,1;pl2_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]", + }, + } +} + + +modMinerTrade.exchangetable.getPrivilegios = function(listname,playername,meta) + if listname == "pl1" then + if playername ~= meta:get_string("pl1") then + return false + elseif meta:get_int("pl1step") ~= 1 then + return false + end + end + if listname == "pl2" then + if playername ~= meta:get_string("pl2") then + return false + elseif meta:get_int("pl2step") ~= 1 then + return false + end + end + return true +end + +modMinerTrade.exchangetable.update_formspec = function(meta) + local formspec = modMinerTrade.exchangetable.formspec.main + local pl_formspec = function (n) + if meta:get_int(n.."step")==0 then + formspec = formspec .. modMinerTrade.exchangetable.formspec[n].start + else + formspec = formspec .. modMinerTrade.exchangetable.formspec[n].player(meta:get_string(n)) + if meta:get_int(n.."step") == 1 then + formspec = formspec .. modMinerTrade.exchangetable.formspec[n].accept1 + elseif meta:get_int(n.."step") == 2 then + formspec = formspec .. modMinerTrade.exchangetable.formspec[n].accept2 + end + end + end + pl_formspec("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/exchangetable.lua:80. + pl_formspec("pl2") + meta:set_string("formspec",formspec) +end + +modMinerTrade.exchangetable.getInventario = function(inv,list,playername) + local player = minetest.env:get_player_by_name(playername) + if player then + for k,v in ipairs(inv:get_list(list)) do + player:get_inventory():add_item("main",v) + inv:remove_item(list,v) + end + end +end + +modMinerTrade.exchangetable.cancel = function(meta) + modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl1")) + modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl2")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +modMinerTrade.exchangetable.exchange = function(meta) + modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl2")) + modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl1")) + meta:set_string("pl1","") + meta:set_string("pl2","") + meta:set_int("pl1step",0) + meta:set_int("pl2step",0) +end + +minetest.register_node("minertrade:exchangetable", { + description = modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground."), + tiles = {"balcao_topo.png", "balcao1_baixo.png", "balcao1_lado.png"}, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + sounds = default.node_sound_wood_defaults(), + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground.")) + meta:set_string("pl1","") + meta:set_string("pl2","") + modMinerTrade.exchangetable.update_formspec(meta) + local inv = meta:get_inventory() + inv:set_size("pl1", 3*4) + inv:set_size("pl2", 3*4) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground.")) + local pl_receive_fields = function(n) + if fields[n.."_start"] and meta:get_string(n) == "" then + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) + meta:set_string(n,sender:get_player_name()) + end + if meta:get_string(n) == "" then + meta:set_int(n.."step",0) + elseif meta:get_int(n.."step")==0 then + meta:set_int(n.."step",1) + end + if sender:get_player_name() == meta:get_string(n) then + if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) + meta:set_int(n.."step",2) + end + if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) + meta:set_int(n.."step",3) + if n == "pl1" and meta:get_int("pl2step") == 3 then modMinerTrade.exchangetable.exchange(meta) end + if n == "pl2" and meta:get_int("pl1step") == 3 then modMinerTrade.exchangetable.exchange(meta) end + end + if fields[n.."_cancel"] then + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) + modMinerTrade.exchangetable.cancel(meta) + end + end + end + pl_receive_fields("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_receive_fields" inside a function at /home/lunovox/.minetest/mods/lunotrades/exchangetable.lua:156. + pl_receive_fields("pl2") + -- End + modMinerTrade.exchangetable.update_formspec(meta) + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.env:get_meta(pos) + if not modMinerTrade.exchangetable.getPrivilegios(from_list,player:get_player_name(),meta) then return 0 end + if not modMinerTrade.exchangetable.getPrivilegios(to_list,player:get_player_name(),meta) then return 0 end + return count + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not modMinerTrade.exchangetable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + local meta = minetest.env:get_meta(pos) + if not modMinerTrade.exchangetable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end + return stack:get_count() + end, +}) + + +minetest.register_craft({ + output = 'minertrade:exchangetable', + recipe = { + {"default:steel_ingot" ,"group:wood" ,"default:steel_ingot"}, + {"group:wood" ,"group:wood" ,"group:wood"}, + {"group:stick" ,"" ,"group:stick"}, + } +}) + +minetest.register_alias("exchangetable" , "minertrade:exchangetable") +minetest.register_alias( + modMinerTrade.translate("exchangetable"), + "minertrade:exchangetable" +) diff --git a/locale/pt.txt b/locale/pt.txt index 1932d5d..8e183e9 100644 --- a/locale/pt.txt +++ b/locale/pt.txt @@ -12,6 +12,7 @@ DISPENSING MACHINE=MÁQUINA DE DISPENSADORA Customer Offer=Cliente Oferece Customer Receive=Cliente Recebe ACCEPT=ACEITAR +Exchange done!=Escambo feito! Current customer inventory=Inventário atual do cliente The Machine Need=A Maquina Precisa The Machine Offer=A Maquina Oferece @@ -21,14 +22,27 @@ You need=Você Precisa You offer=Você Oferece Make an announcement about what this machine will do=Faça um anúncio sobre o que esta máquina dispensará Seller current inventory=Inventario atual do vendedor -Customer Interface=Interface do Cliente -Dispensing Machine (Sell items for you)=Maquina Dispensadora (Vende itens por você) +Ctrl + Right Click Mouse → Customer Interface=Ctrl + Clique Direito do Mouse → Interface do Cliente +DISPENSING MACHINE\n* Sells your items, even if you are not online.=MÁQUINA DE DISPENSADORA\n* Vende seus itens, mesmo se você não estiver online. Dispensing Machine of '%s'.=Maquina Dispensadora de '%s'. The Dispensing Machine can not be removed before being emptied!=A Máquina Dispensadora não pode ser retirada antes de ser esvaziada! You can not change your own machine!=Voce nao pode trocar na sua propria maquina! The stock of '%s' is gone. Contact him!=O estoque de '%s' acabou. Contacte-o! the barter can not be done. Make sure you offer what the machine asks for!=O escambo nao pode ser feito. Verifique se voce ofereceu o que a maquina pede! +#------- item_barter_table.lua --------------------------------------------------------------------------- +EXCHANGE TABLE\n(Player to Player)=MESA DE ESCAMBO\n(Jogador para Jogador) +EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground.=MESA DE ESCAMBO\n* Faz trocas seguras jogador a jogador sem a necessidade de colocar seu itens no chão. +'%s' offer='%s' oferece +Your inventory=Seu inventario +Open=Abrir +Offer=Oferecer +Cancel=Cancelar +Confirm=Confirmar + +#------- on_final.lua --------------------------------------------------------------------------- +Saving strongbox from all players in the file '%s'!=Salvando cofre de todos os jogadores no arquivo '%s'! # ------- alias --------------------------------------------------------------------------- dispensingmachine=dispensadora +exchangetable=mesadetroca diff --git a/on_final.lua b/on_final.lua new file mode 100644 index 0000000..a444439 --- /dev/null +++ b/on_final.lua @@ -0,0 +1,10 @@ +modMinerTrade.doLoad() + +minetest.register_on_leaveplayer(function(player) + modMinerTrade.doSave() +end) + +minetest.register_on_shutdown(function() + modMinerTrade.doSave() + minetest.log('action',"[STRONGBOX] "..modMinerTrade.translate("Saving strongbox from all players in the file '%s'!"):format(modMinerTrade.urlTabela)) +end) diff --git a/screenshot2.png b/screenshot2.png new file mode 100644 index 0000000..63c7396 Binary files /dev/null and b/screenshot2.png differ diff --git a/screenshot3.png b/screenshot3.png new file mode 100644 index 0000000..7582884 Binary files /dev/null and b/screenshot3.png differ