Melhorias diversas
parent
e09af0bfe7
commit
c589863ba3
11
bau.lua
11
bau.lua
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
1
init.lua
1
init.lua
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
18
ir_balao.lua
18
ir_balao.lua
|
@ -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
|
||||
|
||||
|
|
|
@ -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"),
|
||||
}
|
||||
|
|
|
@ -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"))
|
||||
|
|
Loading…
Reference in New Issue