This is a bit hard to explain. Ultimately, your issue is you are resetting your globals to zero constantly, but you are expecting the Running value to be maintained ***from the last iteration***. Running is only set when the down-arrow is NOT down, but Sliding is only set when the down-arrow IS down - you can't have both at once (the way you've done things).
Ultimately the reset-globals can't work as if you ever needed a global later on as you build up you game, it will constantly be reset to zero!
Typically a state-machine has a single variable and you change the value based on the state, since you can't be Standing and Running and Jumping, etc. all at the same time. Your odd case is you want to know that you were running previously, and then you want to switch to the sliding state. The rest are not based on history.
Maybe give that a try.