Here is all of my code, so far. I write is a piece at a time for this exact reason: It's easier to iron out the bugs:
Code:
#include <acknex.h>
#include <default.c>
#include <player.c>
ENTITY* fox = 
{
	type = "foxbody1.mdl";
}


function player_move()
{

	while(1)
	{
		c_move(me, vector(0,15*key_w *time_step,0),nullvector, GLIDE); //Move forward
			c_move(me, vector(0,-15*key_s *time_step,0),nullvector, GLIDE); // Move backward
				c_move(me, vector(-15*key_a *time_step,0,0),nullvector, GLIDE);// Strafe left
				c_move(me, vector(15*key_d *time_step,0,0),nullvector, GLIDE);// Strafe right
		wait(1);
	}
}

function main()
{
level_load ("floor_1.WMB");
camera.z = fox.z + 200;
camera.y = -1400;
camera.x = fox.x;
camera.pan =90;
fox = ent_create("foxbody1.mdl", vector(0,-1272,0), player_move);
}