Yeah that's what I've done now (at least I think I've done) My state now looks like this:

Code:
if(my.STATE == 4)
		{
			var jump_percentage = 0;
			while(jump_percentage < 100)
			{
				movedir.z = -jumpacc;
				ent_animate(my,"jump",jump_percentage,0);
				jump_percentage += 10*time_step;
				wait(1);
			}
			if(!key_space)
			{
				my.STATE = 1;
			}
		}



The "movedir.z = -jumpacc;" is the actual jump code. But I'm getting the same results. It runs through the jump animation first, then raises and lowers the player, instead of doing them both at the same time.


"To one who has faith, no explanation is necessary. To one without faith, no explanation is possible." - St. Thomas Aquinas