diff --git a/item_miner_cash.lua b/item_miner_cash.lua index 615dddc..1a3d9ec 100644 --- a/item_miner_cash.lua +++ b/item_miner_cash.lua @@ -63,15 +63,15 @@ minetest.register_alias( --########################################################################################################## -minetest.register_craftitem("minertrade:piggybank", { - description = modMinerTrade.translate("PIGGY BANK\n* equals 09 Minermoneys."), - inventory_image = "obj_piggy_bank.png", +minetest.register_craftitem("minertrade:checkbank", { + description = modMinerTrade.translate("CHECK BANK\n* equals 09 Minermoneys."), + inventory_image = "obj_bank_check.png", stack_max=9, --Acumula 9 por slot groups = {cash=1, trade=1}, }) minetest.register_craft({ - output = "minertrade:piggybank", + output = "minertrade:checkbank", recipe = { {"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"}, {"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"}, @@ -82,36 +82,77 @@ minetest.register_craft({ minetest.register_craft({ output = "minertrade:minermoney 9", recipe = { - {"minertrade:piggybank"}, + {"minertrade:checkbank"}, }, }) minetest.register_alias( modMinerTrade.translate("piggybank"), - "minertrade:piggybank" + "minertrade:checkbank" ) --########################################################################################################## minetest.register_craftitem("minertrade:creditcard", { - description = modMinerTrade.translate("CREDIT CARD\n* equals 09 Piggy Banks."), + description = modMinerTrade.translate("CREDIT CARD (Unowned)\n* equals 09 Check Banks.\n* Allows you to access the bank account of the credit card owner anywhere in the world."), inventory_image = "obj_credit_card.png", - stack_max=9, --Acumula 9 por slot + --stack_max=9, --Acumula 9 por slot groups = {cash=1, trade=1}, +on_use = function(itemstack, player) + local playername = player:get_player_name() +local meta = itemstack:get_meta() + local old_data = minetest.deserialize(itemstack:get_metadata()) + if old_data then + meta:from_table({ fields = old_data }) + end + local tmpDatabase = meta:to_table().fields + if type(tmpDatabase.ownername)~="string" or tmpDatabase.ownername=="" then + tmpDatabase.ownername = playername + tmpDatabase.description = modMinerTrade.translate("CREDIT CARD of '%s'"):format(tmpDatabase.ownername) + local invPlayer = player:get_inventory() + local new_stack + local count = itemstack:get_count() + itemstack:set_count(count - 1) + new_stack = ItemStack("minertrade:creditcard") + new_stack:get_meta():from_table({ fields = tmpDatabase }) + if invPlayer:room_for_item("main", new_stack) then + invPlayer:add_item("main", new_stack) + else + minetest.add_item(player:get_pos(), new_stack) + end + minetest.chat_send_player(playername, + core.colorize("#00ff00", "["..modMinerTrade.translate("CREDIT CARD").."]: ") + ..modMinerTrade.translate("Your name has been saved to this credit card. Anyone using this credit card will be able to access the '%s' bank account."):format(tmpDatabase.ownername) + ) + minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,}) + return itemstack + end + + local inv = modMinerTrade.getDetachedInventory(tmpDatabase.ownername) + minetest.show_formspec( + playername, + "safe_"..tmpDatabase.ownername, + modMinerTrade.getFormspec( + tmpDatabase.ownername, + modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername) + ) + ) + --return itemstack + end, }) minetest.register_craft({ output = "minertrade:creditcard", recipe = { - {"minertrade:piggybank", "minertrade:piggybank", "minertrade:piggybank"}, - {"minertrade:piggybank", "minertrade:piggybank", "minertrade:piggybank"}, - {"minertrade:piggybank", "minertrade:piggybank", "minertrade:piggybank"} + {"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"}, + {"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"}, + {"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"} }, }) minetest.register_craft({ - output = "minertrade:piggybank 9", + output = "minertrade:checkbank 9", recipe = { {"minertrade:creditcard"}, }, diff --git a/textures/obj_bank_check.png b/textures/obj_bank_check.png new file mode 100644 index 0000000..15a8bd1 Binary files /dev/null and b/textures/obj_bank_check.png differ