You need to use the relative direction vector (local coordiantes, rotation coordinates) not the absoulte direction vector (world coordinates).

Here is a little action that provides a traditional FPS style movement...

Code:
action act_player()
{
var vec_player_movement[3];
var player_speed = 4;
var player_eye_height = 30;
player = me;

while(player!= NULL)
{	
my.pan -= mouse_force.x*player_speed*time_step;
camera.tilt += mouse_force.y*player_speed*time_step;
camera.pan = my.pan;
camera.tilt = clamp(camera.tilt,-70,70);

vec_player_movement[0] = player_speed * (key_w - key_s)* time_step;
vec_player_movement[1] = player_speed * (key_a - key_d)* time_step;
     			
c_move(me,vec_player_movement,nullvector,GLIDE);
vec_set (camera.x,player.x);
camera.z += player_eye_height;
	
wait(1);
}
}


Enjoy...

Last edited by DJBMASTER; 11/06/08 21:32.