slacer's way is very good.

If you use my find the vec for path node from my old post and the last time we talked about paths , you can

Make leader looks at node, follower A looks at Leader_node-1, follower B looks at Leader_node -2, follower C looks at Leader_Node -3.


Slacer's Way

Code:
action leader ()
{
Leader = my;
 .. .find path , follow path
} 

action follower_a() 
{
 Follower_A =my;
while(x)
{
 if(Leader.on_path == 1)
 {
   if( vec_dist(my,Leader) > 50 )
     { 
       vec_to_ang( to look at LEADER); 
       c_move(....);
      } 
   } 
wait(1);
}

action follower_b() 
{
 Follower_B =my;
while(x)
{
 if(Leader.on_path == 1)
 {
   if( vec_dist(my,Follower_A) > 50 )
     { 
       vec_to_ang( to look at Follower_A);
       c_move(....);
      } 
   } 
wait(1);
}
action follower_c() 
{
 Follower_C =my;
while(x)
{
 if(Leader.on_path == 1)
 {
   if( vec_dist(my,Follower_B) > 50 )
     { 
       vec_to_ang( to look at Follower_B); 
       c_move(....);
      } 
   } 
wait(1);
}