For the screen with the phone: Try putting the animate.obj command at the head of the block defining the object. Also, put the stop.cycling command before you draw the object. That will prevent the door from maybe showing a different cel the next time you enter the room. Also, try to make the door always be drawn, not only when the player comes from room 3.
if (isset(f5)) {
load.pic(v0);
draw.pic(v0);
discard.pic(v0);
if (v1 == 3) {
position(o0,7,137);
}
if (v1 == 16) {
position(o0,105,125);
status.line.on();
accept.input();
}
animate.obj(o1);
load.view(28);
set.view(o1,28);
position(o1,98,121);
stop.cycling(o1);
draw(o1);
status.line.on();
accept.input();
draw(o0);
show.pic();
}
For the other door: Put animate.obj in front of the other commands for the door, and put stop.cycling before draw. If this doesn't work, there might be a problem with the control lines on your image and the door. In that case try moving the door a bit, or make the black control line in your picture blue and add ignore.blocks to your door.
if (isset(f5)) {
load.pic(v0);
draw.pic(v0);
discard.pic(v0);
set.horizon(0);
animate.obj(o1);
load.view(27);
set.view(o1,27);
position(o1,111,127);
stop.cycling(o1);
draw(o1);
if (v1 == 19) {
position(o0,70,167);
status.line.on();
accept.input();
}
if (v1 == 21) {
position(o0,116,129);
status.line.on();
accept.input();
}
draw(o0);
show.pic();
}
Hope that helped!
Zonkie