Advertisement
HowToRoblox

StaminaBarHandler

Oct 7th, 2020
10,661
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.07 KB | None | 0 0
  1. local bar = script.Parent
  2.  
  3. local stamina = 100
  4. local staminaRate = 1
  5.  
  6.  
  7. local plr = game.Players.LocalPlayer
  8. local char = plr.Character or plr.CharacterAdded:Wait()
  9.  
  10. local humanoid = char:WaitForChild("Humanoid")
  11.  
  12.  
  13. local isSprinting = false
  14.  
  15.  
  16. local uis = game:GetService("UserInputService")
  17.  
  18.  
  19. uis.InputBegan:Connect(function(key, gameProcessed)
  20.    
  21.     if gameProcessed or stamina == 0 then return end
  22.    
  23.    
  24.     if key.KeyCode == Enum.KeyCode.LeftControl then
  25.        
  26.         isSprinting = not isSprinting
  27.        
  28.         if isSprinting then
  29.             humanoid.WalkSpeed = 20
  30.         else
  31.             humanoid.WalkSpeed = 16
  32.         end
  33.     end
  34. end)
  35.  
  36.  
  37. while wait() do
  38.    
  39.        
  40.     if stamina == 0 and isSprinting then
  41.        
  42.         isSprinting = false
  43.         humanoid.WalkSpeed = 16
  44.     end
  45.    
  46.    
  47.     if isSprinting and humanoid.MoveDirection.Magnitude > 0 then
  48.        
  49.         stamina = stamina - 1
  50.         wait(staminaRate)
  51.        
  52.     else
  53.         stamina = stamina + 1
  54.         wait(staminaRate)
  55.     end
  56.    
  57.    
  58.     stamina = math.clamp(stamina, 0, 100)
  59.    
  60.     bar:TweenSize(UDim2.new((1/100) * stamina, 0, 1 ,0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 0.5)
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement