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