i tried to simplyfy the script down to this

Code:
#include <acknex.h>
#include <default.c>

ENTITY* player_box;
var jump = 0;

function cam()
{
	while (1)
	{
		camera.x = player_box.x - 10;
		camera.z = 100;
		camera.y = player_box.y;
		camera.tilt = -50;
		wait (1);
	}
}

action my_car()
{
	player_box = my;
	cam();
	while (1)
	{
		c_move (my, nullvector, vector (1*time_step, 20*(key_a-key_d)*time_step, 0),GLIDE);
		wait (1);
	}
}
function main()
{
	level_load ("homework18.wmb");
}



and then copy the script to a one of the litec workshop project about moving entities where the previous script worked. however the new script makes the car go through everything again so i assume that is must be something with the script.