Alvarop, I went through all of the code and made sure that image_speed wasn't being set anywhere else. I did find that the during the Create event the idle image sequence had a slower rate than what I was wanting and then continued to play around with what I was actually wanting to code.
After a bit of trial and error I realised that what I was trying to do wasn't even going to be visible since in the previous examples when xspd = 0 idle is played and then when it's > 0 it was at full speed which didn't make sense at all.. :p
Anyways, here's what I've ended up with. I don't know if its bad to have two if statements without an else but it seems to work. Is that okay?
if sprite_index = walk_sprite {
if (xspd < 1.5){
image_speed = 0.2;
}
if (xspd > 1.5){
image_speed = 1;
}
}
Hehe, there you go. I don't wanna give you bad advice, but for now, I think you should worry about making things work the way you want them, for you, and not necessarly doing things "the best way" (which a lot of people have been telling me : there is no right way to do things, only "your" way).
So, if it works, you're doing it the right way
Learn about else if if you really want to change it up a bit more.