BAM!

var move_result;

action players_code
{
player = my;
my.invisible = on;
while (1)
{
move_result = c_trace(my,vector(my.x,my.y,m.z - 4000) use_box | ignore_me | ignore_passable;

c_move (my, vector(10 * (key_w - key_s) * time_step, 6 * (key_a - key_d) * time_step, 0), nullvector, glide);

if(move_result != 0)
{
my.z -= move_result;
}

vec_set (camera.x, player.x);
camera.z += 30;
camera.pan -= 5 * mouse_force.x * time_step;
camera.tilt += 3 * mouse_force.y * time_step;
player.pan = camera.pan;
wait (1);
}
}