2017-03-13 18:26:38 -03:00
minetest.register_node ( " minertrade:strongbox " , {
2017-03-15 18:29:50 -03:00
description = modMinerTrade.translate ( " STRONGBOX \n * Save your money in this safe and withdraw your money at any shop that has an ATM. " ) ,
2017-03-13 18:26:38 -03:00
--inventory_image = "safe_front.png",
2017-03-13 18:47:26 -03:00
2017-03-13 18:26:38 -03:00
paramtype = " light " ,
2017-03-13 18:47:26 -03:00
sunlight_propagates = true ,
light_source = default.LIGHT_MAX ,
2017-03-13 18:26:38 -03:00
paramtype2 = " facedir " ,
2017-03-13 18:47:26 -03:00
is_ground_content = false ,
groups = { cracky = 1 } ,
2017-03-13 18:26:38 -03:00
tiles = {
" safe_side.png " ,
" safe_side.png " ,
" safe_side.png " ,
" safe_side.png " ,
" safe_side.png " ,
" safe_front.png " ,
} ,
after_place_node = function ( pos , placer )
local meta = minetest.get_meta ( pos )
2017-03-15 17:34:41 -03:00
local ownername = placer : get_player_name ( ) or " "
meta : set_string ( " owner " , ownername )
2017-03-15 18:29:50 -03:00
meta : set_string ( " infotext " , modMinerTrade.translate ( " STRONGBOX (Property of '%s') \n * Save your money in this safe and withdraw your money at any shop that has an ATM. " ) : format ( ownername ) )
2017-03-13 18:26:38 -03:00
local now = os.time ( ) --Em milisegundos
meta : set_string ( " opentime " , now + modMinerTrade.delayConstruct )
end ,
can_dig = function ( pos , player )
local meta = minetest.get_meta ( pos ) ;
if modMinerTrade.isOpen ( meta , player ) then
return true
else
return false
end
end ,
on_rightclick = function ( pos , node , clicker )
local playername = clicker : get_player_name ( )
local meta = minetest.get_meta ( pos )
local ownername = meta : get_string ( " owner " )
2017-03-15 18:29:50 -03:00
meta : set_string ( " infotext " , modMinerTrade.translate ( " STRONGBOX (Property of '%s') \n * Save your money in this safe and withdraw your money at any shop that has an ATM. " ) : format ( ownername ) )
2017-03-13 18:26:38 -03:00
if modMinerTrade.isOpen ( meta , clicker ) then
local opentime = tonumber ( meta : get_string ( " opentime " ) ) or 0
local now = os.time ( ) --Em milisegundos
if now >= opentime or minetest.get_player_privs ( playername ) . server then
local inv = modMinerTrade.getDetachedInventory ( ownername )
minetest.show_formspec (
playername ,
" safe_ " .. ownername ,
2018-05-07 06:22:58 -03:00
modMinerTrade.getFormspec (
ownername ,
modMinerTrade.translate ( " STRONGBOX owned by '%s': " ) : format ( ownername )
)
2017-03-13 18:26:38 -03:00
)
else
2017-03-23 13:35:54 -03:00
minetest.chat_send_player ( playername ,
core.colorize ( " #00ff00 " , " [ " .. modMinerTrade.translate ( " STRONGBOX " ) .. " ]: " )
.. modMinerTrade.translate ( " The safe is going to work %02d seconds after it is installed! " ) : format ( opentime - now )
)
2017-03-13 18:26:38 -03:00
end
else
2017-03-23 13:35:54 -03:00
minetest.chat_send_player ( playername ,
core.colorize ( " #00ff00 " , " [ " .. modMinerTrade.translate ( " STRONGBOX " ) .. " ]: " )
.. modMinerTrade.translate ( " You do not have access to the safe belonging to '%s'! " ) : format ( ownername )
)
2017-03-13 18:26:38 -03:00
end
end ,
} )
2018-12-08 21:31:06 -02:00
minetest.register_on_player_receive_fields ( function ( sender , formname , fields )
local sendername = sender : get_player_name ( )
--minetest.chat_send_player(sendername, "formname="..formname.." fields="..dump(fields))
if formname == " safe_ " .. sendername then -- This is your form name
if fields.quit then
modMinerTrade.doSave ( )
minetest.log ( ' action ' , " [STRONGBOX] " .. modMinerTrade.translate ( " Saving strongbox from all players in the file '%s'! " ) : format ( modMinerTrade.urlTabela ) )
end
end
end )
2017-03-13 18:26:38 -03:00
minetest.register_craft ( {
output = ' minertrade:strongbox ' ,
recipe = {
{ " default:steel_ingot " , " default:steel_ingot " , " default:steel_ingot " } ,
{ " default:steel_ingot " , " " , " default:mese_crystal " } ,
{ " default:steel_ingot " , " default:steel_ingot " , " default:steel_ingot " } ,
}
} )
2017-03-15 17:34:41 -03:00
minetest.register_alias (
modMinerTrade.translate ( " strongbox " ) ,
" minertrade:strongbox "
)