Enxugando código!

This commit is contained in:
Lunovox Heavenfinder 2023-04-18 14:13:14 +00:00
parent 325c1ac117
commit 8ac62fcba8
4 changed files with 0 additions and 438 deletions

View file

@ -1,116 +0,0 @@
minetest.register_node("minertrade:atm", {
description = modMinerTrade.translate("PUBLIC ATM\n* Save your money in the ATM, and withdraw your money in your Personal Safe or other ATM in the shops scattered around the map."),
--inventory_image = minetest.inventorycube("text_atm_front_1.png"),
--inventory_image = "text_atm_front_1.png",
paramtype = "light",
sunlight_propagates = true,
light_source = default.LIGHT_MAX,
paramtype2 = "facedir",
--legacy_facedir_simple = true, --<=Nao sei para que serve!
is_ground_content = false,
groups = {cracky=1},
--groups = {cracky=3,oddly_breakable_by_hand=3},
--sounds = default.node_sound_glass_defaults(),
tiles = {
--[[
"default_wood.png",
"default_wood.png",
"default_wood.png",
"default_wood.png",
"default_wood.png",
"text_atm_front_1.png",
--]]
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_side.png",
"safe_side.png^text_atm_front.png",
},
on_place = function(itemstack, placer, pointed_thing)
local playername = placer:get_player_name()
if not pointed_thing.type == "node" then
return itemstack
end
local posAbove = pointed_thing.above --acima
local posUnder = pointed_thing.under --abaixo
if not placer or not placer:is_player() or
not minetest.registered_nodes[minetest.get_node(posAbove).name].buildable_to
then --Verifica se pode construir sobre os objetos construiveis
return itemstack
end
local nodeUnder = minetest.get_node(posUnder)
if minetest.registered_nodes[nodeUnder.name].on_rightclick then --Verifica se o itema na mao do jogador tem funcao rightclick
return minetest.registered_nodes[nodeUnder.name].on_rightclick(posUnder, nodeUnder, placer, itemstack)
end
if
minetest.get_player_privs(playername).server
or modMinerTrade.getNodesInRange(posAbove, 2, "minertrade:dispensingmachine")>=1
then
local facedir = minetest.dir_to_facedir(placer:get_look_dir())
--minetest.chat_send_player(playername, "[ATM] aaaaaa")
minetest.set_node(posAbove, {
name = "minertrade:atm",
param2 = facedir,
})
local meta = minetest.get_meta(posAbove)
meta:set_string("infotext", modMinerTrade.translate("PUBLIC ATM\n* Save your money in the ATM, and withdraw your money in your Personal Safe or other ATM in the shops scattered around the map."))
local now = os.time() --Em milisegundos
if not minetest.get_player_privs(playername).server then
meta:set_string("opentime", now+modMinerTrade.delayConstruct)
else
meta:set_string("opentime", now)
end
itemstack:take_item() -- itemstack:take_item() = Ok
else
minetest.chat_send_player(playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("ATM").."]: ")
..modMinerTrade.translate("You can not install this 'ATM' too far from a 'Dispensing Machine'!")
)
--return itemstack -- = Cancel
end
return itemstack
end,
on_rightclick = function(pos, node, clicker)
local playername = clicker:get_player_name()
local meta = minetest.get_meta(pos)
meta:set_string("infotext", modMinerTrade.translate("PUBLIC ATM\n* Save your money in the ATM, and withdraw your money in your Personal Safe or other ATM in the shops scattered around the map."))
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,
playername,
modMinerTrade.translate("PUBLIC ATM - Account of '%s':"):format(playername)
)
else
minetest.sound_play("sfx_failure", {object=clicker, max_hear_distance=5.0,})
minetest.chat_send_player(playername,
core.colorize("#00ff00", "["..modMinerTrade.translate("ATM").."]: ")
..modMinerTrade.translate("The ATM will only run %02d seconds after it is installed!"):format(opentime-now)
)
end
end,
})
minetest.register_craft({
output = 'minertrade:atm',
recipe = {
{"default:steel_ingot" ,"default:steel_ingot" ,"default:steel_ingot"},
{"default:steel_ingot" ,"default:obsidian_glass" ,"default:steel_ingot"},
{"default:steel_ingot" ,"default:mese" ,"default:steel_ingot"},
}
})
minetest.register_alias(
modMinerTrade.translate("atm"),
"minertrade:atm"
)

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,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)
--]]