diff --git a/item_dispensing_machine.lua b/item_dispensing_machine.lua index c27032e..f239ea5 100644 --- a/item_dispensing_machine.lua +++ b/item_dispensing_machine.lua @@ -4,9 +4,9 @@ modMinerTrade.dispensing = { modMinerTrade.dispensing.formspec = { customer = function(pos) local list_name = "nodemeta:"..pos.x..','..pos.y..','..pos.z - local formspec = "size[8,11]" + local formspec = "size[8,10.25]" --.."bgcolor[#00880033;false]" - .."background[-0.25,-0.25;8.50,11.50;dispensador_traz.png]" + .."background[-0.25,-0.25;8.50,11.00;dispensador_traz.png]" --listcolors[slot_bg_normal;slot_bg_hover;slot_border;tooltip_bgcolor;tooltip_fontcolor] .."listcolors[#004400EE;#008800;#00FF00;#CCCC00;#FFFFFF]" @@ -20,6 +20,7 @@ modMinerTrade.dispensing.formspec = { .."list[current_player;customer_gets;0,4.0;3,2;]" .."button[3,2.0;2,1;exchange;"..minetest.formspec_escape(modMinerTrade.translate("ACCEPT")).."]" + .."button[3,3.0;2,1;btnRefill;"..minetest.formspec_escape(modMinerTrade.translate("REFILL")).."]" .."label[0,6.0;"..minetest.formspec_escape(modMinerTrade.translate("Current customer inventory"))..":]" .."list[current_player;main;0,6.5;8,4;]" @@ -29,7 +30,7 @@ modMinerTrade.dispensing.formspec = { .."label[5,3.5;"..minetest.formspec_escape(modMinerTrade.translate("The Machine Offer"))..":]" .."list["..list_name..";owner_gives;5,4.0;3,2;]" - .."label[0,10.75;("..minetest.formspec_escape(modMinerTrade.translate("Ctrl + RMB → Owner Interface"))..")]" + --.."label[0,10.75;("..minetest.formspec_escape(modMinerTrade.translate("Ctrl + RMB → Owner Interface"))..")]" --.."listcolors[#00000000;#00000022;#00000000;#00000033;#FFFFFFFF]" --.."listcolors[#00000000;#00000033]" @@ -38,9 +39,9 @@ modMinerTrade.dispensing.formspec = { end, owner = function(pos) local list_name = "nodemeta:"..pos.x..','..pos.y..','..pos.z - local formspec = "size[8,11]" + local formspec = "size[8,10.50]" --.."bgcolor[#00880033;false]" - .."background[-0.25,-0.25;8.50,11.50;dispensador_traz.png]" + .."background[-0.25,-0.25;8.50,11.25;dispensador_traz.png]" --listcolors[slot_bg_normal;slot_bg_hover;slot_border;tooltip_bgcolor;tooltip_fontcolor] .."listcolors[#004400EE;#008800;#00FF00;#CCCC00;#FFFFFF]" .."label[0,0;"..minetest.formspec_escape(modMinerTrade.translate("Received (Your Profit)"))..":]" @@ -106,6 +107,7 @@ modMinerTrade.dispensing.canOpen = function(pos, playername) local meta = minetest.get_meta(pos) if meta:get_string("owner")==playername + or minetest.get_player_privs(playername).protection_bypass or ( minetest.get_modpath("tradelands") and modTradeLands.getOwnerName(pos)~="" @@ -168,11 +170,14 @@ minetest.register_node("minertrade:dispensingmachine", { modMinerTrade.dispensing.loja_atual[clicker:get_player_name()] = pos local meta = minetest.get_meta(pos) local clickername = clicker:get_player_name() + minetest.show_formspec(clickername,"modMinerTrade.balcaodeloja_formspec",modMinerTrade.dispensing.formspec.customer(pos)) + --[[ if modMinerTrade.dispensing.canOpen(pos, clickername) and not clicker:get_player_control().aux1 then - minetest.show_formspec(clickername,"modMinerTrade.balcaodeloja_formspec",modMinerTrade.dispensing.formspec.customer(pos)) - else minetest.show_formspec(clickername,"modMinerTrade.balcaodeloja_formspec",modMinerTrade.dispensing.formspec.owner(pos)) + else + minetest.show_formspec(clickername,"modMinerTrade.balcaodeloja_formspec",modMinerTrade.dispensing.formspec.customer(pos)) end + --]] --return itemstack end, allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) @@ -218,14 +223,28 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields) --minetest.chat_send_player(sendername,"ownername('"..ownername.."') == sendername('"..sendername.."')") + if fields.btnRefill then + if modMinerTrade.dispensing.canOpen(pos, sendername) then + minetest.show_formspec(sendername,"modMinerTrade.balcaodeloja_formspec",modMinerTrade.dispensing.formspec.owner(pos)) + else + minetest.chat_send_player(sendername, + core.colorize("#ff0000", "["..modMinerTrade.translate("DISPENSING MACHINE").."]: ") + ..modMinerTrade.translate("You cannot fill the dispensing machine if you are not the owner!") + ) + minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) + end + return + end + if modMinerTrade.dispensing.canOpen(pos, sendername) and sender:get_player_control().aux1 then minetest.chat_send_player(sendername, - core.colorize("#00ff00", "["..modMinerTrade.translate("DISPENSING MACHINE").."]: ") + core.colorize("#ff0000", "["..modMinerTrade.translate("DISPENSING MACHINE").."]: ") ..modMinerTrade.translate("You can not change your own machine!") ) minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,}) return else + --minetest.chat_send_player(sendername,"fields="..dump(fields)) if fields.txtOffer ~= nil then if fields.txtOffer ~= "" then