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",
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
sounds = default.node_sound_wood_defaults(),
drop = "",
on_rightclick = function(pos, node, player)
local meta = minetest.get_meta(pos)
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"))
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

View File

@ -33,7 +33,7 @@ minetest.register_node("telepro:bau_spawn", {
-- 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
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"))
else
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
minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z})
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,
-- Ao ser colocado de uma pos

View File

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

View File

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

View File

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

View File

@ -35,7 +35,7 @@ telepro.msg = {
-- Local baixo
local_muito_baixo = S("Precisa subir para um local mais alto"),
-- 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_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()
-- Verificar se está travado
if telepro.travados[name] == true then
minetest.chat_send_player(name, S(telepro.msg.limite_de_usos_por_dia))
return false
end
-- CANCELADO: O balao fica travado no local, evitando que o jogar explore tão rapido
--if telepro.travados[name] == true then
-- minetest.chat_send_player(name, S(telepro.msg.limite_de_usos_por_dia))
-- return false
--end
-- Pegar coordenada do jogador
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})
-- Travar por 24 horas para impedir ficar gerando em vaios locais
telepro.travados[name] = true
minetest.after(3600, telepro.destravar, name)
-- CANCELADO: O balao fica travado no local, evitando que o jogar explore tão rapido
--telepro.travados[name] = true
--minetest.after(3600, telepro.destravar, name)
-- Finaliza
minetest.chat_send_player(name, S("Balao reivindicado com sucesso"))