mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 05:31:20 +00:00
Formulário de Depósitos. +/- ok!
This commit is contained in:
parent
831e35eaef
commit
73924b68bc
1 changed files with 162 additions and 13 deletions
175
item_atm.lua
175
item_atm.lua
|
@ -151,6 +151,28 @@ modMinerTrade.getStatement = function(playername)
|
|||
end
|
||||
end
|
||||
|
||||
modMinerTrade.checkValidStack = function(stack)
|
||||
local cashtypes= modMinerTrade.getCashTypes()
|
||||
for i, item in pairs(cashtypes) do
|
||||
if item == stack:get_name() then
|
||||
return stack:get_count()
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
modMinerTrade.getValueStack = function(stack)
|
||||
local cashtypes= modMinerTrade.getCashTypes()
|
||||
for i, item in pairs(cashtypes) do
|
||||
if item == stack:get_name() then
|
||||
local amount = stack:get_count()
|
||||
return (9 ^ (i - 1)) * amount
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
|
||||
modMinerTrade.showAtm = {
|
||||
frmMain = function(playername) --FORMULÁRIO: PRINCIPAL / RAIZ
|
||||
local formspec = "size[16,10]"
|
||||
|
@ -164,7 +186,7 @@ modMinerTrade.showAtm = {
|
|||
.. "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.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]
|
||||
.. "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
|
||||
|
@ -325,16 +347,16 @@ modMinerTrade.showAtm = {
|
|||
.."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:")).."]"
|
||||
.. "label[6.75,0.75;"..minetest.formspec_escape(core.colorize("#00FFFF", modMinerTrade.translate("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")).."]"
|
||||
.. "label[9.25,3.25;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("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")).."]"
|
||||
.. "label[9.25,5.75;"..minetest.formspec_escape(core.colorize("#FFFFFF", modMinerTrade.translate("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;]"
|
||||
|
||||
|
@ -409,22 +431,146 @@ modMinerTrade.showAtm = {
|
|||
|
||||
minetest.show_formspec(playername, "frmAtmGiveCash", formspec)
|
||||
end,
|
||||
frmDeposits = function(playername) --FORMULÁRIO: SAQUE
|
||||
-- playername = player:get_player_name()
|
||||
local newInv = minetest.create_detached_inventory("deposits", {
|
||||
|
||||
-- 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)
|
||||
--return count
|
||||
return 0
|
||||
end,
|
||||
|
||||
-- Called when a player wants to put items into the inventory
|
||||
allow_put = function(inv, listname, index, stack, player)
|
||||
if modMinerTrade.checkValidStack(stack) >= 1 then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end,
|
||||
|
||||
-- Called when a player wants to take items out of the inventory
|
||||
allow_take = function(inv, listname, index, stack, player)
|
||||
if modMinerTrade.checkValidStack(stack) >= 1 then
|
||||
return 0
|
||||
else
|
||||
return stack:get_count()
|
||||
end
|
||||
end,
|
||||
|
||||
-- on_* - no return value
|
||||
-- Called after the actual action has happened, according to what was allowed.
|
||||
on_move = function(inv, from_list, from_index, to_list, to_index, count, player)
|
||||
--modMinerTrade.setSafeInventory(playername, inv:get_list("safe"))
|
||||
--minetest.log('action',playername.." colocou "..stack:get_count().." '"..stack:get_name().."' em seu cofre!")
|
||||
end,
|
||||
on_put = function(inv, listname, index, stack, player)
|
||||
--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()))
|
||||
local playername = player:get_player_name()
|
||||
if modMinerTrade.checkValidStack(stack) >= 1 then
|
||||
local stackValue = modMinerTrade.getValueStack(stack)
|
||||
--modMinerTrade.debug("modMinerTrade.convValueToItemList() >>> items = "..dump(items).." | newItem = "..dump(newItem))
|
||||
if stackValue >= 1 then
|
||||
modMinerTrade.addBalance(playername, stackValue)
|
||||
modMinerTrade.addStatement(
|
||||
playername, stackValue,
|
||||
("You deposited %02d x '%s'!"):format(stack:get_count(), stack:get_name())
|
||||
)
|
||||
--stack:take_item(stack:get_count())
|
||||
stack:take_item()
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_cash_register", 5)
|
||||
modMinerTrade.showAtm.frmDeposits(playername)
|
||||
end
|
||||
else
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_failure", 5)
|
||||
end
|
||||
--return stack
|
||||
end,
|
||||
on_take = function(inv, listname, index, stack, player)
|
||||
--modMinerTrade.setSafeInventory(playername, inv:get_list("safe"))
|
||||
--minetest.log('action',modMinerTrade.translate("Player '%s' has removed %02d '%s' in his safe!"):format(playername, stack:get_count(), stack:get_name()))
|
||||
end,
|
||||
|
||||
})
|
||||
newInv:set_size("deposit", 1)
|
||||
newInv:set_stack("deposit", 1, nil)
|
||||
--return newInv:get_list("deposit")
|
||||
|
||||
--[[
|
||||
local invList = modMinerTrade.getSafeInventory(playername)
|
||||
if invList~=nil and #invList>=1 then
|
||||
newInv:set_list("safe", invList)
|
||||
else
|
||||
newInv:set_size("safe", modMinerTrade.size.width*modMinerTrade.size.height)
|
||||
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;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", modMinerTrade.translate("BANK DEPOSIT")..":")).."]"
|
||||
--.. "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;]"
|
||||
--]]
|
||||
|
||||
--listcolors[slot_bg_normal;slot_bg_hover;slot_border;tooltip_bgcolor;tooltip_fontcolor]
|
||||
.."listcolors[#88888866;#666666;#CCCCCC;#444444;#FFFFFF]"
|
||||
|
||||
.."label[7.00,3.00;"..minetest.formspec_escape(modMinerTrade.translate("ATM entrance"))..":]"
|
||||
.."list[detached:deposits;deposit;11.50,3.50;1,1;]"
|
||||
|
||||
--.."button[3,2.0;2,1;exchange;"..minetest.formspec_escape(modMinerTrade.translate("DEPOSIT")).."]"
|
||||
|
||||
.."label[7.00,5.00;"..minetest.formspec_escape(modMinerTrade.translate("Your Inventory"))..":]"
|
||||
.."list[current_player;main;7.00,5.50;8,4;]"
|
||||
|
||||
minetest.show_formspec(playername, "frmAtmDeposits", formspec)
|
||||
end,
|
||||
}
|
||||
|
||||
modMinerTrade.getCashTypes = function()
|
||||
return {
|
||||
[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",
|
||||
}
|
||||
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 moneytypes= modMinerTrade.getCashTypes()
|
||||
local items = { }
|
||||
for i = #moneytypes, 1, -1 do
|
||||
local valMoney = 9 ^ (i - 1)
|
||||
|
@ -461,6 +607,9 @@ modMinerTrade.onReceiveFields = function(player, formname, fields)
|
|||
modMinerTrade.showAtm.frmStatement(playername)
|
||||
elseif fields.btnWithdrawals ~= nil then
|
||||
modMinerTrade.showAtm.frmWithdrawals(playername)
|
||||
elseif fields.btnDeposits ~= nil then
|
||||
modMinerTrade.doSoundPlayer(playername, "sfx_atm", 5)
|
||||
modMinerTrade.showAtm.frmDeposits(playername)
|
||||
end
|
||||
elseif formname == "frmAtmStatement" then
|
||||
--modMinerTrade.debug("modMinerTrade.onReceiveFields() >>> player = "..playername.." | formname = "..formname.." | fields = "..dump(fields))
|
||||
|
|
Loading…
Add table
Reference in a new issue