So for some reason the lookVector seems to be facing in a different direction than the player.
Script:
local Players = game:GetService("Players")
script.Parent.Touched:Connect(function(part)
local Char = part.Parent
local Player = Players:GetPlayerFromCharacter(Char)
if Player then
local Root = Char:WaitForChild("HumanoidRootPart")
Char.PrimaryPart = Root
Char:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(Root.Position.X, workspace.TPPart2.Position.Y, Root.Position.Z), Char.HumanoidRootPart.CFrame.LookVector))
end
end)
Video:
robloxapp-20220320-1257182.wmv (1.2 MB)
Edit: I was able to make it work a bit better by changing it to only tp if the root touches it, although that didn’t fully fix the problem