mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 05:31:20 +00:00
Formulário de Saques Operante
This commit is contained in:
parent
5e3efd0121
commit
f7b32dcdad
1 changed files with 265 additions and 80 deletions
345
item_atm.lua
345
item_atm.lua
|
@ -29,7 +29,7 @@ modMinerTrade.doBankSave = function()
|
|||
end
|
||||
|
||||
modMinerTrade.doBankLoad = function()
|
||||
modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.getUrlDatabase())
|
||||
--modMinerTrade.debug("modMinerTrade.doBankSave() >>> "..modMinerTrade.getUrlDatabase())
|
||||
local file = io.open(modMinerTrade.getUrlDatabase(), "r")
|
||||
if file then
|
||||
if modMinerTrade.save_compressed then
|
||||
|
@ -37,7 +37,7 @@ modMinerTrade.doBankLoad = function()
|
|||
else
|
||||
modMinerTrade.bank = minetest.deserialize(file:read("*all"))
|
||||
end
|
||||
modMinerTrade.debug("modMinerTrade.doBankLoad() >>> modMinerTrade.bank = "..dump(modMinerTrade.bank))
|
||||
--modMinerTrade.debug("modMinerTrade.doBankLoad() >>> modMinerTrade.bank = "..dump(modMinerTrade.bank))
|
||||
file:close()
|
||||
if not modMinerTrade.bank or type(modMinerTrade.bank) ~= "table" then
|
||||
minetest.log('error',"[MINERTRADE:ERRO] "..modMinerTrade.translate("The file '%s' is not in table format!"):format(modMinerTrade.getUrlDatabase()))
|
||||
|
@ -59,10 +59,11 @@ end
|
|||
modMinerTrade.createAcount = function(playername)
|
||||
if modMinerTrade.bank.player[playername] == nil then
|
||||
modMinerTrade.bank.player[playername] = {
|
||||
account_created = os.date("%Y/%b/%d %Hh:%Mm:%Ss"),
|
||||
account_created = os.date("%Y-%B-%d %Hh:%Mm:%Ss"),
|
||||
balance = 0,
|
||||
statement = { }
|
||||
}
|
||||
--modMinerTrade.bank.player[playername].account_created
|
||||
modMinerTrade.bank.accounts = modMinerTrade.bank.accounts + 1
|
||||
return true
|
||||
else
|
||||
|
@ -115,7 +116,7 @@ end
|
|||
|
||||
modMinerTrade.showAtm = {
|
||||
frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ
|
||||
local formspec = "size[15,10]"
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7688;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
|
@ -123,21 +124,21 @@ modMinerTrade.showAtm = {
|
|||
--..default.gui_slots
|
||||
|
||||
--.."background[5.0,-0.25;10,10;default_steel_block.png^text_atm_front.png]"
|
||||
.. "box[0.00,0.10;4.50,9.5;#000000]"
|
||||
.. "button[0.25,0.50;4.00,0.5;btnBalance;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BALANCE"))).."]"
|
||||
.. "button[0.25,1.25;4.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("STATEMENT"))).."]"
|
||||
.. "button[0.25,2.00;4.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#444444", modMinerTrade.translate("DEPOSITS"))).."]"
|
||||
.. "button[0.25,2.75;4.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK]
|
||||
.. "button[0.25,3.50;4.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#444444", modMinerTrade.translate("TRANSFERS"))).."]"
|
||||
.. "button[0.25,4.25;4.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#444444", modMinerTrade.translate("LOANS"))).."]" --Emprestimos
|
||||
.. "button[0.25,5.00;4.00,0.5;btnCreditCard;"..minetest.formspec_escape(core.colorize("#444444", modMinerTrade.translate("CREDIT CARD"))).."]" -- [EXPEDIR E MUDAR SENHA]
|
||||
.. "button[0.25,5.75;4.00,0.5;btnSetings;"..minetest.formspec_escape(core.colorize("#444444", modMinerTrade.translate("SETTINGS"))).."]" --Se quer ou não uma senha, se quer receber uma carta quando houver uma nova movimentacao.
|
||||
.."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
.. "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,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("#888888", 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]
|
||||
.. "button[0.25,3.50;5.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("TRANSFERS"))).."]"
|
||||
.. "button[0.25,4.25;5.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("LOANS"))).."]" --Emprestimos
|
||||
.. "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,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.
|
||||
.."button_exit[0.25,6.50;5.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
|
||||
--.."box" .."[5.0,0.25;9.5,9.5;#000000]"
|
||||
.."background[5.0,0.25;9.5,9.5;text_atm_front.png]"
|
||||
--.. "box[6.0,0.25;9.5,9.5;#000000]"
|
||||
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
|
||||
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
|
||||
minetest.show_formspec(playername, "frmAtmMain", formspec)
|
||||
end,
|
||||
frmBalance = function(playername) --FORMULÁRIO: SALDO
|
||||
|
@ -147,37 +148,28 @@ modMinerTrade.showAtm = {
|
|||
else
|
||||
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername)
|
||||
end
|
||||
|
||||
local tblStatements = modMinerTrade.getStatement(playername)
|
||||
|
||||
local formspec = "size[15,10]"
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7688;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
--..default.gui_bg_img
|
||||
--..default.gui_slots
|
||||
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--.."background[-0.25,-0.25;10,11;safe_inside.png]"
|
||||
--.."button[0,0.0;4,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.."button_exit[0,3.0;4,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
.. "box[0.00,0.10;5.50,9.5;#000000]"
|
||||
.. "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"))).."]"
|
||||
|
||||
.. "box[0.00,0.10;4.50,9.5;#000000]"
|
||||
.. "button[0.25,0.50;4.00,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.. "button[0.25,1.25;4.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("STATEMENT"))).."]"
|
||||
--.. "button[0.25,2.00;4.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("DEPOSITS"))).."]"
|
||||
--.. "button[0.25,2.75;4.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK]
|
||||
--.. "button[0.25,3.50;4.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("TRANSFERS"))).."]"
|
||||
--.. "button[0.25,4.25;4.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("LOANS"))).."]" --Emprestimos
|
||||
--.. "button[0.25,5.00;4.00,0.5;btnCreditCard;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("CREDIT CARD"))).."]" -- [EXPEDIR E MUDAR SENHA]
|
||||
--.. "button[0.25,5.75;4.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.
|
||||
.."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
.. "box[6.0,0.25;9.5,9.5;#00000088]"
|
||||
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
|
||||
|
||||
.. "box[5.0,0.25;9.5,9.5;#00000088]"
|
||||
.."background[5.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("ACCOUNT CREATED")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.bank.player[playername].account_created)).."]"
|
||||
|
||||
--.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":")).."]"
|
||||
--.. "label[5.25,2.50;"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
|
||||
.. "textarea[5.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,3.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("FINANCIAL TRANSACTIONS")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", ("%02d"):format(#tblStatements).." transactions.")).."]"
|
||||
|
||||
.. "textarea[6.75,5.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
|
||||
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
minetest.show_formspec(
|
||||
|
@ -187,7 +179,7 @@ modMinerTrade.showAtm = {
|
|||
)
|
||||
end,
|
||||
frmStatement = function(playername, selStatement) --FORMULÁRIO: SALDO
|
||||
local formspec = "size[15,10]"
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7644;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
|
@ -199,31 +191,23 @@ modMinerTrade.showAtm = {
|
|||
--.."button[0,0.0;4,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.."button_exit[0,3.0;4,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
|
||||
.. "box[0.00,0.10;4.50,9.5;#000000]"
|
||||
.. "button[0.25,0.50;4.00,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.. "button[0.25,1.25;4.00,0.5;btnStatement;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("STATEMENT"))).."]"
|
||||
--.. "button[0.25,2.00;4.00,0.5;btnDeposits;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("DEPOSITS"))).."]"
|
||||
--.. "button[0.25,2.75;4.00,0.5;btnWithdrawals;"..minetest.formspec_escape(core.colorize("#FFFFF", modMinerTrade.translate("WITHDRAWALS"))).."]" -- [DINHEIRO E CHECK]
|
||||
--.. "button[0.25,3.50;4.00,0.5;btnTransfers;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("TRANSFERS"))).."]"
|
||||
--.. "button[0.25,4.25;4.00,0.5;btnLoans;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("LOANS"))).."]" --Emprestimos
|
||||
--.. "button[0.25,5.00;4.00,0.5;btnCreditCard;"..minetest.formspec_escape(core.colorize("#888888", modMinerTrade.translate("CREDIT CARD"))).."]" -- [EXPEDIR E MUDAR SENHA]
|
||||
--.. "button[0.25,5.75;4.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.
|
||||
.."button_exit[0.25,6.50;4.00,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
.. "box[0.00,0.10;5.50,9.5;#000000]"
|
||||
.. "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"))).."]"
|
||||
|
||||
.. "box[5.0,0.25;9.5,9.5;#00000088]"
|
||||
.. "box[6.0,0.25;9.5,9.5;#00000088]"
|
||||
--.."background[5.0,0.25;9.5,9.5;text_atm_front.png]"
|
||||
|
||||
local msgStatement = "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)
|
||||
if isAccount then
|
||||
formspec = formspec
|
||||
.. "label[5.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)).."]"
|
||||
--"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 plusStatement = ""
|
||||
--..minetest.formspec_escape("QUANDO | VALOR")
|
||||
local plusStatement = "#888,"..modMinerTrade.translate("WHEN")..","..modMinerTrade.translate("VALUE")
|
||||
|
||||
for i, oneStatement in ipairs(listStatement) do
|
||||
local sign = ""
|
||||
|
@ -231,36 +215,40 @@ modMinerTrade.showAtm = {
|
|||
sign = "+"
|
||||
end
|
||||
--local line = oneStatement.when.." | "..sign..oneStatement.value.." minercash."
|
||||
local line = sign..oneStatement.value.." minercash. ["..oneStatement.when.."]"
|
||||
local line = "#FFF,"
|
||||
..minetest.formspec_escape(oneStatement.when)
|
||||
..","
|
||||
..minetest.formspec_escape(sign..("%02d"):format(oneStatement.value).." minercash.")
|
||||
if plusStatement == "" then
|
||||
plusStatement = minetest.formspec_escape(line)
|
||||
plusStatement = line
|
||||
else
|
||||
plusStatement = plusStatement..","..minetest.formspec_escape(line)
|
||||
plusStatement = plusStatement..","..line
|
||||
end
|
||||
end
|
||||
--[[ ]]
|
||||
local value = modMinerTrade.getBalance(playername)
|
||||
if value ~= nil then
|
||||
local sign = ""
|
||||
if value >= 1 then
|
||||
sign = "+"
|
||||
end
|
||||
modMinerTrade.getBalance(playername)
|
||||
|
||||
plusStatement = plusStatement..","..minetest.formspec_escape(
|
||||
--os.date("%Y-%b-%d %Hh:%Mm:%Ss").." <<< "..sign..value.." minercash ("..modMinerTrade.translate("TOTAL")..")."
|
||||
modMinerTrade.translate("TOTAL")..": "..sign..value.." minercash."
|
||||
--.." ["..os.date("%Y-%b-%d %Hh:%Mm:%Ss").."]"
|
||||
)
|
||||
plusStatement = plusStatement..",#FFFF00,"
|
||||
--..minetest.formspec_escape(os.date("%Y-%B-%d %Hh:%Mm:%Ss"))
|
||||
..minetest.formspec_escape(modMinerTrade.translate("TOTAL")..":")
|
||||
..","
|
||||
..minetest.formspec_escape(sign..("%02d"):format(value).." minercash.")
|
||||
end
|
||||
--]]
|
||||
|
||||
local mySel = ""
|
||||
if selStatement ~= nil and type(selStatement)=="number" and selStatement >= 1 and selStatement <= #listStatement then
|
||||
if selStatement ~= nil and type(selStatement)=="number" and selStatement >= 2 and selStatement <= #listStatement+1 then
|
||||
mySel = selStatement
|
||||
msgStatement = dump(listStatement[selStatement].description)
|
||||
msgStatement = dump(listStatement[selStatement-1].description)
|
||||
end
|
||||
formspec = formspec
|
||||
.." style[fldStatement;bgcolor=red;textcolor=yellow;border=true]"
|
||||
.. "table[5.25,1.00;9.0,7.5;fldStatement;"..plusStatement..";"..mySel.."]"
|
||||
.." tablecolumns[color;text;text]"
|
||||
.. "table[6.25,1.00;9.0,6.75;fldStatement;"..plusStatement..";"..mySel.."]"
|
||||
--.. "textlist[5.25,1.00;9.0,6.0;fldStatement;"..plusStatement..";"..mySel.."]"
|
||||
--.."tablecolumns[cell1,opt1_a,opt2_a;cell2,opt1_b,opt2_b;type_c,opt1_c,opt2_c]"
|
||||
--.."tableoptions[opt1;opt2;opt3]"
|
||||
|
@ -269,7 +257,7 @@ modMinerTrade.showAtm = {
|
|||
end
|
||||
|
||||
formspec = formspec
|
||||
.."textarea[5.75,9.00;9.0,1.5;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("TRANSACTION DETAILS")..":"))..";"
|
||||
.."textarea[6.75,8.50;9.0,1.5;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("TRANSACTION DETAILS")..":"))..";"
|
||||
..minetest.formspec_escape(core.colorize("#00FFFF", msgStatement))
|
||||
.."]"
|
||||
|
||||
|
@ -281,28 +269,147 @@ modMinerTrade.showAtm = {
|
|||
formspec
|
||||
)
|
||||
end,
|
||||
frmWithdrawals = function(playername) --FORMULÁRIO: EXTRATO
|
||||
local formspec = "size[9.5,10.5]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
--..default.gui_bg_img
|
||||
--..default.gui_slots
|
||||
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
.."background[-0.25,-0.25;10,11;safe_inside.png]"
|
||||
.."button[0,0.0;4,0.5;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
.."button_exit[0,3.0;4,0.5;;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("EXIT"))).."]"
|
||||
frmWithdrawals = function(playername) --FORMULÁRIO: SAQUE
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7688;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
--..default.gui_bg_img
|
||||
--..default.gui_slots
|
||||
|
||||
.. "box[0.00,0.10;5.50,9.5;#000000]"
|
||||
.. "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"))).."]"
|
||||
|
||||
.."background[6.0,0.25;9.5,9.5;text_atm_front.png]"
|
||||
.. "box[6.0,0.25;9.5,9.5;#000000CC]"
|
||||
|
||||
.. "label[6.75,0.75;"..minetest.formspec_escape(core.colorize("#00FFFF", "SELECT BANK WITHDRAWAL METHOD:")).."]"
|
||||
--.. "textarea[5.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
|
||||
--.. "button[6.25,1.50;1.00,1.00;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.."style_type[image_button;bgcolor=#00000000;border=false]"
|
||||
--.."style[btnMinercoin;bgimg=sbl_save.png;bgimg_hovered=sbl_save_pressed.png;bgimg_pressed=sbl_save_pressed.png;border=false]"
|
||||
.. "label[9.25,3.25;"..minetest.formspec_escape(core.colorize("#FFFFFF", "MINERCASH")).."]"
|
||||
.."tooltip[btnMinercoin;"..minetest.formspec_escape(modMinerTrade.translate("Withdrawals in minercash."))..";#CCCC0088;#000000]"
|
||||
.."image_button[7.25,2.50;2.00,2.00;obj_minercoin.png;btnGiveCash;]"
|
||||
|
||||
.. "label[9.25,5.75;"..minetest.formspec_escape(core.colorize("#FFFFFF", "BANK CHECK")).."]"
|
||||
.."tooltip[btnMinercoin;"..minetest.formspec_escape(modMinerTrade.translate("Withdrawals in bank check."))..";#CCCC0088;#000000]"
|
||||
.."image_button[7.25,5.00;2.00,2.00;obj_bank_check.png;btnGiveCheck;]"
|
||||
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
minetest.show_formspec(playername, "frmAtmWithdrawals", formspec)
|
||||
end,
|
||||
frmGiveCash = function(playername, txtValue, msgDetails) --FORMULÁRIO: SAQUE
|
||||
modMinerTrade.debug("modMinerTrade.showAtm.frmGiveCash() >>> playername = "..playername.." | txtValue = "..dump(txtValue).." | msgDetails = "..dump(msgDetails))
|
||||
|
||||
local msgBalance = ""
|
||||
if modMinerTrade.isExistAcount(playername) then
|
||||
msgBalance = modMinerTrade.translate("You have %02d minercash."):format(modMinerTrade.getBalance(playername))
|
||||
|
||||
else
|
||||
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername)
|
||||
end
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7688;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
--..default.gui_bg
|
||||
--..default.gui_bg_img
|
||||
--..default.gui_slots
|
||||
|
||||
.. "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_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]"
|
||||
.. "box[6.0,0.25;9.5,9.5;#000000CC]"
|
||||
|
||||
.. "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 txtValue == nil or txtValue == "" then
|
||||
txtValue = "1"
|
||||
end
|
||||
if msgDetails == nil or msgDetails == "" then
|
||||
msgDetails = modMinerTrade.translate("Write the value that want to withdrawal!")
|
||||
end
|
||||
formspec = formspec
|
||||
--.. "label[5.25,0.50;"..minetest.formspec_escape(core.colorize("#00FFFF", "WITHDRAWAL IN MINERCASH:")).."]"
|
||||
.."field[7.00,3.50;3.00,0.50;txtValue;"
|
||||
..minetest.formspec_escape(
|
||||
core.colorize(
|
||||
"#00FFFF",
|
||||
modMinerTrade.translate("VALUE")..":"
|
||||
)
|
||||
)..";"
|
||||
..minetest.formspec_escape(txtValue)
|
||||
.."]"
|
||||
.. "button[9.85,3.00;4.00,1.00;btnAtmGive;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("WITHDRAWAL"))).."]"
|
||||
|
||||
.."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))
|
||||
.."]"
|
||||
end
|
||||
|
||||
--.. "textarea[5.75,1.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
|
||||
--.. "button[6.25,1.50;1.00,1.00;btnAtmMain;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("BACK"))).."]"
|
||||
--.."style_type[image_button;bgcolor=#00000000;border=false]"
|
||||
--.."style[btnMinercoin;bgimg=sbl_save.png;bgimg_hovered=sbl_save_pressed.png;bgimg_pressed=sbl_save_pressed.png;border=false]"
|
||||
|
||||
--[[
|
||||
.. "label[7.25,2.75;"..minetest.formspec_escape(core.colorize("#FFFFFF", "MINERCASH")).."]"
|
||||
.."tooltip[btnMinercoin;"..minetest.formspec_escape(modMinerTrade.translate("Withdrawals in minercash."))..";#CCCC0088;#000000]"
|
||||
.."image_button[5.25,2.00;2.00,2.00;obj_minercoin.png;btnGiveCash;]"
|
||||
|
||||
.. "label[7.25,5.25;"..minetest.formspec_escape(core.colorize("#FFFFFF", "BANK CHECK")).."]"
|
||||
.."tooltip[btnMinercoin;"..minetest.formspec_escape(modMinerTrade.translate("Withdrawals in bank check."))..";#CCCC0088;#000000]"
|
||||
.."image_button[5.25,4.50;2.00,2.00;obj_bank_check.png;btnGiveCheck;]"
|
||||
--]]
|
||||
|
||||
minetest.show_formspec(playername, "frmAtmGiveCash", formspec)
|
||||
end,
|
||||
}
|
||||
|
||||
modMinerTrade.convValueToItemList = function(value)
|
||||
if value ~= nil
|
||||
and type(value) == "number"
|
||||
and value >= 1
|
||||
then
|
||||
local moneytypes= {
|
||||
[1]="minertrade:minercoin",
|
||||
[2]="minertrade:minermoney_blue",
|
||||
[3]="minertrade:minermoney_green",
|
||||
[4]="minertrade:minermoney_yellow",
|
||||
[5]="minertrade:minermoney_orange",
|
||||
[6]="minertrade:minermoney_red",
|
||||
[7]="minertrade:minermoney_black",
|
||||
}
|
||||
local items = { }
|
||||
for i = #moneytypes, 1, -1 do
|
||||
local valMoney = 9 ^ (i - 1)
|
||||
local money = math.floor(value / valMoney)
|
||||
local decrease = money * valMoney
|
||||
value = value - decrease
|
||||
if money >= 1 then
|
||||
local newItem = {
|
||||
name = moneytypes[i],
|
||||
amount = money,
|
||||
price = decrease
|
||||
}
|
||||
--modMinerTrade.debug("modMinerTrade.convValueToItemList() >>> items = "..dump(items).." | newItem = "..dump(newItem))
|
||||
table.insert(items, newItem)
|
||||
end
|
||||
if value == 0 then break end
|
||||
end
|
||||
return items
|
||||
end
|
||||
end
|
||||
|
||||
modMinerTrade.onReceiveFields = function(player, formname, fields)
|
||||
local playername = player:get_player_name()
|
||||
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields))
|
||||
if fields.btnAtmMain ~= nil then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
modMinerTrade.showAtm.frmMain(playername)
|
||||
else
|
||||
if formname == "frmAtmMain" then
|
||||
|
@ -319,14 +426,91 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
|
|||
if fields.fldStatement ~= nil then
|
||||
local tblStatement = modMinerTrade.getStatement(playername)
|
||||
local fldStatement = minetest.explode_table_event(fields.fldStatement)
|
||||
if fldStatement.row ~= nil and type(fldStatement.row) == "number" and fldStatement.row >= 1 and fldStatement.row <= #tblStatement then
|
||||
modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> fldStatement = "..dump(fldStatement))
|
||||
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.showAtm.frmStatement(playername, fldStatement.row)
|
||||
end
|
||||
end
|
||||
elseif formname == "frmAtmWithdrawals" then
|
||||
if fields.btnGiveCash ~= nil then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
modMinerTrade.showAtm.frmGiveCash(playername)
|
||||
elseif fields.btnGiveCheck ~= nil then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
|
||||
end
|
||||
elseif formname == "frmAtmGiveCash" then
|
||||
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields))
|
||||
if fields.btnWithdrawals ~= nil then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
modMinerTrade.showAtm.frmWithdrawals(playername)
|
||||
elseif fields.btnAtmGive ~= nil
|
||||
and fields.txtValue ~= nil
|
||||
and tonumber(fields.txtValue) ~= nil
|
||||
and type(tonumber(fields.txtValue))=="number"
|
||||
and tonumber(fields.txtValue) >= 1
|
||||
then
|
||||
local myValue = fields.txtValue
|
||||
if modMinerTrade.isExistAcount(playername) then
|
||||
local myBalance = modMinerTrade.getBalance(playername)
|
||||
if tonumber(myValue) <= myBalance then
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
if player ~= nil and player:is_player() then
|
||||
local delivered = 0
|
||||
local items = modMinerTrade.convValueToItemList(tonumber(myValue))
|
||||
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> formname = "..formname.." | items = "..dump(items))
|
||||
if items ~= nil
|
||||
and type(items) == "table"
|
||||
and #items >= 1
|
||||
then
|
||||
local minv = player:get_inventory()
|
||||
for _, item in ipairs(items) do
|
||||
--if not pinv:contains_item("customer_gives",item) then
|
||||
local itemdesc = item.name.." "..item.amount
|
||||
if minv:room_for_item("main",itemdesc) then -- verifica se compartimento de Recebimento de pagamento do vendedor tem espaço
|
||||
minv:add_item("main",itemdesc)
|
||||
delivered = delivered + item.price
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
if delivered >= 1 then
|
||||
modMinerTrade.addBalance(playername, 0 - delivered)
|
||||
modMinerTrade.addStatement(
|
||||
playername, 0 - delivered,
|
||||
("You have withdrawn %02d minercash from your bank account."):format(delivered)
|
||||
)
|
||||
end
|
||||
if delivered == tonumber(myValue) then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)
|
||||
modMinerTrade.showAtm.frmMain(playername)
|
||||
else
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
|
||||
modMinerTrade.showAtm.frmGiveCash(playername,
|
||||
tonumber(myValue) - delivered,
|
||||
modMinerTrade.translate(
|
||||
"you don't have space in your inventory to withdraw so much minercash."
|
||||
)
|
||||
)
|
||||
end
|
||||
end
|
||||
else
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
|
||||
modMinerTrade.showAtm.frmGiveCash(playername,
|
||||
myValue,
|
||||
modMinerTrade.translate(
|
||||
"The maximum amount you can withdraw is: %02d minercash."
|
||||
):format(myBalance)
|
||||
)
|
||||
end
|
||||
else
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--###############################################################################################################
|
||||
|
||||
|
@ -435,6 +619,7 @@ minetest.register_node("minertrade:atm", {
|
|||
modMinerTrade.translate("PUBLIC ATM - Account of '%s':"):format(clickername)
|
||||
)
|
||||
--]]
|
||||
modMinerTrade.doSoundPlayer(clickername, "sfx_atm", 5)
|
||||
modMinerTrade.showAtm.frmMain(clickername)
|
||||
else
|
||||
--minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,})
|
||||
|
|
Loading…
Add table
Reference in a new issue