The script works but if you press the key to uncrouch, you will lose your legs. Any way to fix that? By the way, the script is a chunk of the main script which handles crouching. If you need to see the main script, just ask. Your legs do not come off, but go through the floor and you still have them but they're in the floor.
function Crouch()
if sprinting.Value then
ResetSprint()
end
while crouching.Value do
if player.Character.Humanoid.WalkSpeed == 16 then
player.Character.Humanoid.WalkSpeed = 8
end
if player.Character.Torso.Velocity.magnitude > 3 then
character.Animate.Disabled = true
if not crouching.Value then break end
ting = 0
character.Torso:findFirstChild("Left Shoulder").DesiredAngle = -math.pi/4
character.Torso:findFirstChild("Right Shoulder").DesiredAngle = -math.pi/4
character.Torso:findFirstChild("Left Shoulder").MaxVelocity = 0.1
character.Torso:findFirstChild("Right Shoulder").MaxVelocity = 0.1
repeat
if not crouching.Value then break end
welds[1].C1 = (welds[1].C1+Vector3.new(0,-6/80,10/80))*CFrame.fromEulerAnglesXYZ(math.rad(10),0,0)
welds[2].C1 = (welds[2].C1+Vector3.new(0,6/80,-10/80))*CFrame.fromEulerAnglesXYZ(math.rad(-10),0,0)
ting = ting + 1
if player.Character.Torso.Velocity.magnitude > 1 then
wait(1/15)
else
wait()
end
until ting == 8
ting = 0
character.Torso:findFirstChild("Left Shoulder").DesiredAngle = math.pi/4
character.Torso:findFirstChild("Right Shoulder").DesiredAngle = math.pi/4
character.Torso:findFirstChild("Left Shoulder").MaxVelocity = 0.1
character.Torso:findFirstChild("Right Shoulder").MaxVelocity = 0.1
repeat
if not crouching.Value then break end
welds[2].C1 = (welds[2].C1+Vector3.new(0,-6/80,10/80))*CFrame.fromEulerAnglesXYZ(math.rad(10),0,0)
welds[1].C1 = (welds[1].C1+Vector3.new(0,6/80,-10/80))*CFrame.fromEulerAnglesXYZ(math.rad(-10),0,0)
ting = ting + 1
if player.Character.Torso.Velocity.magnitude > 3 then
wait(1/15)
else
wait()
end
until ting == 8
else
character.Animate.Disabled = false
end
wait()
end
character.Animate.Disabled = false
end

2 comments
Your welds are probably breaking somewhere. I'm not sure where, though.
Any cFrame experts out there?