action movement()
{
var speed = 0;
var speedz = 0;
var friction = 0.75;
var frictionz = 0.1;
var floordistance = 2;
var move
var movez;
my.min_z += floordistance;
while(1)
{
result = c_trace(my.x, vector(my.x, my.y, my.z - 5000), IGNORE_ME | IGNORE_PASSABLE | USE_BOX);
if(result > floordistance)
{
movez = accelerate(speedz, -10, frictionz);
}
else
{
speedz = 0;
movez = floordistance - result;
}
my.pan += (key_a - key_d) * 10 * time_step;
move = accelerate(speed, (key_w - key_s) * 10, friction);
result = c_move(my, vector(move, 0, movez), nullvector, IGNORE_PASSABLE | GLIDE);
wait(1);
}
}