Correção de bug no painel de Transferência (ainda Incompleto)

This commit is contained in:
Lunovox 2022-06-03 00:57:09 -03:00
parent 971b6a12c9
commit cd8c75e3e2
2 changed files with 111 additions and 65 deletions

View file

@ -51,9 +51,10 @@ end
modMinerTrade.canInteract = function(playername) modMinerTrade.canInteract = function(playername)
--local clickername = clicker:get_player_name() --local clickername = clicker:get_player_name()
if minetest.get_player_privs(clickername).mayor then if minetest.get_player_privs(playername).mayor then
return true return true
end end
return false
end end
modMinerTrade.isExistAcount = function(playername) modMinerTrade.isExistAcount = function(playername)
@ -180,9 +181,24 @@ modMinerTrade.getValueStack = function(stack)
return 0 return 0
end end
modMinerTrade.showAccountBank = {
modMinerTrade.showAtm = { --modMinerTrade.showAccountBank.inAtm(playername, accountname)
inAtm = function(playername, accountname)
modMinerTrade.bank.player[playername].focused_accountname = accountname
modMinerTrade.bank.player[playername].focused_accountmode = "atm"
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAccountBank.frmMain(playername)
end,
--modMinerTrade.showAccountBank.inCreditCard(playername, accountname)
inCreditCard = function(playername, accountname)
modMinerTrade.bank.player[playername].focused_accountname = accountname
modMinerTrade.bank.player[playername].focused_accountmode = "online"
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAccountBank.frmMain(playername)
end,
frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ
local accountname = modMinerTrade.bank.player[playername].focused_accountname
local accountmode = modMinerTrade.bank.player[playername].focused_accountmode
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7688;false]" .."bgcolor[#636D7688;false]"
--.."bgcolor[#636D76FF;false]" --.."bgcolor[#636D76FF;false]"
@ -194,30 +210,40 @@ modMinerTrade.showAtm = {
.. "box[0.00,0.10;5.50,9.5;#000000]" .. "box[0.00,0.10;5.50,9.5;#000000]"
.. "button[0.25,0.50;5.00,0.5;btnBalance;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BALANCE"))).."]" .. "button[0.25,0.50;5.00,0.5;btnBalance;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BALANCE"))).."]"
.. "button[0.25,1.25;5.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("STATEMENT"))).."]" .. "button[0.25,1.25;5.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("STATEMENT"))).."]"
.. "button[0.25,2.00;5.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("DEPOSITS"))).."]" if
.. "button[0.25,2.75;5.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK] accountmode~=nil
.. "button[0.25,3.50;5.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("TRANSFERS"))).."]" and type(accountmode) == "string"
.. "button[0.25,4.25;5.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("LOANS"))).."]" --Emprestimos and accountmode == "atm"
.. "button[0.25,5.00;5.00,0.5;btnCreditCard;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("CREDIT CARD"))).."]" -- [EXPEDIR E MUDAR SENHA] then
.. "button[0.25,5.75;5.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao. formspec = formspec
.. "button[0.25,2.00;5.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("DEPOSITS"))).."]"
.. "button[0.25,2.75;5.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK]
if minetest.get_player_privs(playername).developer then
formspec = formspec
.. "button[0.25,3.50;5.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("TRANSFERS"))).."]"
.. "button[0.25,5.00;5.00,0.5;btnCreditCard;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("CREDIT CARD"))).."]" -- [EXPEDIR E MUDAR SENHA]
.. "button[0.25,4.25;5.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("LOANS"))).."]" --Emprestimos
.. "button[0.25,5.75;5.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao.
end
end
formspec = formspec
.."button_exit[0.25,6.50;5.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]" .."button_exit[0.25,6.50;5.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
--.. "box[6.0,0.25;9.5,9.5;#000000]" --.. "box[6.0,0.25;9.5,9.5;#000000]"
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]" .."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
minetest.show_formspec(playername, "frmAtmMain", formspec) minetest.show_formspec(playername, "frmAtmMain", formspec)
end, end,
frmBalance = function(playername) --FORMULÁRIO: SALDO frmBalance = function(playername) --FORMULÁRIO: SALDO
local accountname = modMinerTrade.bank.player[playername].focused_accountname
local msgBalance = "" local msgBalance = ""
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(playername)) msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(accountname))
else else
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername) msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(accountname)
end end
--local tblStatements = modMinerTrade.getStatement(playername) --local tblStatements = modMinerTrade.getStatement(accountname)
local totalTransactions = modMinerTrade.getTotalTransactions(playername) local totalTransactions = modMinerTrade.getTotalTransactions(accountname)
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7688;false]" .."bgcolor[#636D7688;false]"
@ -233,9 +259,9 @@ modMinerTrade.showAtm = {
.. "box[6.0,0.25;9.5,9.5;#00000088]" .. "box[6.0,0.25;9.5,9.5;#00000088]"
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]" .."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
.. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("NAME OF BANKING ACCOUNT HOLDER")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", playername:upper())).."]" .. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("NAME OF BANKING ACCOUNT HOLDER")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", accountname:upper())).."]"
.. "textarea[6.75,2.50;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("ACCOUNT CREATED")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.bank.player[playername].account_created)).."]" .. "textarea[6.75,2.50;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("ACCOUNT CREATED")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.bank.player[accountname].account_created)).."]"
.. "textarea[6.75,4.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("FINANCIAL TRANSACTIONS")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", ("%02d"):format(totalTransactions).." transactions.")).."]" .. "textarea[6.75,4.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("FINANCIAL TRANSACTIONS")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", ("%02d"):format(totalTransactions).." transactions.")).."]"
@ -249,6 +275,7 @@ modMinerTrade.showAtm = {
) )
end, end,
frmStatement = function(playername, selStatement) --FORMULÁRIO: SALDO frmStatement = function(playername, selStatement) --FORMULÁRIO: SALDO
local accountname = modMinerTrade.bank.player[playername].focused_accountname
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7644;false]" .."bgcolor[#636D7644;false]"
--.."bgcolor[#636D76FF;false]" --.."bgcolor[#636D76FF;false]"
@ -269,14 +296,14 @@ modMinerTrade.showAtm = {
--.."background[5.0,0.25;9.5,9.5;text_atm_front.png]" --.."background[5.0,0.25;9.5,9.5;text_atm_front.png]"
local msgStatement = modMinerTrade.translate("Select a bank statement to view transaction details!") local msgStatement = modMinerTrade.translate("Select a bank statement to view transaction details!")
local isAccount = modMinerTrade.isExistAcount(playername) local isAccount = modMinerTrade.isExistAcount(accountname)
if isAccount then if isAccount then
formspec = formspec formspec = formspec
.. "label[6.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("STATEMENT")..":")).."]" .. "label[6.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("STATEMENT")..":")).."]"
--.. "label[5.25,2.50;"..minetest.formspec_escape(core.colorize("#00FFFF", msgStatement)).."]" --.. "label[5.25,2.50;"..minetest.formspec_escape(core.colorize("#00FFFF", msgStatement)).."]"
--"textarea[5.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("STATEMENT")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgStatement)).."]" --"textarea[5.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("STATEMENT")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgStatement)).."]"
local listStatement = modMinerTrade.getStatement(playername) local listStatement = modMinerTrade.getStatement(accountname)
local plusStatement = "#888,"..modMinerTrade.translate("")..","..modMinerTrade.translate("WHEN")..","..modMinerTrade.translate("VALUE") local plusStatement = "#888,"..modMinerTrade.translate("")..","..modMinerTrade.translate("WHEN")..","..modMinerTrade.translate("VALUE")
for i, oneStatement in ipairs(listStatement) do for i, oneStatement in ipairs(listStatement) do
@ -297,7 +324,7 @@ modMinerTrade.showAtm = {
end end
end end
--[[ ]] --[[ ]]
local value = modMinerTrade.getBalance(playername) local value = modMinerTrade.getBalance(accountname)
if value ~= nil then if value ~= nil then
local sign = "" local sign = ""
if value >= 1 then if value >= 1 then
@ -324,7 +351,7 @@ modMinerTrade.showAtm = {
--.."tablecolumns[cell1,opt1_a,opt2_a;cell2,opt1_b,opt2_b;type_c,opt1_c,opt2_c]" --.."tablecolumns[cell1,opt1_a,opt2_a;cell2,opt1_b,opt2_b;type_c,opt1_c,opt2_c]"
--.."tableoptions[opt1;opt2;opt3]" --.."tableoptions[opt1;opt2;opt3]"
else else
msgStatement = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername) msgStatement = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(accountname)
end end
formspec = formspec formspec = formspec
@ -341,6 +368,7 @@ modMinerTrade.showAtm = {
) )
end, end,
frmWithdrawals = function(playername) --FORMULÁRIO: SAQUE frmWithdrawals = function(playername) --FORMULÁRIO: SAQUE
local accountname = modMinerTrade.bank.player[playername].focused_accountname
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7688;false]" .."bgcolor[#636D7688;false]"
--.."bgcolor[#636D76FF;false]" --.."bgcolor[#636D76FF;false]"
@ -372,13 +400,14 @@ modMinerTrade.showAtm = {
minetest.show_formspec(playername, "frmAtmWithdrawals", formspec) minetest.show_formspec(playername, "frmAtmWithdrawals", formspec)
end, end,
frmGiveCash = function(playername, txtValue, msgDetails) --FORMULÁRIO: SAQUE frmGiveCash = function(playername, txtValue, msgDetails) --FORMULÁRIO: SAQUE
modMinerTrade.debug("modMinerTrade.showAtm.frmGiveCash() >>> playername = "..playername.." | txtValue = "..dump(txtValue).." | msgDetails = "..dump(msgDetails)) local accountname = modMinerTrade.bank.player[playername].focused_accountname
modMinerTrade.debug("modMinerTrade.showAccountBank.frmGiveCash() >>> playername = "..playername.." | txtValue = "..dump(txtValue).." | msgDetails = "..dump(msgDetails))
local msgBalance = "" local msgBalance = ""
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(playername)) msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(accountname))
else else
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername) msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(accountname)
end end
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7688;false]" .."bgcolor[#636D7688;false]"
@ -396,7 +425,7 @@ modMinerTrade.showAtm = {
.. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]" .. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
if txtValue == nil or txtValue == "" then if txtValue == nil or txtValue == "" then
txtValue = "1" txtValue = "1"
end end
@ -423,8 +452,9 @@ modMinerTrade.showAtm = {
minetest.show_formspec(playername, "frmAtmGiveCash", formspec) minetest.show_formspec(playername, "frmAtmGiveCash", formspec)
end, end,
frmDeposits = function(playername) --FORMULÁRIO: SAQUE frmDeposits = function(playername) --FORMULÁRIO: SAQUE
local accountname = modMinerTrade.bank.player[playername].focused_accountname
-- playername = player:get_player_name() -- playername = player:get_player_name()
local newInv = minetest.create_detached_inventory("deposits_"..playername, { local newInv = minetest.create_detached_inventory("deposits_"..accountname, {
-- Called when a player wants to move items inside the inventory -- Called when a player wants to move items inside the inventory
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
@ -459,20 +489,20 @@ modMinerTrade.showAtm = {
on_put = function(inv, listname, index, stack, player) on_put = function(inv, listname, index, stack, player)
--modMinerTrade.setSafeInventory(playername, inv:get_list("safe")) --modMinerTrade.setSafeInventory(playername, inv:get_list("safe"))
--minetest.log('action',modMinerTrade.translate("Player '%s' has placed %02d '%s' in his safe!"):format(playername, stack:get_count(), stack:get_name())) --minetest.log('action',modMinerTrade.translate("Player '%s' has placed %02d '%s' in his safe!"):format(playername, stack:get_count(), stack:get_name()))
local playername = player:get_player_name() --local accountname = player:get_player_name()
if modMinerTrade.checkValidStack(stack) >= 1 then if modMinerTrade.checkValidStack(stack) >= 1 then
local stackValue = modMinerTrade.getValueStack(stack) local stackValue = modMinerTrade.getValueStack(stack)
--modMinerTrade.debug("modMinerTrade.convValueToItemList() >>> items = "..dump(items).." | newItem = "..dump(newItem)) --modMinerTrade.debug("modMinerTrade.convValueToItemList() >>> items = "..dump(items).." | newItem = "..dump(newItem))
if stackValue >= 1 then if stackValue >= 1 then
modMinerTrade.addBalance(playername, stackValue) modMinerTrade.addBalance(accountname, stackValue)
modMinerTrade.addStatement( modMinerTrade.addStatement(
playername, stackValue, accountname, stackValue,
modMinerTrade.translate("You deposited %02d x '%s'!"):format(stack:get_count(), stack:get_name()) modMinerTrade.translate("You deposited %02d x '%s'!"):format(stack:get_count(), stack:get_name())
) )
--stack:take_item(stack:get_count()) --stack:take_item(stack:get_count())
stack:take_item() stack:take_item()
modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5) modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)
modMinerTrade.showAtm.frmDeposits(playername) modMinerTrade.showAccountBank.frmDeposits(playername)
end end
else else
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5) modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
@ -489,11 +519,11 @@ modMinerTrade.showAtm = {
newInv:set_stack("deposit", 1, nil) newInv:set_stack("deposit", 1, nil)
local msgBalance = "" local msgBalance = ""
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(playername)) msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(accountname))
else else
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername) msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(accountname)
end end
local formspec = "size[16,10]" local formspec = "size[16,10]"
@ -525,7 +555,7 @@ modMinerTrade.showAtm = {
.."label[7.00,3.00;"..minetest.formspec_escape(modMinerTrade.translate("ATM entrance"))..":]" .."label[7.00,3.00;"..minetest.formspec_escape(modMinerTrade.translate("ATM entrance"))..":]"
.."image[9.00,3.35;2,2;obj_minercoin.png]" .."image[9.00,3.35;2,2;obj_minercoin.png]"
.."image[10.50,3.75;1,1;gui_arrow.png^[transformR270]" .."image[10.50,3.75;1,1;gui_arrow.png^[transformR270]"
.."list[detached:"..minetest.formspec_escape("deposits_"..playername)..";deposit;11.50,3.75;1,1;]" .."list[detached:"..minetest.formspec_escape("deposits_"..accountname)..";deposit;11.50,3.75;1,1;]"
--.."button[3,2.0;2,1;exchange;"..minetest.formspec_escape(modMinerTrade.translate("DEPOSIT")).."]" --.."button[3,2.0;2,1;exchange;"..minetest.formspec_escape(modMinerTrade.translate("DEPOSIT")).."]"
@ -535,13 +565,14 @@ modMinerTrade.showAtm = {
minetest.show_formspec(playername, "frmAtmDeposits", formspec) minetest.show_formspec(playername, "frmAtmDeposits", formspec)
end, end,
frmTransfer = function(playername, txtBeneficiary, txtValue, msgDetails) --FORMULÁRIO: SAQUE frmTransfer = function(playername, txtBeneficiary, txtValue, msgDetails) --FORMULÁRIO: SAQUE
modMinerTrade.debug("modMinerTrade.showAtm.frmGiveCash() >>> playername = "..playername.." | txtValue = "..dump(txtValue).." | msgDetails = "..dump(msgDetails)) local accountname = modMinerTrade.bank.player[playername].focused_accountname
modMinerTrade.debug("modMinerTrade.showAccountBank.frmGiveCash() >>> playername = "..playername.." | txtValue = "..dump(txtValue).." | msgDetails = "..dump(msgDetails))
local msgBalance = "" local msgBalance = ""
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(playername)) msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(accountname))
else else
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername) msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(accountname)
end end
local formspec = "size[16,10]" local formspec = "size[16,10]"
.."bgcolor[#636D7688;false]" .."bgcolor[#636D7688;false]"
@ -551,7 +582,7 @@ modMinerTrade.showAtm = {
--..default.gui_slots --..default.gui_slots
.. "box[0.00,0.10;5.50,9.5;#000000]" .. "box[0.00,0.10;5.50,9.5;#000000]"
.. "button[0.25,0.50;5.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]" .. "button[0.25,0.50;5.00,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
.."button_exit[0.25,6.50;5.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]" .."button_exit[0.25,6.50;5.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]" .."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
@ -559,37 +590,49 @@ modMinerTrade.showAtm = {
.. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]" .. "textarea[6.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
if modMinerTrade.isExistAcount(playername) then if modMinerTrade.isExistAcount(accountname) then
if txtBeneficiary == nil or type(txtBeneficiary) ~= "string" then if txtBeneficiary == nil or type(txtBeneficiary) ~= "string" then
txtBeneficiary = "" txtBeneficiary = ""
end end
if txtValue == nil or txtValue == "" then if txtValue == nil or txtValue == "" then
txtValue = "1" txtValue = "1"
end end
if txtDescription == nil or type(txtDescription) ~= "string" or txtDescription:trim() == "" then
txtDescription = modMinerTrade.translate("Transfer for undeclared reason!")
end
if msgDetails == nil or msgDetails == "" then if msgDetails == nil or msgDetails == "" then
msgDetails = modMinerTrade.translate("Write the 'beneficiary player name' and the 'value in minercash' that want to transfer!") msgDetails = modMinerTrade.translate("Write the 'beneficiary player name' and the 'value in minercash' that want to transfer!")
end end
formspec = formspec formspec = formspec
--.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", "WITHDRAWAL IN MINERCASH:")).."]" --.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", "WITHDRAWAL IN MINERCASH:")).."]"
.."field[7.00,3.50;3.00,0.50;txtBeneficiarytxtBeneficiary;" .."field[7.00,3.50;5.00,0.50;txtBeneficiarytxtBeneficiary;"
..minetest.formspec_escape( ..minetest.formspec_escape(
core.colorize( core.colorize(
"#00FFFF", "#00FFFF",
modMinerTrade.translate("BENEFICIARY NAME")..":" modMinerTrade.translate("BENEFICIARY NAME")..":"
) )
)..";" )..";"
..minetest.formspec_escape(txtValue) ..minetest.formspec_escape(txtBeneficiary)
.."]" .."]"
.."field[7.00,4.50;3.00,0.50;txtValue;" .."field[7.00,5.00;3.00,0.50;txtValue;"
..minetest.formspec_escape( ..minetest.formspec_escape(
core.colorize( core.colorize(
"#00FFFF", "#00FFFF",
modMinerTrade.translate("VALUE IN MINERCASH")..":" modMinerTrade.translate("VALUE")..":"
) )
)..";" )..";"
..minetest.formspec_escape(txtValue) ..minetest.formspec_escape(txtValue)
.."]" .."]"
.. "button[9.85,3.00;4.00,1.00;btnAtmTransfer;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("TRANSFER"))).."]" .."field[7.00,6.50;9.00,0.50;txtDescription;"
..minetest.formspec_escape(
core.colorize(
"#00FFFF",
modMinerTrade.translate("DESCRIPTION")..":"
)
)..";"
..minetest.formspec_escape(txtDescription)
.."]"
.. "button[9.85,7.50;4.00,1.00;btnAtmTransfer;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("TRANSFER"))).."]"
.."textarea[6.75,8.50;9.0,1.5;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("DETAILS")..":"))..";" .."textarea[6.75,8.50;9.0,1.5;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("DETAILS")..":"))..";"
..minetest.formspec_escape(core.colorize("#00FFFF", msgDetails)) ..minetest.formspec_escape(core.colorize("#00FFFF", msgDetails))
@ -651,7 +694,7 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields)) --modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields))
if fields.btnAtmMain ~= nil then if fields.btnAtmMain ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmMain(playername) modMinerTrade.showAccountBank.frmMain(playername)
elseif fields.quit then elseif fields.quit then
--são funções importantíssimas para não perder inventário do jogador e nem calça legging no servidor. --são funções importantíssimas para não perder inventário do jogador e nem calça legging no servidor.
modMinerTrade.doBankSave() modMinerTrade.doBankSave()
@ -660,19 +703,19 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
else else
if formname == "frmAtmMain" then if formname == "frmAtmMain" then
if fields.btnBalance ~= nil then if fields.btnBalance ~= nil then
modMinerTrade.showAtm.frmBalance(playername) modMinerTrade.showAccountBank.frmBalance(playername)
elseif fields.btnStatement ~= nil then elseif fields.btnStatement ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmStatement(playername) modMinerTrade.showAccountBank.frmStatement(playername)
elseif fields.btnWithdrawals ~= nil then elseif fields.btnWithdrawals ~= nil then
modMinerTrade.showAtm.frmWithdrawals(playername) modMinerTrade.showAccountBank.frmWithdrawals(playername)
elseif fields.btnDeposits ~= nil then elseif fields.btnDeposits ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmDeposits(playername) modMinerTrade.showAccountBank.frmDeposits(playername)
elseif fields.btnTransfers ~= nil then elseif fields.btnTransfers ~= nil then
if modMinerTrade.canInteract(playername) then --Em fase de teste é acessivel somente para developers. if modMinerTrade.canInteract(playername) then --Em fase de teste é acessivel somente para developers.
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmTransfer(playername) modMinerTrade.showAccountBank.frmTransfer(playername)
end end
end end
elseif formname == "frmAtmStatement" then elseif formname == "frmAtmStatement" then
@ -682,13 +725,13 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
local fldStatement = minetest.explode_table_event(fields.fldStatement) local fldStatement = minetest.explode_table_event(fields.fldStatement)
if fldStatement.row ~= nil and type(fldStatement.row) == "number" and fldStatement.row >= 2 and fldStatement.row <= #tblStatement+1 then if fldStatement.row ~= nil and type(fldStatement.row) == "number" and fldStatement.row >= 2 and fldStatement.row <= #tblStatement+1 then
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> fldStatement = "..dump(fldStatement)) --modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> fldStatement = "..dump(fldStatement))
modMinerTrade.showAtm.frmStatement(playername, fldStatement.row) modMinerTrade.showAccountBank.frmStatement(playername, fldStatement.row)
end end
end end
elseif formname == "frmAtmWithdrawals" then elseif formname == "frmAtmWithdrawals" then
if fields.btnGiveCash ~= nil then if fields.btnGiveCash ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmGiveCash(playername) modMinerTrade.showAccountBank.frmGiveCash(playername)
elseif fields.btnGiveCheck ~= nil then elseif fields.btnGiveCheck ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5) modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
end end
@ -696,7 +739,7 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields)) --modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields))
if fields.btnWithdrawals ~= nil then if fields.btnWithdrawals ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmWithdrawals(playername) modMinerTrade.showAccountBank.frmWithdrawals(playername)
elseif fields.btnAtmGive ~= nil elseif fields.btnAtmGive ~= nil
and fields.txtValue ~= nil and fields.txtValue ~= nil
and tonumber(fields.txtValue) ~= nil and tonumber(fields.txtValue) ~= nil
@ -737,10 +780,10 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
end end
if delivered == tonumber(myValue) then if delivered == tonumber(myValue) then
modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5) modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)
modMinerTrade.showAtm.frmMain(playername) modMinerTrade.showAccountBank.frmMain(playername)
else else
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5) modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
modMinerTrade.showAtm.frmGiveCash(playername, modMinerTrade.showAccountBank.frmGiveCash(playername,
tonumber(myValue) - delivered, tonumber(myValue) - delivered,
modMinerTrade.translate( modMinerTrade.translate(
"You don't have space in your inventory to withdraw so much minercash." "You don't have space in your inventory to withdraw so much minercash."
@ -750,7 +793,7 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
end end
else else
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5) modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
modMinerTrade.showAtm.frmGiveCash(playername, modMinerTrade.showAccountBank.frmGiveCash(playername,
myValue, myValue,
modMinerTrade.translate( modMinerTrade.translate(
"The maximum amount you can withdraw is: %02d minercash." "The maximum amount you can withdraw is: %02d minercash."
@ -764,7 +807,7 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
elseif formname == "frmTransfer" then elseif formname == "frmTransfer" then
if fields.btnWithdrawals ~= nil then if fields.btnWithdrawals ~= nil then
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmTransfer(playername) modMinerTrade.showAccountBank.frmTransfer(playername)
elseif fields.btnAtmGive ~= nil elseif fields.btnAtmGive ~= nil
and fields.txtBeneficiary ~= nil and fields.txtBeneficiary ~= nil
and type(fields.txtBeneficiarytxtBeneficiary) == "string" and type(fields.txtBeneficiarytxtBeneficiary) == "string"
@ -849,7 +892,7 @@ minetest.register_node("minertrade:atm", {
end end
if if
or modMinerTrade.canInteract(playername) --minetest.get_player_privs(playername).mayor modMinerTrade.canInteract(playername)
or modMinerTrade.getNodesInRange(posAbove, 5, "minertrade:dispensingmachine") >= 1 or modMinerTrade.getNodesInRange(posAbove, 5, "minertrade:dispensingmachine") >= 1
then then
local facedir = minetest.dir_to_facedir(placer:get_look_dir()) local facedir = minetest.dir_to_facedir(placer:get_look_dir())
@ -901,8 +944,10 @@ minetest.register_node("minertrade:atm", {
modMinerTrade.translate("PUBLIC ATM - Account of '%s':"):format(clickername) modMinerTrade.translate("PUBLIC ATM - Account of '%s':"):format(clickername)
) )
--]] --]]
modMinerTrade.doSoundPlayer(clickername, "sfx_atm", 5)
modMinerTrade.showAtm.frmMain(clickername) --modMinerTrade.doSoundPlayer(clickername, "sfx_atm", 5)
--modMinerTrade.showAccountBank.frmMain(clickername)
modMinerTrade.showAccountBank.inAtm(clickername, clickername)
else else
--minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,}) --minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,})
modMinerTrade.doSoundPlayer(clickername, "sfx_failure", 5) modMinerTrade.doSoundPlayer(clickername, "sfx_failure", 5)

View file

@ -286,8 +286,9 @@ minetest.register_craftitem("minertrade:creditcard", {
) )
--]] --]]
local playername = player:get_player_name() local playername = player:get_player_name()
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5) --modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
modMinerTrade.showAtm.frmMain(playername) --modMinerTrade.showAtm.frmMain(playername)
modMinerTrade.showAccountBank.inCreditCard(playername, playername)
--[[ --[[