I am trying to use a while loop for my script that is supposed to deplete the stamina bar for my run script (yes i know i can use toolbox, but i like making things myself). When I start running, the while loop is supposed to start and stop when I stop running, though it doesn't do anything. While loops I'm talking about: (also it's in local script)
while wait(0.05) and depleteStamina do
if stamina == 0 then
print("stamina0")
depleteStamina = false
script.Parent.Humanoid.WalkSpeed = 10
else
print("staminaD")
stamina = stamina - 1
end
print(stamina)
staminaBar.Size = UDim2.new(staminaBarMW / (mstamina / stamina), 0, staminaBar.Size.Y.Scale, 0)
end
while wait(0.25) and not depleteStamina do
if stamina <= 0 then
wait(0.75)
stamina = 1
elseif stamina ~= 100 then
print("staminaR")
stamina = stamina + 1
end
print(stamina)
staminaBar.Size = UDim2.new(staminaBarMW / (mstamina / stamina), 0, staminaBar.Size.Y.Scale, 0)
end
run part of the script if needed:
UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift or input.KeyCode == Enum.KeyCode.RightShift and stamina > 0 then
script.Parent.Humanoid.WalkSpeed = 16
depleteStamina = true
print("run ", depleteStamina)
end
end)
UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.LeftShift or input.KeyCode == Enum.KeyCode.RightShift then
script.Parent.Humanoid.WalkSpeed = 10
depleteStamina = false
print("no run ", depleteStamina)
end
end)
I have tried moving the wait(0.05) part outside of the condition statement, putting prints to detect if it actually did go into the loop (it didn't) and using breakpoints in the run part to debug and see if the depleteStamina variable was true (it was). I also tried removing the depleteStamina variable entirely from the condition statement (without putting it into the if statement), in which case it did work. I have also noted that on the regenerate stamina while loop, it works until I run and doesn't work even after I stop running. I have no idea what could be wrong, or if I missing anything. Help is appreciated.
