mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-21 16:01:22 +00:00
Melhorando a estética do Saldo e do Extrato
This commit is contained in:
parent
f7b32dcdad
commit
831e35eaef
3 changed files with 76 additions and 17 deletions
65
item_atm.lua
65
item_atm.lua
|
@ -61,6 +61,7 @@ modMinerTrade.createAcount = function(playername)
|
||||||
modMinerTrade.bank.player[playername] = {
|
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,
|
balance = 0,
|
||||||
|
total_transactions = 0,
|
||||||
statement = { }
|
statement = { }
|
||||||
}
|
}
|
||||||
--modMinerTrade.bank.player[playername].account_created
|
--modMinerTrade.bank.player[playername].account_created
|
||||||
|
@ -89,17 +90,53 @@ modMinerTrade.addBalance = function(playername, value)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
modMinerTrade.getMaxStatements = function() --MÁXIMO DE EXTRATOS ARMAZENADOS.
|
||||||
|
local maxStatements = minetest.settings:get("minertrade.bank.max_statements")
|
||||||
|
if maxStatements == nil
|
||||||
|
or type(tonumber(maxStatements)) ~= "number"
|
||||||
|
or tonumber(maxStatements) < 1
|
||||||
|
or tonumber(maxStatements) > 300
|
||||||
|
then
|
||||||
|
maxStatements = 30
|
||||||
|
minetest.settings:set("minertrade.bank.max_statements", tostring(maxStatements))
|
||||||
|
end
|
||||||
|
return tonumber(maxStatements)
|
||||||
|
end
|
||||||
|
|
||||||
|
modMinerTrade.getTotalTransactions = function(playername) --TOTAL DE MOVIMENTAÇOES FINANCEIRAS DESDE ACRIACAO DA CONTA.
|
||||||
|
if modMinerTrade.isExistAcount(playername) then
|
||||||
|
return modMinerTrade.bank.player[playername].total_transactions or 0
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
modMinerTrade.addStatement = function(playername, value, description)
|
modMinerTrade.addStatement = function(playername, value, description)
|
||||||
if value ~= nil and type(value) == "number" and value ~= 0 then
|
if value ~= nil and type(value) == "number" and value ~= 0 then
|
||||||
if modMinerTrade.isExistAcount(playername) then
|
if modMinerTrade.isExistAcount(playername) then
|
||||||
|
local myStatement = modMinerTrade.getStatement(playername)
|
||||||
|
local totalTransactions = modMinerTrade.getTotalTransactions(playername)
|
||||||
|
if myStatement ~= nil
|
||||||
|
and type(myStatement)
|
||||||
|
and #myStatement >= 1
|
||||||
|
then
|
||||||
|
local maxStatements = modMinerTrade.getMaxStatements()
|
||||||
|
if #myStatement >= maxStatements then
|
||||||
|
local toDelete = (#myStatement - maxStatements) + 1
|
||||||
|
for i = toDelete, 1, -1 do
|
||||||
|
table.remove (myStatement, i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
table.insert(
|
table.insert(
|
||||||
modMinerTrade.bank.player[playername].statement,
|
myStatement,
|
||||||
{
|
{
|
||||||
when = os.date("%Y-%B-%d %Hh:%Mm:%Ss"),
|
when = os.date("%Y-%B-%d %Hh:%Mm:%Ss"),
|
||||||
value = value,
|
value = value,
|
||||||
description = description,
|
description = description,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
modMinerTrade.bank.player[playername].total_transactions = totalTransactions + 1
|
||||||
|
modMinerTrade.bank.player[playername].statement = myStatement
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -149,8 +186,9 @@ modMinerTrade.showAtm = {
|
||||||
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(playername)
|
||||||
end
|
end
|
||||||
|
|
||||||
local tblStatements = modMinerTrade.getStatement(playername)
|
--local tblStatements = modMinerTrade.getStatement(playername)
|
||||||
|
local totalTransactions = modMinerTrade.getTotalTransactions(playername)
|
||||||
|
|
||||||
local formspec = "size[16,10]"
|
local formspec = "size[16,10]"
|
||||||
.."bgcolor[#636D7688;false]"
|
.."bgcolor[#636D7688;false]"
|
||||||
--.."bgcolor[#636D76FF;false]"
|
--.."bgcolor[#636D76FF;false]"
|
||||||
|
@ -165,11 +203,13 @@ 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("ACCOUNT CREATED")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.bank.player[playername].account_created)).."]"
|
.. "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,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,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,5.00;9.0,9.0;;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("BALANCES")..":"))..";"..minetest.formspec_escape(core.colorize("#00FFFF", msgBalance)).."]"
|
.. "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,5.50;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)
|
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||||
minetest.show_formspec(
|
minetest.show_formspec(
|
||||||
|
@ -207,7 +247,7 @@ modMinerTrade.showAtm = {
|
||||||
--"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(playername)
|
||||||
local plusStatement = "#888,"..modMinerTrade.translate("WHEN")..","..modMinerTrade.translate("VALUE")
|
local plusStatement = "#888,"..modMinerTrade.translate("N°")..","..modMinerTrade.translate("WHEN")..","..modMinerTrade.translate("VALUE")
|
||||||
|
|
||||||
for i, oneStatement in ipairs(listStatement) do
|
for i, oneStatement in ipairs(listStatement) do
|
||||||
local sign = ""
|
local sign = ""
|
||||||
|
@ -216,9 +256,10 @@ modMinerTrade.showAtm = {
|
||||||
end
|
end
|
||||||
--local line = oneStatement.when.." | "..sign..oneStatement.value.." minercash."
|
--local line = oneStatement.when.." | "..sign..oneStatement.value.." minercash."
|
||||||
local line = "#FFF,"
|
local line = "#FFF,"
|
||||||
|
..(("%03d"):format(i))..","
|
||||||
..minetest.formspec_escape(oneStatement.when)
|
..minetest.formspec_escape(oneStatement.when)
|
||||||
..","
|
..","
|
||||||
..minetest.formspec_escape(sign..("%02d"):format(oneStatement.value).." minercash.")
|
..minetest.formspec_escape(sign..("%02d"):format(oneStatement.value).." MT$.")
|
||||||
if plusStatement == "" then
|
if plusStatement == "" then
|
||||||
plusStatement = line
|
plusStatement = line
|
||||||
else
|
else
|
||||||
|
@ -232,11 +273,11 @@ modMinerTrade.showAtm = {
|
||||||
if value >= 1 then
|
if value >= 1 then
|
||||||
sign = "+"
|
sign = "+"
|
||||||
end
|
end
|
||||||
plusStatement = plusStatement..",#FFFF00,"
|
plusStatement = plusStatement..",#FFFF00,,"
|
||||||
--..minetest.formspec_escape(os.date("%Y-%B-%d %Hh:%Mm:%Ss"))
|
--..minetest.formspec_escape(os.date("%Y-%B-%d %Hh:%Mm:%Ss"))
|
||||||
..minetest.formspec_escape(modMinerTrade.translate("TOTAL")..":")
|
..minetest.formspec_escape(modMinerTrade.translate("TOTAL")..": ")
|
||||||
..","
|
|
||||||
..minetest.formspec_escape(sign..("%02d"):format(value).." minercash.")
|
..minetest.formspec_escape(sign..("%02d"):format(value).." minercash.")
|
||||||
|
..","
|
||||||
end
|
end
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
|
@ -247,7 +288,7 @@ modMinerTrade.showAtm = {
|
||||||
end
|
end
|
||||||
formspec = formspec
|
formspec = formspec
|
||||||
.." style[fldStatement;bgcolor=red;textcolor=yellow;border=true]"
|
.." style[fldStatement;bgcolor=red;textcolor=yellow;border=true]"
|
||||||
.." tablecolumns[color;text;text]"
|
.." tablecolumns[color;text;text;text]"
|
||||||
.. "table[6.25,1.00;9.0,6.75;fldStatement;"..plusStatement..";"..mySel.."]"
|
.. "table[6.25,1.00;9.0,6.75;fldStatement;"..plusStatement..";"..mySel.."]"
|
||||||
--.. "textlist[5.25,1.00;9.0,6.0;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]"
|
--.."tablecolumns[cell1,opt1_a,opt2_a;cell2,opt1_b,opt2_b;type_c,opt1_c,opt2_c]"
|
||||||
|
|
|
@ -202,7 +202,7 @@ minetest.register_craftitem("minertrade:minermoney_black", {
|
||||||
description = core.colorize("#00FF00",
|
description = core.colorize("#00FF00",
|
||||||
modMinerTrade.translate("BLACK MINERMONEY")
|
modMinerTrade.translate("BLACK MINERMONEY")
|
||||||
).."\n* "..modMinerTrade.translate("Equals %02d minercash."):format(9^6),
|
).."\n* "..modMinerTrade.translate("Equals %02d minercash."):format(9^6),
|
||||||
inventory_image = "obj_minermoney_satured.png^[multiply:#444444",
|
inventory_image = "obj_minermoney_satured.png^[multiply:#666666",
|
||||||
stack_max=9, --Acumula 9 por slot
|
stack_max=9, --Acumula 9 por slot
|
||||||
groups = {cash=531441, trade=1, money=1},
|
groups = {cash=531441, trade=1, money=1},
|
||||||
})
|
})
|
||||||
|
@ -276,8 +276,20 @@ minetest.register_craftitem("minertrade:creditcard", {
|
||||||
inventory_image = "obj_credit_card.png",
|
inventory_image = "obj_credit_card.png",
|
||||||
--stack_max=9, --Acumula 9 por slot
|
--stack_max=9, --Acumula 9 por slot
|
||||||
groups = {cash=0, trade=1},
|
groups = {cash=0, trade=1},
|
||||||
--[[
|
|
||||||
on_use = function(itemstack, player)
|
on_use = function(itemstack, player)
|
||||||
|
--[[
|
||||||
|
modMinerTrade.showInventory(
|
||||||
|
clicker,
|
||||||
|
clickername,
|
||||||
|
modMinerTrade.translate("PUBLIC ATM - Account of '%s':"):format(clickername)
|
||||||
|
)
|
||||||
|
--]]
|
||||||
|
local playername = player:get_player_name()
|
||||||
|
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||||
|
modMinerTrade.showAtm.frmMain(playername)
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
local playername = player:get_player_name()
|
local playername = player:get_player_name()
|
||||||
local meta = itemstack:get_meta()
|
local meta = itemstack:get_meta()
|
||||||
local old_data = minetest.deserialize(itemstack:get_metadata())
|
local old_data = minetest.deserialize(itemstack:get_metadata())
|
||||||
|
@ -313,8 +325,8 @@ minetest.register_craftitem("minertrade:creditcard", {
|
||||||
modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername)
|
modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername)
|
||||||
)
|
)
|
||||||
return itemstack
|
return itemstack
|
||||||
end,
|
|
||||||
--]]
|
--]]
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
|
|
@ -15,13 +15,19 @@ minertrade.salary.enabled (Daily Salary Enabled) bool true
|
||||||
# Value of the prize minercash that each player will receive at the end of the virtual day.
|
# Value of the prize minercash that each player will receive at the end of the virtual day.
|
||||||
# Default: 1 | Min: 1
|
# Default: 1 | Min: 1
|
||||||
minertrade.salary.value (Daily Salary Value) int 1 1
|
minertrade.salary.value (Daily Salary Value) int 1 1
|
||||||
|
|
||||||
# MINERTRADE:
|
# MINERTRADE:
|
||||||
|
|
||||||
# Time interval in seconds to check for rewardable players.
|
# Time interval in seconds to check for rewardable players.
|
||||||
# WARNING: Decreasing this value too much can cause server lag.
|
# WARNING: Decreasing this value too much can cause server lag.
|
||||||
# Deafault: 60 | Min: 1
|
# Default: 60 | Min: 1
|
||||||
minertrade.salay.intervalcheck (Interval Check Salary) int 60 1
|
minertrade.salay.intervalcheck (Interval Check Salary) int 60 1
|
||||||
|
|
||||||
|
# MINERTRADE:
|
||||||
|
|
||||||
|
# Maximum record number of bank statements.
|
||||||
|
# Default: 30 | Min: 1 | Max: 300
|
||||||
|
minertrade.bank.max_statements (Maximum Record Statements) int 30 1 300
|
||||||
|
|
||||||
# MINERTRADE:
|
# MINERTRADE:
|
||||||
# Allows you to print the debug information of this mod on the screen.
|
# Allows you to print the debug information of this mod on the screen.
|
||||||
# Default: false
|
# Default: false
|
||||||
|
|
Loading…
Add table
Reference in a new issue