- Home /
Value not changing back to where its supposed to...
I worked on a Script that gives the Player a ,,Sprint Bar". When the Player sprints the Bar will get empty, once the Player is not sprinting anymore and 3 seconds have passed the Bar slowly refills up again.
Now... the problem is as i tried to effect the movement speed when the Bar (or here called RushValue) reaches 0.
Everything works for the first time the Bar is depleted, but once it goes back up from 0 the Player doesnt get his original Sprint Speed back and is stuck at his normal movement speed. Which i dont understand because i stated ,,if the RushValue is above 0 make the Sprint Speed equal to the SprintSpeed but if its less or equal than 0 make the Sprint Speed equal to the normal Movement Speed"
Heres the part of the Code that limits the Speed:
public float RushValue = 100f;
public bool CanRush;
public int RushSwitch;
// Use this for initialization
void Start () {
RushSwitch = 1;
}
// Update is called once per frame
void Update () {
if (RushValue >= 1f)
CanRush = true;
else
CanRush = false;
if (RushSwitch >= 1)
EdgeReaperStats.RunSpeed = EdgeReaperStats.RunSpeed;
if (RushSwitch <= 0)
EdgeReaperStats.RunSpeed = EdgeReaperStats.Speed;
if (CanRush == true)
RushSwitch = 1;
else
RushSwitch = 0;
}
It's very Simple, yet it isnt working properly. Wheres my fault?
Btw, if youre confused about why theres a Rush Switch, it's there because for some reason if i use the actual bool to control the speed, it gets uninteractable and is stuck in 1 state. It's basiccly the bool in int format (1 = true | 0 = false)
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
C# Question Regarding If Statement Errors, Booleans 1 Answer
Scavenger Hunt List Bools Question 1 Answer
IF Statement Being Ignored 3 Answers