action follower()
{
while(!player){wait(1);}
//////////
c_setminmax(my);
vec_fill(my.min_x,-24);
vec_fill(my.max_x,24);
//////////
VECTOR temp,temp2;
while(1)
{
draw_point3d(player.x,COLOR_RED,50,10);
//////////
ent_path_get_target(my,player.x,temp);
ent_path_draw(my);
//////////
temp.z = my.z;
if(vec_dist(temp,my.x) > 16)
{
vec_diff(temp2,temp,my.x);
vec_to_angle(temp,temp2);
my.pan += ang(temp.x-my.pan)*0.5*time_step;
result = c_move(me,vector(maxv(10-0.1*abs(ang(temp.x-my.pan)),0)*time_step,0,0),nullvector,IGNORE_ME|IGNORE_PASSABLE|GLIDE);
c_trace(my.x,vector(my.x,my.y,-1000),IGNORE_ME);
my.z += (target.z+55-my.z)*0.5*time_step;
}
wait(1);
}
}