Need help with positioning

I have a tool, whenever the player clicks it a part shoots off to where the mouse is aiming out in the workspace, and once that part touches a another part in the workspace, it will make the player teleport to that part position. My problem is whenever the player starts to teleport to the part, the player would not teleport to the part but appear on the ground as shown in the video.

Also the Part orientation gets messed up during the process going in the wrong direction in the first click of the mouse, what am i doing wrong?
https://gyazo.com/920a1eaee5747ae123b597a9600bd96f

Here’s the code.

	warpcloned.Parent = game.Workspace
	force.Parent = warp
	warpcloned.CFrame = (tool.Handle.part.CFrame * CFrame.new(0,0,-2.25))
	force.MaxForce = Vector3.new(95000,95000,95000)
	force.Velocity = CFrame.new(tool.Handle.part.Position,mouseaim).lookVector * 55
	warpcloned.CFrame = player.Character:FindFirstChild("SwordStrike").Handle.part.CFrame
	local Rotation2 = player.Character:FindFirstChild("Right Arm").Orientation
	warpcloned.Orientation = Rotation2
	warpcloned.CanCollide = false
	wait(00.9)
	warpcloned.CanCollide = true
	warpcloned.Touched:Connect(function()
		print("touched")
		warpcloned.Anchored = true
			player.Character.Torso.Position = warpcloned.Position
			wait()
			player.Character.Torso.Anchored = false
	end)

You need to use CFrame instead of changing the position, otherwise it gets buggy. Change this line:

with this:

player.Character:SetPrimaryPartCFrame(CFrame.new(warpcloned.Position))

Tell me if it works for you

Before teleporting character make a wait()

this is the end result https://gyazo.com/a496ea4ca1cb6944f3a8b47b0377dcb0 and it seems like it still throws me off. One thing i found out is that, whenever the part gets touched by another parts, the part ends up getting stuck inside the part that it touched? I dont know how that happened, and also the player torsos gets stuck in the part that it touched, making the player fling to the ground.

So you’re CFraming your character to the Position of the warpcloned Part? If that Part ends up in another Part then that’s where you’re Position is.
Try making the goal Position a few studs short of that Position.

how would get the CFrame goal position?

@Scepter_ofDarkness may be able to help with the formula for this with their CFrame line of code:
player.Character:SetPrimaryPartCFrame(CFrame.new(warpcloned.Position))

2 Likes