try this on for size, it may fit
Code:
#include <acknex.h>
#include <default.c>

ENTITY* player1;




}

function act_player1()
{ 
  
	while(!me){wait(1);}
                player1 = me;
	me.ambient = 10;
	while(me)
	{
		if (key_a || key_cul) {me.pan += 3*time_step;}
			if (key_d || key_cur) {me.pan -= 3*time_step;}
			if (key_w || key_cuu){c_move (me,vector( 5,0,0),nullvector,GLIDE);}
			if (key_q || key_cuu){c_move (me,vector( 60,0,0),nullvector,GLIDE);}
			if (key_s || key_cud){c_move (me,vector( -5,0,0),nullvector,GLIDE);}
			
		wait(1);
	}
}



function main()
{
	level_load ("");
	wait(2);	// wait until the level is loaded
	ent_create("cube.mdl",vector(500,0,0),act_player1);
	
	while(1) {
  vec_set(camera.x,player1.x); 
  vec_set(camera.pan,player1.pan); 
  
  wait(1);
}
}



this is frist person, but just off set the camera from the object for 3rd person.
renny


I have A7 Commercial .............. Now I just need to learn how to use it