As a matter of fact, I use time_step for each kind of action. One part of the code is like this:
//standing
int exec_seconds = 3;
int start_sec = sys_seconds;
while (1)
{
ent_animate(guard,"stand",auto_play_percentage, ANM_CYCLE);
auto_play_percentage += 3 * time_step;
if((start_sec + exec_seconds) % 60 == sys_seconds)
break;
wait(1);
}
All the other movement code is similar to the above one.