I think I know what you want.
Here is an easy player script, you can run with shift.

Copy, past everything and give you`re player in WED the action "my_player".

Code:
//////////CAMERA//////////

function player_camera()
{
	var allow_smooth_cam = 1;
	var camera_z_lerp = 0;
	var camera_smooth = 0.9; 
	var camera_height = 40; 
	VECTOR cam_pos;
	camera.pan -= 0.5 * mickey.x;
	camera.tilt -= 0.5 * mickey.y;
	camera.tilt = clamp(camera.tilt, -90, 90);
	player.pan = camera.pan;
	vec_set(cam_pos.x, vector(0, 0, camera_height));
	vec_rotate(cam_pos.x, my.pan);
	vec_add(cam_pos.x, my.x);
	if(allow_smooth_cam == 0){
		vec_set(camera.x, vector(cam_pos.x, cam_pos.y, cam_pos.z));
	}
	else{
		vec_set(camera.x, vector(cam_pos.x, cam_pos.y, camera.z));
		camera_z_lerp = camera_smooth * time_step;	
		camera.z -= (camera.z - cam_pos.z) * camera_z_lerp;	
	}
}

//////////Player////////// add this to you`re player in WED
action my_player()
{
	var speed_down = 10;   
	VECTOR vFeet;
	vec_for_min(vFeet,me); 
	player = my;

	wait(1);
	c_setminmax(my);
	while (my)
	{
		//////////
		var dist_down; 
		if (c_trace(my.x,vector(my.x,my.y,my.z-5000),IGNORE_ME | IGNORE_PASSABLE | USE_BOX) > 0)
		dist_down = my.z + vFeet.z - target.z; 
		else
		dist_down = 0;
		if (dist_down > 0)  
		dist_down = clamp(dist_down,0,accelerate(speed_down,5,0.1));
		else          
		speed_down = 0;
		
		var dist_ahead = 8*(key_w-key_s)*time_step;
		var dist_toside = 8*(key_a-key_d)*time_step;
		dist_ahead = sign(dist_ahead)*(abs(dist_ahead) + 0.5*dist_down); 
		dist_toside = sign(dist_toside)*(abs(dist_toside) + 0.5*dist_down); 
		if(key_shift && key_w){dist_ahead = 5;player_moveingmode = 2;}
		c_move(me,vector(dist_ahead,dist_toside,0),vector(0,0,-dist_down),IGNORE_PASSABLE | GLIDE);
		player_camera();
		wait(1);
	}
}