[ create a new paste ] login | about

Link: http://codepad.org/ZKkU16j6    [ raw code | fork ]

Lua, pasted on Oct 16:
-- HACK: SetPos does not ensure that the position wont be modified again by the gamemovement.
-- There is currently no ENTITY:Teleport binding.
TELEPORT_QUEUE = {}

hook.Add("FinishMove", "LambdaTeleport", function(ply, mv)
	local tpData = TELEPORT_QUEUE[ply]
	if tpData ~= nil then
		ply:SetPos(tpData.Pos)
		ply:SetAngles(tpData.Angles)
		TELEPORT_QUEUE[ply] = nil
		return true
	end 
end)

local function TeleportPlayer(ent, pos, ang, vel)

	-- Mimic IncrementInterpolationFrame, we just make sure we call the things at the right time.
	local data = {}
	data.Pos = pos
	data.Angles = ang
	data.Velocity = vel
	data.Ent = ent
	TELEPORT_QUEUE[ent] = data

end


Create a new paste based on this one


Comments: