Melhorias diversas

master
BrunoMine 2018-07-13 16:42:53 -03:00
parent e09af0bfe7
commit c589863ba3
8 changed files with 44 additions and 22 deletions

11
bau.lua
View File

@ -35,6 +35,8 @@ minetest.register_node("telepro:bau", {
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
drop = "",
on_rightclick = function(pos, node, player) on_rightclick = function(pos, node, player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if (meta:get_string("dono") or "") == player:get_player_name() then if (meta:get_string("dono") or "") == player:get_player_name() then
@ -43,7 +45,14 @@ minetest.register_node("telepro:bau", {
minetest.chat_send_player(player:get_player_name(), S("Esse Balao nao lhe pertence")) minetest.chat_send_player(player:get_player_name(), S("Esse Balao nao lhe pertence"))
end end
end, end,
drop = "",
-- Remove corda em cima caso exista
after_destruct = function(pos, oldnode)
local node_superior = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z})
if node_superior.name == "telepro:corda_balao" then
minetest.remove_node({x=pos.x, y=pos.y+1, z=pos.z})
end
end,
}) })
-- Atualização constante do balão -- Atualização constante do balão

View File

@ -33,7 +33,7 @@ minetest.register_node("telepro:bau_spawn", {
-- Verifica privilegios de quem coloca -- Verifica privilegios de quem coloca
if pointed_thing and pointed_thing.above and minetest.check_player_privs(placer:get_player_name(), {server=true}) == true then if pointed_thing and pointed_thing.above and minetest.check_player_privs(placer:get_player_name(), {server=true}) == true then
telepro.spawn = pos telepro.spawn = pos
telepro.bd.salvar("centro", "pos", {x=pos.x, y=pos.y+2, z=pos.z}) telepro.bd.salvar("centro", "pos", {x=pos.x, y=pos.y+3, z=pos.z})
minetest.chat_send_player(placer:get_player_name(), S("Novo centro definido")) minetest.chat_send_player(placer:get_player_name(), S("Novo centro definido"))
else else
minetest.chat_send_player(placer:get_player_name(), S("Precisa do privilegio 'server' para colocar esse bau")) minetest.chat_send_player(placer:get_player_name(), S("Precisa do privilegio 'server' para colocar esse bau"))

View File

@ -35,6 +35,12 @@ minetest.register_node("telepro:corda_balao", {
if telepro.cordas_f == true and minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == "telepro:corda_balao" then if telepro.cordas_f == true and minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == "telepro:corda_balao" then
minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z}) minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z})
end end
-- Remove corda ou balao em cima caso exista
local node_superior = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z})
if node_superior.name == "telepro:corda_balao" or node_superior.name == "telepro:balao_jogador" then
minetest.remove_node({x=pos.x, y=pos.y+1, z=pos.z})
end
end, end,
-- Ao ser colocado de uma pos -- Ao ser colocado de uma pos

View File

@ -34,6 +34,7 @@ end
-- Funções -- Funções
dofile(modpath.."/tradutor.lua") dofile(modpath.."/tradutor.lua")
dofile(modpath.."/mensagens.lua")
dofile(modpath.."/online.lua") dofile(modpath.."/online.lua")
dofile(modpath.."/reivindicar.lua") dofile(modpath.."/reivindicar.lua")
dofile(modpath.."/ir_balao.lua") dofile(modpath.."/ir_balao.lua")

View File

@ -114,6 +114,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
-- Teleportar jogador -- Teleportar jogador
player:setpos(telepro.spawn) player:setpos(telepro.spawn)
minetest.chat_send_player(name, S("Viagem ao Centro realizada")) minetest.chat_send_player(name, S("Viagem ao Centro realizada"))
elseif fields.reparar then elseif fields.reparar then
-- Pegar nome do jogador -- Pegar nome do jogador
@ -167,10 +168,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
return telepro.acessar(minetest.get_player_by_name(name)) return telepro.acessar(minetest.get_player_by_name(name))
end end
-- Verificar se o balao esta ativo -- Verificar se o balao esta ativo
if minetest.get_meta(telepro.bd.pegar("jogador_"..name, "pos")):get_string("status") ~= "ativo" then -- CANCELADO: não deve ser necessario, isso pode atrapalhar muito o retorno do jogador, ao retornar ele resolvera isso
minetest.chat_send_player(name, S(telepro.msg.balao_inativo)) --if minetest.get_meta(telepro.bd.pegar("jogador_"..name, "pos")):get_string("status") ~= "ativo" then
end -- minetest.chat_send_player(name, S(telepro.msg.balao_inativo))
--end
-- Tenta teleportar o jogador -- Tenta teleportar o jogador
telepro.ir_balao(player) telepro.ir_balao(player)

View File

@ -44,10 +44,11 @@ telepro.ir_balao = function(player)
do do
-- Verificar se o nome do bloco é o de uma bau -- Verificar se o nome do bloco é o de uma bau
if pegar_node(pos).name ~= "telepro:bau" then -- CANCELADO: não deve ser necessario, isso pode atrapalhar muito o retorno do jogador, ao retornar ele resolvera isso
minetest.chat_send_player(player:get_player_name(), S("Seu balao foi destruido")) --if pegar_node(pos).name ~= "telepro:bau" then
return false -- minetest.chat_send_player(player:get_player_name(), S("Seu balao foi destruido"))
end -- return false
--end
-- Pega os metadados do bau -- Pega os metadados do bau
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -56,10 +57,11 @@ telepro.ir_balao = function(player)
local n = meta:get_string("dono") or "" local n = meta:get_string("dono") or ""
-- Verifica se é o mesmo nome do jogador -- Verifica se é o mesmo nome do jogador
if n ~= name then -- CANCELADO: não deve ser necessario, isso pode atrapalhar muito o retorno do jogador, ao reto
minetest.chat_send_player(player:get_player_name(), S("Seu balao foi destruido")) --if n ~= name then
return false -- minetest.chat_send_player(player:get_player_name(), S("Seu balao foi destruido"))
end -- return false
--end
end end

View File

@ -35,7 +35,7 @@ telepro.msg = {
-- Local baixo -- Local baixo
local_muito_baixo = S("Precisa subir para um local mais alto"), local_muito_baixo = S("Precisa subir para um local mais alto"),
-- Local muito fechado (obstruções ao balao) -- Local muito fechado (obstruções ao balao)
local_muito_fechado = S("Precisa estar num lugar mais aberto") local_muito_fechado = S("Precisa estar num lugar mais aberto"),
-- Objetos estao ocupando a area que o modelo/malha do balão vai ocupar -- Objetos estao ocupando a area que o modelo/malha do balão vai ocupar
objetos_obstruem_balao = S("Objetos obstruem a parte de cima portanto libere o local ou suba") objetos_obstruem_balao = S("Objetos obstruem a parte de cima portanto libere o local ou suba"),
} }

View File

@ -30,10 +30,11 @@ telepro.reivindicar = function(player)
local name = player:get_player_name() local name = player:get_player_name()
-- Verificar se está travado -- Verificar se está travado
if telepro.travados[name] == true then -- CANCELADO: O balao fica travado no local, evitando que o jogar explore tão rapido
minetest.chat_send_player(name, S(telepro.msg.limite_de_usos_por_dia)) --if telepro.travados[name] == true then
return false -- minetest.chat_send_player(name, S(telepro.msg.limite_de_usos_por_dia))
end -- return false
--end
-- Pegar coordenada do jogador -- Pegar coordenada do jogador
local pos = player:getpos() local pos = player:getpos()
@ -141,8 +142,9 @@ telepro.reivindicar = function(player)
player:setpos({x=pos.x, y=pos.y+1.5, z=pos.z}) player:setpos({x=pos.x, y=pos.y+1.5, z=pos.z})
-- Travar por 24 horas para impedir ficar gerando em vaios locais -- Travar por 24 horas para impedir ficar gerando em vaios locais
telepro.travados[name] = true -- CANCELADO: O balao fica travado no local, evitando que o jogar explore tão rapido
minetest.after(3600, telepro.destravar, name) --telepro.travados[name] = true
--minetest.after(3600, telepro.destravar, name)
-- Finaliza -- Finaliza
minetest.chat_send_player(name, S("Balao reivindicado com sucesso")) minetest.chat_send_player(name, S("Balao reivindicado com sucesso"))