mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 05:31:20 +00:00
Correçãode bugs e tradução
This commit is contained in:
parent
a76c363800
commit
d3508da42e
8 changed files with 233 additions and 218 deletions
25
init.lua
25
init.lua
|
@ -1,33 +1,20 @@
|
|||
local modname = minetest.get_current_modname()
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
|
||||
|
||||
dofile(modpath.."/config.lua")
|
||||
dofile(modpath.."/translate.lua")
|
||||
dofile(modpath.."/config.lua") -- <== Antes de carregar tudo!
|
||||
dofile(modpath.."/translate.lua") -- <== Antes de 'api.lua'!
|
||||
dofile(modpath.."/api.lua")
|
||||
dofile(modpath.."/commands.lua")
|
||||
dofile(modpath.."/item_atm.lua")
|
||||
dofile(modpath.."/item_strongbox.lua")
|
||||
--dofile(modpath.."/item_strongbox_old.lua")
|
||||
|
||||
|
||||
dofile(modpath.."/item_miner_cash.lua")
|
||||
dofile(modpath.."/item_barter_table.lua")
|
||||
dofile(modpath.."/item_exchange_table.lua")
|
||||
dofile(modpath.."/item_dispensing_machine.lua")
|
||||
-- --dofile(path.."/item_rent_door.lua")
|
||||
|
||||
dofile(modpath.."/commands.lua")
|
||||
dofile(modpath.."/on_final.lua") -- <== Depois que carregou tudo!
|
||||
|
||||
|
||||
modMinerTrade.doLoad()
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
modMinerTrade.doSave()
|
||||
end)
|
||||
|
||||
minetest.register_on_shutdown(function()
|
||||
modMinerTrade.doSave()
|
||||
minetest.log('action',"[STRONGBOX] Salvando cofre de todos os jogadores no arquivo '"..modMinerTrade.urlTabela.."'!")
|
||||
end)
|
||||
|
||||
minetest.log('action',"["..modname:upper().."] Carregado!")
|
||||
minetest.log('action',"["..modname:upper().."] Loaded!")
|
||||
|
|
|
@ -1,174 +0,0 @@
|
|||
modMinerTrade.bartertable = {
|
||||
formspec = {
|
||||
main = "size[10,9.5]"..
|
||||
"label[3.5,0;MESA DE ESCAMBO\n(Jogador para Jogador)]"..
|
||||
"list[current_name;pl1;0,1;3,4;]"..
|
||||
"list[current_name;pl2;7,1;3,4;]"..
|
||||
"label[1,5;Seu inventario:]"..
|
||||
"list[current_player;main;1,5.5;8,4;]",
|
||||
pl1 = {
|
||||
start = "button[3,1;2.0,1;pl1_start;Abrir]",
|
||||
player = function(name) return "label[0,0.5;"..name.." oferece:]" end,
|
||||
accept1 = "button[3,1;2,1;pl1_accept1;Oferecer]"..
|
||||
"button[3,2;2,1;pl1_cancel;Cancelar]",
|
||||
accept2 = "button[3,1;2,1;pl1_accept2;Confirmar]"..
|
||||
"button[3,2;2,1;pl1_cancel;Cancelar]",
|
||||
},
|
||||
pl2 = {
|
||||
start = "button[5,1;2.0,1;pl2_start;Abrir]",
|
||||
player = function(name) return "label[7,0.5;"..name.." oferece:]" end,
|
||||
accept1 = "button[5,1;2,1;pl2_accept1;Oferecer]"..
|
||||
"button[5,2;2,1;pl2_cancel;Cancelar]",
|
||||
accept2 = "button[5,1;2,1;pl2_accept2;Confirmar]"..
|
||||
"button[5,2;2,1;pl2_cancel;Cancelar]",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
modMinerTrade.bartertable.getPrivilegios = function(listname,playername,meta)
|
||||
if listname == "pl1" then
|
||||
if playername ~= meta:get_string("pl1") then
|
||||
return false
|
||||
elseif meta:get_int("pl1step") ~= 1 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
if listname == "pl2" then
|
||||
if playername ~= meta:get_string("pl2") then
|
||||
return false
|
||||
elseif meta:get_int("pl2step") ~= 1 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
modMinerTrade.bartertable.update_formspec = function(meta)
|
||||
local formspec = modMinerTrade.bartertable.formspec.main --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:68.
|
||||
local pl_formspec = function (n)
|
||||
if meta:get_int(n.."step")==0 then
|
||||
formspec = formspec .. modMinerTrade.bartertable.formspec[n].start
|
||||
else
|
||||
formspec = formspec .. modMinerTrade.bartertable.formspec[n].player(meta:get_string(n))
|
||||
if meta:get_int(n.."step") == 1 then
|
||||
formspec = formspec .. modMinerTrade.bartertable.formspec[n].accept1
|
||||
elseif meta:get_int(n.."step") == 2 then
|
||||
formspec = formspec .. modMinerTrade.bartertable.formspec[n].accept2
|
||||
end
|
||||
end
|
||||
end
|
||||
pl_formspec("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:80.
|
||||
pl_formspec("pl2")
|
||||
meta:set_string("formspec",formspec)
|
||||
end
|
||||
|
||||
modMinerTrade.bartertable.getInventario = function(inv,list,playername)
|
||||
local player = minetest.env:get_player_by_name(playername)
|
||||
if player then
|
||||
for k,v in ipairs(inv:get_list(list)) do
|
||||
player:get_inventory():add_item("main",v)
|
||||
inv:remove_item(list,v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
modMinerTrade.bartertable.cancel = function(meta)
|
||||
modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl1"))
|
||||
modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl2"))
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
meta:set_int("pl1step",0)
|
||||
meta:set_int("pl2step",0)
|
||||
end
|
||||
|
||||
modMinerTrade.bartertable.exchange = function(meta)
|
||||
modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl2"))
|
||||
modMinerTrade.bartertable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl1"))
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
meta:set_int("pl1step",0)
|
||||
meta:set_int("pl2step",0)
|
||||
end
|
||||
|
||||
minetest.register_node("minertrade:bartertable", {
|
||||
description = "Mesa de Escambo (Jogador para Jogador)",
|
||||
tiles = {"balcao_topo.png", "balcao1_baixo.png", "balcao1_lado.png"},
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_string("infotext", "Mesa de Escambo (Player to Player)")
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
modMinerTrade.bartertable.update_formspec(meta)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("pl1", 3*4)
|
||||
inv:set_size("pl2", 3*4)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local pl_receive_fields = function(n)
|
||||
if fields[n.."_start"] and meta:get_string(n) == "" then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_string(n,sender:get_player_name())
|
||||
end
|
||||
if meta:get_string(n) == "" then
|
||||
meta:set_int(n.."step",0)
|
||||
elseif meta:get_int(n.."step")==0 then
|
||||
meta:set_int(n.."step",1)
|
||||
end
|
||||
if sender:get_player_name() == meta:get_string(n) then
|
||||
if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_int(n.."step",2)
|
||||
end
|
||||
if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_int(n.."step",3)
|
||||
if n == "pl1" and meta:get_int("pl2step") == 3 then modMinerTrade.bartertable.exchange(meta) end
|
||||
if n == "pl2" and meta:get_int("pl1step") == 3 then modMinerTrade.bartertable.exchange(meta) end
|
||||
end
|
||||
if fields[n.."_cancel"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
modMinerTrade.bartertable.cancel(meta)
|
||||
end
|
||||
end
|
||||
end
|
||||
pl_receive_fields("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_receive_fields" inside a function at /home/lunovox/.minetest/mods/lunotrades/bartertable.lua:156.
|
||||
pl_receive_fields("pl2")
|
||||
-- End
|
||||
modMinerTrade.bartertable.update_formspec(meta)
|
||||
end,
|
||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.bartertable.getPrivilegios(from_list,player:get_player_name(),meta) then return 0 end
|
||||
if not modMinerTrade.bartertable.getPrivilegios(to_list,player:get_player_name(),meta) then return 0 end
|
||||
return count
|
||||
end,
|
||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.bartertable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end
|
||||
return stack:get_count()
|
||||
end,
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.bartertable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end
|
||||
return stack:get_count()
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minertrade:bartertable',
|
||||
recipe = {
|
||||
{"group:wood" ,"group:wood"},
|
||||
{"group:wood" ,"group:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("bartertable" , "minertrade:bartertable")
|
||||
minetest.register_alias("balcaodeescambo" , "minertrade:bartertable")
|
||||
minetest.register_alias("balcaodetroca" , "minertrade:bartertable")
|
||||
minetest.register_alias("mesadeescambo" , "minertrade:bartertable")
|
||||
minetest.register_alias("mesadetroca" , "minertrade:bartertable")
|
|
@ -64,7 +64,7 @@ modMinerTrade.dispensing.formspec = {
|
|||
).."]"
|
||||
.."label[0,6.25;"..minetest.formspec_escape(modMinerTrade.translate("Seller current inventory"))..":]"
|
||||
.."list[current_player;main;0,6.75.0;8,4;]"
|
||||
.."label[0,10.75;(CTRL + Mouse = "..minetest.formspec_escape(modMinerTrade.translate("Customer Interface"))..")]"
|
||||
.."label[0,10.75;("..minetest.formspec_escape(modMinerTrade.translate("Ctrl + Right Click Mouse → Customer Interface"))..")]"
|
||||
return formspec
|
||||
end,
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ local box_format = {
|
|||
}
|
||||
|
||||
minetest.register_node("minertrade:dispensingmachine", {
|
||||
description = modMinerTrade.translate("Dispensing Machine (Sell items for you)"),
|
||||
description = modMinerTrade.translate("DISPENSING MACHINE\n* Sells your items, even if you are not online."),
|
||||
--tiles = {"balcao_topo.png", "balcao2_baixo.png", "balcao2_lado.png"},
|
||||
|
||||
drawtype = "nodebox",
|
||||
|
@ -207,9 +207,6 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
|
|||
local owner = meta:get_string("owner")
|
||||
--minetest.chat_send_player(name,"owner('"..owner.."') == name('"..name.."')")
|
||||
|
||||
|
||||
|
||||
|
||||
if modMinerTrade.dispensing.canOpen(pos, name) and sender:get_player_control().aux1 then
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("You can not change your own machine!"))
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
|
@ -227,9 +224,9 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
|
|||
meta:set_string("offer", "")
|
||||
meta:set_string("infotext", modMinerTrade.translate("Dispensing Machine of '%s'."):format(owner))
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
local minv = meta:get_inventory()
|
||||
local pinv = sender:get_inventory()
|
||||
local invlist_tostring = function(invlist)
|
||||
|
@ -256,25 +253,28 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
|
|||
owners_fault = true
|
||||
end
|
||||
end
|
||||
if can_exchange then
|
||||
for i, item in pairs(wants) do
|
||||
pinv:remove_item("customer_gives",item)
|
||||
minv:add_item("customers_gave",item)
|
||||
end
|
||||
for i, item in pairs(gives) do
|
||||
minv:remove_item("stock",item)
|
||||
pinv:add_item("customer_gets",item)
|
||||
end
|
||||
minetest.chat_send_player(name,"Escambo feito!")
|
||||
minetest.sound_play("sfx_cash_register", {object=sender, max_hear_distance=5.0,})
|
||||
elseif fields.quit==nil then
|
||||
if owners_fault then
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("The stock of '%s' is gone. Contact him!"):format(owner))
|
||||
|
||||
if fields.quit==nil then
|
||||
if can_exchange then
|
||||
for i, item in pairs(wants) do
|
||||
pinv:remove_item("customer_gives",item)
|
||||
minv:add_item("customers_gave",item)
|
||||
end
|
||||
for i, item in pairs(gives) do
|
||||
minv:remove_item("stock",item)
|
||||
pinv:add_item("customer_gets",item)
|
||||
end
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("Exchange done!"))
|
||||
minetest.sound_play("sfx_cash_register", {object=sender, max_hear_distance=5.0,})
|
||||
else
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("the barter can not be done. Make sure you offer what the machine asks for!"))
|
||||
if owners_fault then
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("The stock of '%s' is gone. Contact him!"):format(owner))
|
||||
else
|
||||
minetest.chat_send_player(name,modMinerTrade.translate("the barter can not be done. Make sure you offer what the machine asks for!"))
|
||||
end
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
end
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
end
|
||||
end --if fields.quit==nil then
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
178
item_exchange_table.lua
Normal file
178
item_exchange_table.lua
Normal file
|
@ -0,0 +1,178 @@
|
|||
modMinerTrade.exchangetable = {
|
||||
formspec = {
|
||||
main = "size[10,9.5]"
|
||||
.."listcolors[#88888844;#888888;#FFFFFF]"
|
||||
.."background[-0.25,-0.25;10.5,10.25;balcao_topo.png]"
|
||||
.."label[3.5,0;"..minetest.formspec_escape(modMinerTrade.translate("EXCHANGE TABLE\n(Player to Player)")).."]"
|
||||
.."list[current_name;pl1;0,1;3,4;]"
|
||||
.."list[current_name;pl2;7,1;3,4;]"
|
||||
.."label[1,5;"..minetest.formspec_escape(modMinerTrade.translate("Your inventory"))..":]"
|
||||
.."list[current_player;main;1,5.5;8,4;]",
|
||||
pl1 = {
|
||||
start = "button[3,1;2.0,1;pl1_start;"..minetest.formspec_escape(modMinerTrade.translate("Open")).."]",
|
||||
player = function(name) return "label[0,0.5;"..minetest.formspec_escape(modMinerTrade.translate("'%s' offer"):format(name))..":]" end,
|
||||
accept1 = "button[3,1;2,1;pl1_accept1;"..minetest.formspec_escape(modMinerTrade.translate("Offer")).."]"..
|
||||
"button[3,2;2,1;pl1_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]",
|
||||
accept2 = "button[3,1;2,1;pl1_accept2;"..minetest.formspec_escape(modMinerTrade.translate("Confirm")).."]"..
|
||||
"button[3,2;2,1;pl1_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]",
|
||||
},
|
||||
pl2 = {
|
||||
start = "button[5,1;2.0,1;pl2_start;"..minetest.formspec_escape(modMinerTrade.translate("Open")).."]",
|
||||
player = function(name) return "label[7,0.5;"..minetest.formspec_escape(modMinerTrade.translate("'%s' offer"):format(name))..":]" end,
|
||||
accept1 = "button[5,1;2,1;pl2_accept1;"..minetest.formspec_escape(modMinerTrade.translate("Offer")).."]"..
|
||||
"button[5,2;2,1;pl2_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]",
|
||||
accept2 = "button[5,1;2,1;pl2_accept2;"..minetest.formspec_escape(modMinerTrade.translate("Confirm")).."]"..
|
||||
"button[5,2;2,1;pl2_cancel;"..minetest.formspec_escape(modMinerTrade.translate("Cancel")).."]",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
modMinerTrade.exchangetable.getPrivilegios = function(listname,playername,meta)
|
||||
if listname == "pl1" then
|
||||
if playername ~= meta:get_string("pl1") then
|
||||
return false
|
||||
elseif meta:get_int("pl1step") ~= 1 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
if listname == "pl2" then
|
||||
if playername ~= meta:get_string("pl2") then
|
||||
return false
|
||||
elseif meta:get_int("pl2step") ~= 1 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
modMinerTrade.exchangetable.update_formspec = function(meta)
|
||||
local formspec = modMinerTrade.exchangetable.formspec.main
|
||||
local pl_formspec = function (n)
|
||||
if meta:get_int(n.."step")==0 then
|
||||
formspec = formspec .. modMinerTrade.exchangetable.formspec[n].start
|
||||
else
|
||||
formspec = formspec .. modMinerTrade.exchangetable.formspec[n].player(meta:get_string(n))
|
||||
if meta:get_int(n.."step") == 1 then
|
||||
formspec = formspec .. modMinerTrade.exchangetable.formspec[n].accept1
|
||||
elseif meta:get_int(n.."step") == 2 then
|
||||
formspec = formspec .. modMinerTrade.exchangetable.formspec[n].accept2
|
||||
end
|
||||
end
|
||||
end
|
||||
pl_formspec("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_formspec" inside a function at /home/lunovox/.minetest/mods/lunotrades/exchangetable.lua:80.
|
||||
pl_formspec("pl2")
|
||||
meta:set_string("formspec",formspec)
|
||||
end
|
||||
|
||||
modMinerTrade.exchangetable.getInventario = function(inv,list,playername)
|
||||
local player = minetest.env:get_player_by_name(playername)
|
||||
if player then
|
||||
for k,v in ipairs(inv:get_list(list)) do
|
||||
player:get_inventory():add_item("main",v)
|
||||
inv:remove_item(list,v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
modMinerTrade.exchangetable.cancel = function(meta)
|
||||
modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl1"))
|
||||
modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl2"))
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
meta:set_int("pl1step",0)
|
||||
meta:set_int("pl2step",0)
|
||||
end
|
||||
|
||||
modMinerTrade.exchangetable.exchange = function(meta)
|
||||
modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl1",meta:get_string("pl2"))
|
||||
modMinerTrade.exchangetable.getInventario(meta:get_inventory(),"pl2",meta:get_string("pl1"))
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
meta:set_int("pl1step",0)
|
||||
meta:set_int("pl2step",0)
|
||||
end
|
||||
|
||||
minetest.register_node("minertrade:exchangetable", {
|
||||
description = modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground."),
|
||||
tiles = {"balcao_topo.png", "balcao1_baixo.png", "balcao1_lado.png"},
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_string("infotext", modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground."))
|
||||
meta:set_string("pl1","")
|
||||
meta:set_string("pl2","")
|
||||
modMinerTrade.exchangetable.update_formspec(meta)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("pl1", 3*4)
|
||||
inv:set_size("pl2", 3*4)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
meta:set_string("infotext", modMinerTrade.translate("EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground."))
|
||||
local pl_receive_fields = function(n)
|
||||
if fields[n.."_start"] and meta:get_string(n) == "" then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_string(n,sender:get_player_name())
|
||||
end
|
||||
if meta:get_string(n) == "" then
|
||||
meta:set_int(n.."step",0)
|
||||
elseif meta:get_int(n.."step")==0 then
|
||||
meta:set_int(n.."step",1)
|
||||
end
|
||||
if sender:get_player_name() == meta:get_string(n) then
|
||||
if meta:get_int(n.."step")==1 and fields[n.."_accept1"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_int(n.."step",2)
|
||||
end
|
||||
if meta:get_int(n.."step")==2 and fields[n.."_accept2"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
meta:set_int(n.."step",3)
|
||||
if n == "pl1" and meta:get_int("pl2step") == 3 then modMinerTrade.exchangetable.exchange(meta) end
|
||||
if n == "pl2" and meta:get_int("pl1step") == 3 then modMinerTrade.exchangetable.exchange(meta) end
|
||||
end
|
||||
if fields[n.."_cancel"] then
|
||||
minetest.sound_play("sfx_alert", {object=sender, max_hear_distance=5.0,})
|
||||
modMinerTrade.exchangetable.cancel(meta)
|
||||
end
|
||||
end
|
||||
end
|
||||
pl_receive_fields("pl1") --10:18:33: ERROR[ServerThread]: Assignment to undeclared global "pl_receive_fields" inside a function at /home/lunovox/.minetest/mods/lunotrades/exchangetable.lua:156.
|
||||
pl_receive_fields("pl2")
|
||||
-- End
|
||||
modMinerTrade.exchangetable.update_formspec(meta)
|
||||
end,
|
||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.exchangetable.getPrivilegios(from_list,player:get_player_name(),meta) then return 0 end
|
||||
if not modMinerTrade.exchangetable.getPrivilegios(to_list,player:get_player_name(),meta) then return 0 end
|
||||
return count
|
||||
end,
|
||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.exchangetable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end
|
||||
return stack:get_count()
|
||||
end,
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if not modMinerTrade.exchangetable.getPrivilegios(listname,player:get_player_name(),meta) then return 0 end
|
||||
return stack:get_count()
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'minertrade:exchangetable',
|
||||
recipe = {
|
||||
{"default:steel_ingot" ,"group:wood" ,"default:steel_ingot"},
|
||||
{"group:wood" ,"group:wood" ,"group:wood"},
|
||||
{"group:stick" ,"" ,"group:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("exchangetable" , "minertrade:exchangetable")
|
||||
minetest.register_alias(
|
||||
modMinerTrade.translate("exchangetable"),
|
||||
"minertrade:exchangetable"
|
||||
)
|
|
@ -12,6 +12,7 @@ DISPENSING MACHINE=MÁQUINA DE DISPENSADORA
|
|||
Customer Offer=Cliente Oferece
|
||||
Customer Receive=Cliente Recebe
|
||||
ACCEPT=ACEITAR
|
||||
Exchange done!=Escambo feito!
|
||||
Current customer inventory=Inventário atual do cliente
|
||||
The Machine Need=A Maquina Precisa
|
||||
The Machine Offer=A Maquina Oferece
|
||||
|
@ -21,14 +22,27 @@ You need=Você Precisa
|
|||
You offer=Você Oferece
|
||||
Make an announcement about what this machine will do=Faça um anúncio sobre o que esta máquina dispensará
|
||||
Seller current inventory=Inventario atual do vendedor
|
||||
Customer Interface=Interface do Cliente
|
||||
Dispensing Machine (Sell items for you)=Maquina Dispensadora (Vende itens por você)
|
||||
Ctrl + Right Click Mouse → Customer Interface=Ctrl + Clique Direito do Mouse → Interface do Cliente
|
||||
DISPENSING MACHINE\n* Sells your items, even if you are not online.=MÁQUINA DE DISPENSADORA\n* Vende seus itens, mesmo se você não estiver online.
|
||||
Dispensing Machine of '%s'.=Maquina Dispensadora de '%s'.
|
||||
The Dispensing Machine can not be removed before being emptied!=A Máquina Dispensadora não pode ser retirada antes de ser esvaziada!
|
||||
You can not change your own machine!=Voce nao pode trocar na sua propria maquina!
|
||||
The stock of '%s' is gone. Contact him!=O estoque de '%s' acabou. Contacte-o!
|
||||
the barter can not be done. Make sure you offer what the machine asks for!=O escambo nao pode ser feito. Verifique se voce ofereceu o que a maquina pede!
|
||||
|
||||
#------- item_barter_table.lua ---------------------------------------------------------------------------
|
||||
EXCHANGE TABLE\n(Player to Player)=MESA DE ESCAMBO\n(Jogador para Jogador)
|
||||
EXCHANGE TABLE\n* It makes safe exchanges from player to player without the need to put your items on the ground.=MESA DE ESCAMBO\n* Faz trocas seguras jogador a jogador sem a necessidade de colocar seu itens no chão.
|
||||
'%s' offer='%s' oferece
|
||||
Your inventory=Seu inventario
|
||||
Open=Abrir
|
||||
Offer=Oferecer
|
||||
Cancel=Cancelar
|
||||
Confirm=Confirmar
|
||||
|
||||
#------- on_final.lua ---------------------------------------------------------------------------
|
||||
Saving strongbox from all players in the file '%s'!=Salvando cofre de todos os jogadores no arquivo '%s'!
|
||||
|
||||
# ------- alias ---------------------------------------------------------------------------
|
||||
dispensingmachine=dispensadora
|
||||
exchangetable=mesadetroca
|
||||
|
|
10
on_final.lua
Normal file
10
on_final.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
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)
|
BIN
screenshot2.png
Normal file
BIN
screenshot2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 440 KiB |
BIN
screenshot3.png
Normal file
BIN
screenshot3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 479 KiB |
Loading…
Add table
Reference in a new issue