mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 05:31:20 +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] = {
|
||||
account_created = os.date("%Y-%B-%d %Hh:%Mm:%Ss"),
|
||||
balance = 0,
|
||||
total_transactions = 0,
|
||||
statement = { }
|
||||
}
|
||||
--modMinerTrade.bank.player[playername].account_created
|
||||
|
@ -89,17 +90,53 @@ modMinerTrade.addBalance = function(playername, value)
|
|||
return false
|
||||
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)
|
||||
if value ~= nil and type(value) == "number" and value ~= 0 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(
|
||||
modMinerTrade.bank.player[playername].statement,
|
||||
myStatement,
|
||||
{
|
||||
when = os.date("%Y-%B-%d %Hh:%Mm:%Ss"),
|
||||
value = value,
|
||||
description = description,
|
||||
}
|
||||
)
|
||||
modMinerTrade.bank.player[playername].total_transactions = totalTransactions + 1
|
||||
modMinerTrade.bank.player[playername].statement = myStatement
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
@ -149,8 +186,9 @@ modMinerTrade.showAtm = {
|
|||
msgBalance = modMinerTrade.translate("Player '%s' is not an account holder of this bank."):format(playername)
|
||||
end
|
||||
|
||||
local tblStatements = modMinerTrade.getStatement(playername)
|
||||
|
||||
--local tblStatements = modMinerTrade.getStatement(playername)
|
||||
local totalTransactions = modMinerTrade.getTotalTransactions(playername)
|
||||
|
||||
local formspec = "size[16,10]"
|
||||
.."bgcolor[#636D7688;false]"
|
||||
--.."bgcolor[#636D76FF;false]"
|
||||
|
@ -165,11 +203,13 @@ modMinerTrade.showAtm = {
|
|||
.. "box[6.0,0.25;9.5,9.5;#00000088]"
|
||||
.."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)
|
||||
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)).."]"
|
||||
|
||||
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
|
||||
local sign = ""
|
||||
|
@ -216,9 +256,10 @@ modMinerTrade.showAtm = {
|
|||
end
|
||||
--local line = oneStatement.when.." | "..sign..oneStatement.value.." minercash."
|
||||
local line = "#FFF,"
|
||||
..(("%03d"):format(i))..","
|
||||
..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
|
||||
plusStatement = line
|
||||
else
|
||||
|
@ -232,11 +273,11 @@ modMinerTrade.showAtm = {
|
|||
if value >= 1 then
|
||||
sign = "+"
|
||||
end
|
||||
plusStatement = plusStatement..",#FFFF00,"
|
||||
plusStatement = plusStatement..",#FFFF00,,"
|
||||
--..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.")
|
||||
..","
|
||||
end
|
||||
--]]
|
||||
|
||||
|
@ -247,7 +288,7 @@ modMinerTrade.showAtm = {
|
|||
end
|
||||
formspec = formspec
|
||||
.." 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.."]"
|
||||
--.. "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]"
|
||||
|
|
|
@ -202,7 +202,7 @@ minetest.register_craftitem("minertrade:minermoney_black", {
|
|||
description = core.colorize("#00FF00",
|
||||
modMinerTrade.translate("BLACK MINERMONEY")
|
||||
).."\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
|
||||
groups = {cash=531441, trade=1, money=1},
|
||||
})
|
||||
|
@ -276,8 +276,20 @@ minetest.register_craftitem("minertrade:creditcard", {
|
|||
inventory_image = "obj_credit_card.png",
|
||||
--stack_max=9, --Acumula 9 por slot
|
||||
groups = {cash=0, trade=1},
|
||||
--[[
|
||||
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 meta = itemstack:get_meta()
|
||||
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)
|
||||
)
|
||||
return itemstack
|
||||
end,
|
||||
--]]
|
||||
end,
|
||||
})
|
||||
|
||||
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.
|
||||
# Default: 1 | Min: 1
|
||||
minertrade.salary.value (Daily Salary Value) int 1 1
|
||||
|
||||
# MINERTRADE:
|
||||
|
||||
# Time interval in seconds to check for rewardable players.
|
||||
# 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:
|
||||
|
||||
# Maximum record number of bank statements.
|
||||
# Default: 30 | Min: 1 | Max: 300
|
||||
minertrade.bank.max_statements (Maximum Record Statements) int 30 1 300
|
||||
|
||||
# MINERTRADE:
|
||||
# Allows you to print the debug information of this mod on the screen.
|
||||
# Default: false
|
||||
|
|
Loading…
Add table
Reference in a new issue