Probier mal das, hab ich allerdings nicht getestet:

Code:
1   function turm_action()
2 {
3 turm = my;
4
5 while(1) {
6
7 vec_set(my.x, player.x);
8 vec_set(my.pan, player.pan);
9 ang_add(my.pan, vector((camera_view.pan+180-player.pan),0,0));
10
11 wait(1);
12 }
13
14 }



Das Prinzip ist folgendes: du setzt den Turm auf die Position des Panzers (Z.7), dann drehst du den Turm wie den Panzer (Z.8). In Zeile 9 addierst du dann auf die Turmrotation (pan) ein offset. Ich habe jetzt die Formel (camera_view.pan+180-player.pan) benutzt aber das ist wahrscheinlich so nicht richtig. Besser wäre es, wenn du eine einfache offset Variable benutzt, die du dann durch die Mausbewegung veränderst. Also sowas wie offset += mouse_force.x * 5 * time_step; oder so. Ich hab in dein Skript auch etwas ersetzt, nämlich einige Zeilen durch vec_set. Damit lässt sich der Code vereinfachen. Solche my.x = you.x; Orgien plustern den code nur auf.

Probiere das einfach mal aus und versuche das mit der offset Variable.