You have to convert the mouse position to the 3D world position first...then you should turn the model so that it points to the position and move it relatively.
Could be like this.
Code:
while(1)
{
mouse_mode = 4;
mouse_range = 10000;
mouse_map = IM_MOUSE;
mouse_pos.x = mouse_cursor.x;
mouse_pos.y = mouse_cursor.y;
Temp1[0] = mouse_pos.x;
Temp1[1] = mouse_pos.y;
Temp1[2] = 50;
vec_for_screen(Temp1,camera);
Temp2[0] = mouse_pos.x;
Temp2[1] = mouse_pos.y;
Temp2[2] = 5000;
vec_for_screen(Temp2,camera);
c_trace(Temp1,Temp2,IGNORE_PASSABLE | IGNORE_YOU);
target.z += 30;
vec_set(my.Target_X,target.x);
if(vec_dist(my.x,my.Target_X) > 14)
{
my.skill1 = 5*time_step;
}
vec_diff(Temp,my.Target_X,my.x);
Temp[2] = 0;
vec_to_angle(my.pan,Temp);
}
Temp1 und Temp2 sind globale Vektoren.