fazendo o formspec

This commit is contained in:
Lunovox 2022-05-12 11:34:07 -03:00
parent 2ddff423e2
commit de41278c0b
4 changed files with 0 additions and 332 deletions

View file

@ -1,165 +0,0 @@
--#########################################################################################
minetest.register_craftitem("minertrade:minercoin", {
description = modMinerTrade.translate("MINERCOIN\n* Basic craftable money with gold and steel."),
inventory_image = "obj_minecoin.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=1, trade=1},
})
minetest.register_craft({
output = "minertrade:minercoin",
recipe = {
{"default:gold_ingot","default:steel_ingot","default:gold_ingot"},
},
--https://github.com/minetest/minetest_game/blob/master/mods/default/craftitems.lua
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "minertrade:minercoin",
cooktime = 5,
})
minetest.register_alias(
modMinerTrade.translate("minercoin"),
"minertrade:minercoin"
)
--##########################################################################################################
minetest.register_craftitem("minertrade:minermoney", {
description = modMinerTrade.translate("MINERMONEY\n* equals 09 Minercoins."),
inventory_image = "obj_minemoney.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=1, trade=1},
})
minetest.register_craft({
output = "minertrade:minermoney",
recipe = {
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"}
},
})
minetest.register_craft({
output = "minertrade:minercoin 9",
recipe = {
{"minertrade:minermoney"},
},
})
minetest.register_alias(
modMinerTrade.translate("minermoney"),
"minertrade:minermoney"
)
--##########################################################################################################
minetest.register_craftitem("minertrade:checkbank", {
description = modMinerTrade.translate("CHECK BANK\n* equals 09 Minermoneys."),
inventory_image = "obj_bank_check.png",
stack_max=9, --Acumula 9 por slot
groups = {cash=1, trade=1},
})
minetest.register_craft({
output = "minertrade:checkbank",
recipe = {
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"}
},
})
minetest.register_craft({
output = "minertrade:minermoney 9",
recipe = {
{"minertrade:checkbank"},
},
})
minetest.register_alias(
modMinerTrade.translate("checkbank"),
"minertrade:checkbank"
)
--##########################################################################################################
minetest.register_craftitem("minertrade:creditcard", {
description = modMinerTrade.translate("CREDIT CARD (Unowned)\n* equals 09 Check Banks.\n* Allows you to access the bank account of the credit card owner anywhere in the world."),
inventory_image = "obj_credit_card.png",
--stack_max=9, --Acumula 9 por slot
groups = {cash=1, trade=1},
on_use = function(itemstack, player)
local playername = player:get_player_name()
local meta = itemstack:get_meta()
local old_data = minetest.deserialize(itemstack:get_metadata())
if old_data then
meta:from_table({ fields = old_data })
end
local tmpDatabase = meta:to_table().fields
if type(tmpDatabase.ownername)~="string" or tmpDatabase.ownername=="" then
tmpDatabase.ownername = playername
tmpDatabase.description = modMinerTrade.translate("CREDIT CARD of '%s'"):format(tmpDatabase.ownername)
local invPlayer = player:get_inventory()
local new_stack
local count = itemstack:get_count()
itemstack:set_count(count - 1)
new_stack = ItemStack("minertrade:creditcard")
new_stack:get_meta():from_table({ fields = tmpDatabase })
if invPlayer:room_for_item("main", new_stack) then
invPlayer:add_item("main", new_stack)
else
minetest.add_item(player:get_pos(), new_stack)
end
minetest.chat_send_player(playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("CREDIT CARD").."]: ")
..modMinerTrade.translate("Your name has been saved to this credit card. Anyone using this credit card will be able to access the '%s' bank account."):format(tmpDatabase.ownername)
)
minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,})
return itemstack
end
modMinerTrade.showInventory(
player,
tmpDatabase.ownername,
modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername)
)
return itemstack
end,
})
minetest.register_craft({
output = "minertrade:creditcard",
recipe = {
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"}
},
})
minetest.register_craft({
output = "minertrade:checkbank 9",
recipe = {
{"minertrade:creditcard"},
},
})
minetest.register_alias(
modMinerTrade.translate("creditcard"),
"minertrade:creditcard"
)
--##########################################################################################################

View file

@ -1,79 +0,0 @@
minetest.register_node("minertrade:strongbox", {
description = modMinerTrade.translate("STRONGBOX\n* Save your money in this safe and withdraw your money at any shop that has an ATM."),
--inventory_image = "safe_front.png",
paramtype = "light",
sunlight_propagates = true,
light_source = default.LIGHT_MAX,
paramtype2 = "facedir",
is_ground_content = false,
groups = {cracky=1},
tiles = {
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_front.png",
},
after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
local ownername = placer:get_player_name() or ""
meta:set_string("owner", ownername)
meta:set_string("infotext", modMinerTrade.translate("STRONGBOX (Property of '%s')\n* Save your money in this safe and withdraw your money at any shop that has an ATM."):format(ownername))
local now = os.time() --Em milisegundos
meta:set_string("opentime", now+modMinerTrade.delayConstruct)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
if modMinerTrade.isOpen(meta, player) then
return true
else
return false
end
end,
on_rightclick = function(pos, node, clicker)
local playername = clicker:get_player_name()
local meta = minetest.get_meta(pos)
local ownername = meta:get_string("owner")
meta:set_string("infotext", modMinerTrade.translate("STRONGBOX (Property of '%s')\n* Save your money in this safe and withdraw your money at any shop that has an ATM."):format(ownername))
if modMinerTrade.isOpen(meta, clicker) then
local opentime = tonumber(meta:get_string("opentime")) or 0
local now = os.time() --Em milisegundos
if now >= opentime or minetest.get_player_privs(playername).server then
modMinerTrade.showInventory(
clicker,
ownername,
modMinerTrade.translate("STRONGBOX owned by '%s':"):format(ownername)
)
else
minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,})
minetest.chat_send_player(playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("STRONGBOX").."]: ")
..modMinerTrade.translate("The safe is going to work %02d seconds after it is installed!"):format(opentime-now)
)
end
else
minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,})
minetest.chat_send_player(playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("STRONGBOX").."]: ")
..modMinerTrade.translate("You do not have access to the safe belonging to '%s'!"):format(ownername)
)
end
end,
})
minetest.register_craft({
output = 'minertrade:strongbox',
recipe = {
{"default:steel_ingot" ,"default:steel_ingot" ,"default:steel_ingot"},
{"default:steel_ingot" ,"" ,"default:mese_crystal"},
{"default:steel_ingot" ,"default:steel_ingot" ,"default:steel_ingot"},
}
})
minetest.register_alias(
modMinerTrade.translate("strongbox"),
"minertrade:strongbox"
)

View file

@ -1,10 +0,0 @@
modMinerTrade.doLoad()
minetest.register_on_leaveplayer(function(player)
modMinerTrade.doSave()
end)
minetest.register_on_shutdown(function()
modMinerTrade.doSave()
minetest.log('action',"[STRONGBOX] "..modMinerTrade.translate("Saving strongbox from all players in the file '%s'!"):format(modMinerTrade.urlTabela))
end)

View file

@ -1,78 +0,0 @@
minetest.register_privilege("salary", {
description=modMinerTrade.translate("Only players with this privilege will receive a daily payment."),
give_to_singleplayer=false,
})
modMinerTrade.payday = {
salary = (minetest.setting_get("minertrade.payday.salary") or "minertrade:minercoin 1"),
interval = (tonumber(minetest.setting_get("minertrade.payday.interval")) or 60)
}
minetest.after(3.5, function()
modMinerTrade.payday.time = 0
minetest.register_globalstep(function(dtime)
modMinerTrade.payday.time = modMinerTrade.payday.time + dtime
if modMinerTrade.payday.time >= modMinerTrade.payday.interval then
modMinerTrade.payday.time = 0
local dc = minetest.get_day_count()
local players = minetest.get_connected_players()
if #players >= 1 then
for _, player in ipairs(players) do
local lp = tonumber(player:get_meta():get_int("last_pay")) or 0
if lp ~= dc then
local playername = player:get_player_name()
if minetest.get_player_privs(playername).salary then
local nameInvList = "safe"
local inv = modMinerTrade.getDetachedInventory(playername)
--minetest.chat_send_player(playername, "vazio = "..dump(inv:is_empty(nameInvList)))
local stack = ItemStack(modMinerTrade.payday.salary)
local leftover = inv:add_item(nameInvList, stack)
modMinerTrade.setSafeInventory(playername, inv:get_list(nameInvList))
modMinerTrade.delSafeInventory(playername)
if leftover:get_count() > 0 then
minetest.chat_send_player(
playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("CITY HALL").."]: ")
..modMinerTrade.translate("Your Strongbox is full! %2d items weren't added in your bank account."):format(leftover:get_count())
)
minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,})
else
minetest.chat_send_player(
playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("CITY HALL").."]: ")
..modMinerTrade.translate("The city hall deposited the %2d° salary in your bank account!"):format(dc)
)
minetest.sound_play("sfx_cash_register", {object=player, max_hear_distance=5.0,})
end
end
player:get_meta():set_int("last_pay",dc)
end
end
end
end
end)
end)
--[[
minetest.after(3.5, function()
modMinerTrade.payday = {
interval = (60 *24) / (tonumber(minetest.setting_get("time_speed")) or 72),
time = 0
}
modMinerTrade.payday.interval = 1
minetest.register_globalstep(function(dtime)
modMinerTrade.payday.time = modMinerTrade.payday.time + dtime
if modMinerTrade.payday.time >= modMinerTrade.payday.interval then
end
end)
end)
--]]