"> .. <" cases are generally a bad idea in such a time sensitive case.
Using a secondary variable as already suggested is (IMO) the correct approach, I do that too.

Code:
my.anim +...
if(my.anim < 80) my.do_action = 1;
else
{
  if(my.do_action)
  {
    my.do_action = 0;
    ... do something
  }
}



Using fps_min is not the worst idea, in general. I have it set to 15 and I make sure everything works fine (including flying projectiles/ movement/ moving platforms/ ...) at that low framerate, and with fps_min the code and gameplay will work on all systems with a non-zero FPS that way.

Btw. if you really need something to start at let's say (anim == 80), then increase it to that value first (with a limit to 80), then do your action and continue up to 100 after that.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends