Something like that:
action keep_me_in_dist()
{
my.skill1 = handle(you); // get the pointer from somewhere
while(1)
{
you = ptr_for_handle(my.skill1);
vec_set(my.skill2,vector(20,33,5)); // play with these values
vec_rotate(my.skill2,you.pan);
vec_add(my.x,my.skill2);
wait(1);
}
}
The offset is depended from the "another" entities angle; if you dont want that, remove the vec_rotate.