I am attmepting to make a rope swing for my Indinana jones game and I am able to succesfully create constraints. I have the script create a rope constraint between two parts, one is the pole that they swing from and the other is a invisible part called WhipBase. I then weld the WhipBase to the players hands. The issue that occurs is when the rope is attached my players hand the whole arm gets pulled back and the character then hangs with one arm all the way back.

AttachRopeAnimTrack = whipCharacter.Humanoid:LoadAnimation(AttachRopeAnim)
	AttachRopeAnimTrack.Looped = false
	
	AttachRopeAnimTrack:Play()
	
	player.Character.Humanoid.WalkSpeed = 0
	player.Character.Humanoid.JumpPower = 0
	
	wait(1)
	
	WhipBrickAttachmentClone = WhipBrickAttachment:Clone()
	WhipBrickAttachmentClone.Parent = whipObject
	WhipBrickAttachmentClone.Transparency = 0
	
	wait(1)
	
	AttachRopeAnimTrack:AdjustSpeed(0)
	
	wait(.5)
	
	player.Character.Humanoid.WalkSpeed = 16
	player.Character.Humanoid.JumpPower = 50
	
	player.Character.LeftHand.CanCollide = false
	player.Character.RightHand.CanCollide = false
	
	WhipBase = game:GetService("ReplicatedStorage").WhipBase:Clone()
	WhipBase.Parent = workspace
	
	local Weld1 = Instance.new("Weld",WhipBase)
	Weld1.Part0 = WhipBase
	Weld1.Part1 = whipCharacter.LeftHand
	Weld1.C0 = WhipBase.CFrame
	Weld1.C1 = whipCharacter.LeftHand.CFrame 
	
	local Weld2 = Instance.new("Weld",WhipBase)
	Weld2.Part0 = WhipBase
	Weld2.Part1 = whipCharacter.RightHand
	Weld2.C0 = WhipBase.CFrame
	Weld2.C1 = whipCharacter.RightHand.CFrame
	
	RopeConstraint = Instance.new("RopeConstraint",whipObject)
	RopeConstraint.Visible = true
	RopeConstraint.Color = BrickColor.new("Burnt Sienna")
	RopeConstraint.Length = defaultRopeLength.Value
	
	attachment0 = Instance.new("Attachment",whipObject)
	attachment0.Name = "Attachment0"
	
	attachment1 = Instance.new("Attachment",whipCharacter.HumanoidRootPart)
	attachment1.Name = "Attachment1"
	
	RopeConstraint.Attachment0 = attachment0
	RopeConstraint.Attachment1 = attachment1