While the ideas for my code were in the right place, the previous code for movement needed more clarification. At the suggestion of my tutor, I remade the script for movement.
I kept the basic ideas for switching direction and movement, while instead of using axis for sneaking, running, I used buttons instead. This made for a smoother experience, however I do have a small bug, which would not change the speed to the original walking value, but I went around it, by also creating a button for the respective speed.
I do have a video for this code as to demonstrate the functionality of the mechanics., besides the UmLet and Code itself.