#Shift to sprint

3 messages · Page 1 of 1 (latest)

mighty nexus
#

local player = game.Players.LocalPlayer
local char = player.Character
local UIS = game:GetService("UserInputService")
local stamina = 250
local isRunning = false
local isMoving = false
local isMovingW = false
local isMovingA = false
local isMovingS = false
local isMovingD = false
local pressingShift = false
local runW = false
local runA = false
local runS = false
local runD = false

stamina = math.clamp(stamina, 0, 250)

--MovingW
UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
isMovingW = true
print("isMovingW")
if isMovingD == true or isMovingS == true or isMovingA == true or isMovingW == true then
isMoving = true
end
end
end)

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
isMovingW = false
print("StopMovingW")
if isMovingD == false and isMovingS == false and isMovingA == false and isMovingW == false then
isMoving = false
isRunning = false
print("Not moving")
end
end
end)

--MovingA
UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.A then
isMovingA = true
print("isMovingA")
if isMovingD == true or isMovingS == true or isMovingA == true or isMovingW == true then
isMoving = true
end
end
end)

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.A then
isMovingA = false
print("StopMovingA")
if isMovingD == false and isMovingS == false and isMovingA == false and isMovingW == false then
isMoving = false
isRunning = false
print("Not moving")
end
end
end)

#

--Moving S
UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.S then
isMovingS = true
print("isMovingS")
if isMovingD == true or isMovingS == true or isMovingA == true or isMovingW == true then
isMoving = true
end
end
end)

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.S then
isMovingS = false
print("StopMovingS")
if isMovingD == false and isMovingS == false and isMovingA == false and isMovingW == false then
isMoving = false
isRunning = false
print("Not moving")
end
end
end)

--MovingD
UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.D then
isMovingD = true
print("isMovingD")
if isMovingD == true or isMovingS == true or isMovingA == true or isMovingW == true then
isMoving = true
end
end
end)

#

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.D then
isMovingD = false
print("StopMovingD")

    if isMovingD == false and isMovingS == false and isMovingA == false    and isMovingW == false then
        isMoving = false
        isRunning = false
        print("Not moving")
    end
end

end)

UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift then
if isMoving == true then
isRunning = true
print(isRunning)

        if isRunning and isMoving then
        char.Humanoid.WalkSpeed = 28

        while stamina > 0 and isRunning and isMoving do
            stamina = stamina -1
            script.Parent:TweenSize(UDim2.new(stamina/250, 0, 1, 0), "Out", "Linear" ,0)
            wait()
            if stamina <= 0 then
                    char.Humanoid.WalkSpeed = 16
                    
                end
            end
        end
    end
end

end)

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift then
if isMoving == false then
isRunning = false
char.Humanoid.WalkSpeed = 16

        while stamina < 250 and isRunning == false do
            stamina = stamina +0.5
            script.Parent:TweenSize(UDim2.new(stamina/250, 0, 1, 0), "Out", "Linear",0)
            wait()
            if stamina == 0 then
                char.Humanoid.WalkSpeed = 16
                
            end
        end
    end
end

end)