diff --git a/item_eurn.lua b/item_eurn.lua index 017e889..8559830 100644 --- a/item_eurn.lua +++ b/item_eurn.lua @@ -30,13 +30,15 @@ minetest.register_node("eurn:eurn", { "text_eurn_side.png", --atrĂ¡s "text_eurn_front.png" --frente }, - --[[ - on_place = function(itemstack, placer, pointed_thing) - return itemstack + after_place_node = function(pos, placer, itemstack) + local ownername = placer:get_player_name() + local meta = minetest.env:get_meta(pos) + meta:set_string("infotext", modEUrn.translate("Electronic Urn")) + meta:set_string("owner",ownername) end, - --]] + + --[[ on_rightclick = function(pos, node, clicker) - --[[ local clickername = clicker:get_player_name() local meta = minetest.get_meta(pos) --meta:set_string("infotext", modEUrn.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.")) @@ -55,6 +57,58 @@ minetest.register_node("eurn:eurn", { ) end --modEUrn.debug("on_rightclick() >>> "..modEUrn.getUrlDatabase()) - --]] end, + --]] + + --[[ + on_place = function(itemstack, placer, pointed_thing) + local playername = placer:get_player_name() + + if not pointed_thing.type == "node" then + return itemstack + end + + local posAbove = pointed_thing.above --acima + local posUnder = pointed_thing.under --abaixo + if not placer or not placer:is_player() or + not minetest.registered_nodes[minetest.get_node(posAbove).name].buildable_to + then --Verifica se pode construir sobre os objetos construiveis + return itemstack + end + + local nodeUnder = minetest.get_node(posUnder) + if minetest.registered_nodes[nodeUnder.name].on_rightclick then --Verifica se o itema na mao do jogador tem funcao rightclick + return minetest.registered_nodes[nodeUnder.name].on_rightclick(posUnder, nodeUnder, placer, itemstack) + end + + if + minetest.get_player_privs(playername).server + or modMinerTrade.getNodesInRange(posAbove, 2, "minertrade:dispensingmachine")>=1 + then + local facedir = minetest.dir_to_facedir(placer:get_look_dir()) + --minetest.chat_send_player(playername, "[ATM] aaaaaa") + minetest.set_node(posAbove, { + name = "minertrade:atm", + param2 = facedir, + }) + local meta = minetest.get_meta(posAbove) + meta:set_string("infotext", 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.")) + local now = os.time() --Em milisegundos + if not minetest.get_player_privs(playername).server then + meta:set_string("opentime", now+modMinerTrade.delayConstruct) + else + meta:set_string("opentime", now) + end + itemstack:take_item() -- itemstack:take_item() = Ok + else + minetest.chat_send_player(playername, + core.colorize("#00ff00", "["..modMinerTrade.translate("ATM").."]: ") + ..modMinerTrade.translate("You can not install this 'ATM' too far from a 'Dispensing Machine'!") + ) + --return itemstack -- = Cancel + end + + return itemstack + end, + --]] })