I tried c_rotate but didn't work
Please... always tell what did not work and why you did not like the result...
c_rotate(my,pan_enemy.pan, NULL);
will add the pan_enemy angles to the current my.pan orientation. You would have to calculate the angle difference (f.i. with ang_diff) or do it as follows:
c_rotate(my,vector(ang(pan_enemy.pan-my.pan)*time_step,0,0), NULL); //or remove time_step, depends on your situation