You'll have to make two (or more) loops
Loop no 0: bird does nothing
Loop no 1: bird does animation
Then:
#define bird o1
#define bird_is_doing_animation f100
#define bird_end_of_loop f101
//blabla
animate.obj(bird);
set.view(bird,no);
//blabla
if (!isset(bird_is_doing_animation)){
random(0,20,v100);
if(v100==0){
set(bird_is_doing_animation);
set.loop(bird,1);
set.cel(bird,0);
start.cycling(bird);
end.of.loop(bird,bird_end_of_loop);
}
}
if (isset(bird_end_of_loop)){
reset(bird_is_doing_animation);
set.loop(bird,0);
}
//blabla
return();
So the first if-block picks a random number between (inc.) 0 and 20.
When the random number is 20 (1 chance out of 21) the bird object will be set in loop number 1 and animate until it reaches the last cel (bird_end_of_loop will then be set).
The second if-block will test if bird_end_of_loop is set, if so, it will reset the bird_is_doing_animation flag and put the bird back again in loop number 0.
Something like that???