The video explains everything
game:GetService("UserInputService").InputBegan:Connect(function(Input, gameProccesed)
if (Input.KeyCode == Enum.KeyCode.LeftShift) and Parent:FindFirstChild("Humanoid") and Humanoid.Health > 0 and Humanoid.WalkSpeed ~= 0 and not gameProccesed and script.SprintLock.Value == false then
TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
FieldOfView = 80
}):Play();
Humanoid.WalkSpeed = 23
local signal = Humanoid:GetPropertyChangedSignal("MoveDirection")
connection = signal:Connect(function()
if Humanoid.MoveDirection.Magnitude > 0 and Humanoid.WalkSpeed == 23 then
if not Sprint.IsPlaying then
Sprint:Play(.2)
else
return
end
elseif Humanoid.MoveDirection.Magnitude <= 0 then
Sprint:Stop(.25)
end
end)
Sprinting = true;
while stamina > 0 and Sprinting == true do
stamina = stamina - 1
script.Parent:TweenSize(UDim2.new(stamina/ 100, 0, 1, 0), "Out", "Linear", 0)
task.wait()
if stamina == 0 then
TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
FieldOfView = 70
}):Play();
connection:Disconnect()
Humanoid.WalkSpeed = 16
Sprint:Stop(.25)
Sprinting = false;
end
end
end;
end);
game:GetService("UserInputService").InputEnded:Connect(function(Input)
if (Input.KeyCode == Enum.KeyCode.LeftShift) and Parent:FindFirstChild("Humanoid") and Humanoid.Health > 0 and Humanoid.WalkSpeed ~= 0 then
TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
FieldOfView = 70
}):Play();
connection:Disconnect()
Humanoid.WalkSpeed = 16
Sprint:Stop(.25)
Sprinting = false;
while stamina < 100 do
stamina = stamina + 1
script.Parent:TweenSize(UDim2.new(stamina/ 100, 0, 1, 0), "Out", "Linear", 0)
task.wait()
if stamina == 0 then
TweenService:Create(workspace.CurrentCamera, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
FieldOfView = 70
}):Play();
connection:Disconnect()
Humanoid.WalkSpeed = 16
Sprint:Stop(.25)
Sprinting = false;
end
end
end;
end);