объедини 2 скрипта ниже в 1 скрипт. local UIS = game:GetService('UserInputService')
local Character = game.Players.LocalPlayer.Character
local Humanoid = Character:WaitForChild('Humanoid')
local Animations = Instance.new('Configuration', Character)
local TweenService = game:GetService("TweenService")
local CameraInfo = TweenInfo.new(
	0.3,
	Enum.EasingStyle.Quint,  
	Enum.EasingDirection.Out,  
	0,                
	false,         
	0  
)

local CrouchedGoal = {CameraOffset = Vector3.new(Humanoid.CameraOffset.X,-1.9,Humanoid.CameraOffset.Z)}
local UncrouchedGoal = {CameraOffset = Vector3.new(Humanoid.CameraOffset.X,0,Humanoid.CameraOffset.Z)}

local CrouchedTween = TweenService:Create(Humanoid, CameraInfo, CrouchedGoal)
local UncrouchedTween = TweenService:Create(Humanoid, CameraInfo, UncrouchedGoal)
if Humanoid.RigType == Enum.HumanoidRigType.R15 then
	Animations.Name = 'Animations2'
	local CrouchAnimation = Instance.new('Animation', Animations)
	CrouchAnimation.AnimationId = script.R15.Animation.AnimationId --your animation here
	CrouchAnimation.Name = 'CrouchAnimation'
	local LoadCrouchAnimation = Humanoid:LoadAnimation(CrouchAnimation)
	LoadCrouchAnimation.Looped = true
	UIS.InputBegan:Connect(function(Input)
		if Input.KeyCode == Enum.KeyCode.LeftControl and Humanoid.WalkSpeed < 15 then
			if Humanoid.Health > 0 then
				Humanoid.WalkSpeed = 8 -- Crouch speed
				script.Crouching.Value = true
				CrouchedTween:Play()
				Character.HumanoidRootPart.Running.PlaybackSpeed = 0.70
				LoadCrouchAnimation:Play()


				while wait() do
					
					for i, v in pairs(game.Workspace["Forgetten Realms"]:GetDescendants()) do
						if v.Name == "Crouchpart" then
							if script.Crouching.Value == true then
								v.CanCollide = false
							else
								v.CanCollide = true
							end
						end
					end
					
					if Humanoid.MoveDirection.Magnitude > 0 then


						LoadCrouchAnimation:AdjustSpeed(0.7) --<<<You can use LoadCrouchAnimation:AdjustSpeed(1) too.


					else


						LoadCrouchAnimation:AdjustSpeed(0)


					end


				end


			end


		end


	end)


	UIS.InputEnded:Connect(function(Input)


		if Input.KeyCode == Enum.KeyCode.LeftControl and Humanoid.WalkSpeed < 15 then
			script.Crouching.Value = false
			
			UncrouchedTween:Play()
			LoadCrouchAnimation:Stop()


			Character.HumanoidRootPart.Running.PlaybackSpeed = 1


			Humanoid.WalkSpeed = 14-- walk speed
			
		end


	end)
end

сверху 1 скрипт, дальше будет 2 скрипт local Player = game.Players.LocalPlayer
	local Character = workspace:WaitForChild(Player.Name)
		local Humanoid = Character:WaitForChild('Humanoid')
		
local RunAnimation = Instance.new('Animation')
RunAnimation.AnimationId = 'rbxassetid://13721411858'
RAnimation = Humanoid:LoadAnimation(RunAnimation)

Running = false

function Handler(BindName, InputState)
	if script.Parent.Crouch.Crouching.Value == false then
		if InputState == Enum.UserInputState.Begin and BindName == 'RunBind' then
			Running = true
			Humanoid.WalkSpeed = 20
		elseif InputState == Enum.UserInputState.End and BindName == 'RunBind' then
			Running = false
			if RAnimation.IsPlaying then
				RAnimation:Stop()
			end
			Humanoid.WalkSpeed = 14
		end
	end
end

Humanoid.Running:connect(function(Speed)
	if Speed >= 10 and Running and not RAnimation.IsPlaying then
		RAnimation:Play()
		Humanoid.WalkSpeed = 20
	elseif Speed >= 10 and not Running and RAnimation.IsPlaying then
		RAnimation:Stop()
		Humanoid.WalkSpeed = 14
	elseif Speed < 10 and RAnimation.IsPlaying then
		RAnimation:Stop()
		Humanoid.WalkSpeed = 14
	end
end)

Humanoid.Changed:connect(function()
	if Humanoid.Jump and RAnimation.IsPlaying then
		RAnimation:Stop()
	end
end)

game:GetService('ContextActionService'):BindAction('RunBind', Handler, true, Enum.KeyCode.LeftShift)