From 4cfe11e75105ae87736343220d474a6ad131fc29 Mon Sep 17 00:00:00 2001 From: Lunovox Date: Wed, 9 Aug 2023 20:41:29 -0300 Subject: [PATCH] Transfer Proof Version 1 --- item_atm.lua | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/item_atm.lua b/item_atm.lua index f755cbe..8f0466a 100644 --- a/item_atm.lua +++ b/item_atm.lua @@ -184,6 +184,27 @@ modMinerTrade.getSalt_Hash = function() return modMinerTrade.bank.salt_hash end +modMinerTrade.addTransferProof = function(player, accountname, txtBeneficiary, txtValue, txtReason) + local playername = player:get_player_name() + local objProof = modMinerTrade.getProofStack(playername, accountname, txtBeneficiary, txtValue, txtReason) + local invPlayer = player:get_inventory() + if invPlayer:room_for_item("main", objProof) then-- verifica se compartimento de Recebimento de pagamento do vendedor tem espaço + invPlayer:add_item("main", objProof) + minetest.chat_send_player(playername, + core.colorize("#00FF00", "["..modMinerTrade.translate("ATM").."]: ") + ..modMinerTrade.translate("Transfer successful!") + ) + else + minetest.add_item(player:get_pos(), objProof) + minetest.chat_send_player(playername, + core.colorize("#00FF00", "["..modMinerTrade.translate("ATM").."]: ") + ..core.colorize("#FF0000", + modMinerTrade.translate("The Transfer Proof was left on the floor because '%s' inventory has no free space."):format(playername) + ) + ) + end +end + modMinerTrade.getProofStack = function(playername, accountname, txtBeneficiary, txtValue, txtReason) local player = minetest.get_player_by_name(playername) if player ~= nil and player:is_player() then @@ -958,23 +979,9 @@ modMinerTrade.onReceiveFields = function(player, formname, fields) modMinerTrade.translate("The '%s' say to '%s': '%s'"):format(playername, txtBeneficiary, txtReason) ) - local objProof = modMinerTrade.getProofStack(playername, accountname, txtBeneficiary, txtValue, txtReason) - local invPlayer = player:get_inventory() - if invPlayer:room_for_item("main", objProof) then-- verifica se compartimento de Recebimento de pagamento do vendedor tem espaço - invPlayer:add_item("main", objProof) - minetest.chat_send_player(playername, - core.colorize("#00FF00", "["..modMinerTrade.translate("ATM").."]: ") - ..modMinerTrade.translate("Transfer successful!") - ) - else - minetest.add_item(player:get_pos(), objProof) - minetest.chat_send_player(playername, - core.colorize("#00FF00", "["..modMinerTrade.translate("ATM").."]: ") - ..core.colorize("#FF0000", - modMinerTrade.translate("The Transfer Proof was left on the floor because '%s' inventory has no free space."):format(playername) - ) - ) - end + modMinerTrade.addTransferProof(player, accountname, txtBeneficiary, txtValue, txtReason) + + --modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) --modMinerTrade.showAccountBank.frmTransfer(playername, txtBeneficiary, txtValue, txtReason, msgDetails) --FORMULÁRIO: SAQUE modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)