yep. It helped a little bit. Than I had an idea and used something like this:

action open_bar_door()
{
while (1)
{
if(vec_dist (hrac.x, my.x) < 200)
{
my.skill1+=7*time_step;
ent_animate(my,"open",my.skill1,NULL);
}
else
{
my.skill1-=7*time_step;
ent_animate(my,"open",my.skill1,NULL);
}

if(my.skill1>=100)
my.skill1=100;
if(my.skill1<=0)
my.skill1=0;

wait (1);
}
}

But the idea was your. I am ashamed that hadnt found out this alone laugh
Thanks for advice.