R15 bounces off the ground after ragdoll knockback

Hello guys, I need help with my ragdoll module script. My problem is when I knockback the NPC, it bounces off the ground right after the ragdoll finishes. Is there any way to fix it? or is there any other good R15 ragdoll module script?

Btw I’ve unanchored the humanoidrootpart of the model to allow it from getting knockbacked

Video:
https://i.gyazo.com/ca195581984c5dab68cc1badf6ee01e1.mp4

The module script that i use:

function MakeBallConstraint(Motor)
	local Att1, Att2 = Instance.new("Attachment"),Instance.new("Attachment")
	Att1.Name = 'DestroyMe'
	Att2.Name = 'DestroyMe'	
	Att1.CFrame = Motor.C0
	Att2.CFrame = Motor.C1
	Att1.Parent = Motor.Part0
	Att2.Parent = Motor.Part1
	
	local BallJoint = Instance.new('BallSocketConstraint')
	BallJoint.Attachment0 = Att1
	BallJoint.Attachment1 = Att2
	BallJoint.Parent = Motor.Parent	
end

function RagDoll(Character,truefalse)
	if truefalse then
		for i,v in pairs(Character:GetDescendants()) do
			if v:IsA('Motor6D') then
				
				MakeBallConstraint(v)
				v.Enabled = false
				
			elseif v:IsA('BasePart') and v.Name ~= 'LowerTorso' and v.Name ~= 'HumanoidRootPart' and v.Name ~= 'ExtraRightHand' and v.Name ~= 'Lefthand' and v.Name ~= 'RightHand' and v.Name ~= 'LeftFoot' and v.Name ~= 'RightFoot' and v.Name ~= 'LeftLowerLeg' and v.Name ~= 'RightLowerLeg' and v.Name ~= 'LeftLowerArm' and v.Name ~= 'RightLowerArm'  and v.Name ~= 'Head' then
				local Touchy = Instance.new("Part")
				Touchy.Name = 'Touchy'
				Touchy.CanCollide = true
				Touchy.Transparency = 1
				Touchy.Massless = true
				Touchy.Size = Vector3.new(0.1,0.1,0.1)
				
				
				local Weld = Instance.new('Weld')
				Weld.Part1 = Touchy
				Weld.Part0 = v
				Weld.Parent = Touchy
				
				Touchy.Parent = Character
			end
		end
		Character.Humanoid.PlatformStand = true -- stun player, make them unable to move around
		
	
	
	elseif not truefalse then
		for i,v in pairs(Character:GetDescendants()) do
			if v:IsA('BallSocketConstraint') then
				v:Destroy()
			elseif v:IsA('BasePart') and v.Name == 'Touchy' then
				v:Destroy()
			elseif v:IsA('Attachment') and v.Name == 'DestroyMe' then
				v:Destroy()
			elseif v:IsA('Motor6D') then
				v.Enabled = true
			end			
		end
		wait(0.5)
		Character.Humanoid.PlatformStand = false 
	end
end

return RagDoll

Any help would be appreciated! Thanks

I had this problem before, what I did was set the humanoidrootpart CFrame so it stands up and now it never flings.

ohh when should i set the CFrame of the humrootpart? after the knockback?

I set it after the ragdoll finished.