Your “part” that you teleport to “humanoidrootpart” may be collision-prone, so the torso crashes into the “part” and turns it around. I hope I made myself clear.
you could go like this:
local target = script.Parent:WaitForChild(“humanoidRootPart”)
local part = game.Workspace.Part
part.Position = target.Position + Vector3.new(0,3,0)