Hallo darci,

ich habe Dir einmal etwas aufgeschrieben. Soll als Beispiel dienen.

Code:
 
define move_x,skill1;
define move_y,skill2;
define move_z,skill3;

var player_speed[3];

entity* waffe;

function player_waffe
{
waffe = my;
my.passable = on;
proc_late();
WHILE (you != null)
{
vec_for_vertex(temp.x,you,361); // Vertex der Hand
vec_set(my.x,temp.x); // Waffe auf Vertex der Hand setzen
my.pan -= (20 * mouse_force.x * time) * 0.5; // Drehgeschwindigkeit
my.pan = clamp(my.pan,you.pan-90,you.pan+90); // Winkel der Waffe begrenzen
wait(1);
}
}

function Camera_Pos()
{
camera.genius = player;
vec_set(camera.x,my.x); // Kamera Player folgen lassen
vec_set(camera.pan,waffe.pan); // Kamera in Waffensichtrichtung drehen
}

action player_test()
{
player = my;
ent_create("waffe.mdl",my.x,player_waffe); // Hier die Waffe angeben
while(1)
{
vec_set(my.move_x,nullvector); // Vektoren auf null setzen
vec_set(player_speed.x,nullvector); // Vektoren auf null setzen
player_speed.x = 10 * (key_w - key_s) * time_step; // Nach vorne und zurück bewegen
player.pan += 8 * (key_a - key_d) * time_step; // Drehung über pan-Winkel
temp.y = player_speed.x; // Playergeschwindigkeit zuweisen
temp.x = player.pan; // Playerwinkel zuweisen
my.move_x = fcos(temp.x,temp.y); // Entfernungsbewegung in Abhängigkeit des Winkels und der Geschwindigkeit
my.move_y = fsin(temp.x,temp.y); // Entfernungsbewegung in Abhängigkeit des Winkels und der Geschwindigkeit
c_move(my,player_speed.x, nullvector,use_box | ignore_me | glide | ignore_passable | ignore_passents); // Bewegung des Players
Camera_Pos(); // Kamera Bewegung
wait(1);
}
}



Vielleicht hilft Dir das etwas. Ansonsten kannst Du Dich ja noch einmal melden.