added /goto

master
cale 2016-05-15 11:58:31 +02:00
parent 93caa5e776
commit e6dbe7d05d
3 changed files with 25 additions and 0 deletions

View File

@ -73,6 +73,21 @@ minetest.register_chatcommand("lobby", {
end,
})
minetest.register_chatcommand("goto", {
params = "",
description = "Goto level",
func = function(name, param)
local player = minetest.get_player_by_name(name)
if not player then
return false, "Player not found"
end
teleport.players[name] = tonumber(param)-1 or 0
creative.play(player)
teleport.back(player)
return true, "Done."
end,
})
if minetest.setting_getbool("creative_mode") then
-- Place node at player pos

View File

@ -24,6 +24,11 @@ function teleport.lobby(player)
player:setpos({x = 0, y = 100, z = 0})
end
function teleport.set_level(player, p)
local name = player:get_player_name()
teleport.players[name] = math.floor(p.x/50+0.5) or teleport.players[name]
end
function teleport.new_player(name)
teleport.players[name] = 0
end

View File

@ -229,6 +229,11 @@ else
if node and node.name == "levelnodes:finishline" then
teleport.tp(player)
end
-- is on startline
if node and node.name == "levelnodes:startline" then
teleport.set_level(player, vector.new(pos.x, pos.y-1, pos.z))
end
end
end)
end