action player_move
{
player= me;
wait(1);
camera.genius = player;
shift_sense= 2;
var space_held = 0; //<<Added
while(player!=NULL)
{
//Walking function arrow keys
move_vec[0]= (key_cuu - key_cud)*8*time;
move_vec[1]= (key_comma - key_period)*6*time;
//Stair Climbing and falling
vec_set(temp,my.x);
temp.z -= 4000;
trace_mode = ignore_me+ignore_sprites+IGNORE_MODELS+USE_BOX;
move_vec.z=(-trace(my.x,temp))*3*time;
player.pan -= (key_force.x)*1.5*time;
move_mode = IGNORE_YOU + IGNORE_PASSABLE + IGNORE_PUSH + ACTIVATE_TRIGGER + GLIDE;
ent_move(move_vec,NULLVECTOR);
//jumping
if(key_space==0)
space_pressed = 0;
else
{
space_pressed = 1;
if(space_pressed==0) player.z += 10;
}
//Running with arrow keys
if(key_shift == 1)
{
move_vec[0]= (key_cuu - key_cud)*4*time;
}
player.pan += (key_cul - key_cur)*2*time;
ent_move(move_vec,NULLVECTOR);
if(move_vec[0]== 0 && move_vec[1]==0)
{
//Idle
idle_percent= (idle_percent +5*time)%100;
ent_animate(me,"stand",idle_percent,ANM_CYCLE);
}
else
{
//Running animation
if(key_shift)
{
run_percent = (run_percent + sign(move_vec[0])*5*time)%100;
ent_animate(player,"run",run_percent,ANM_CYCLE);
}
else
{
//Walking animation
walk_percent = (walk_percent+ sign(move_vec[0])*5*time)%100;
ent_animate(player,"walk",walk_percent,ANM_CYCLE);
}
}
//The Camera
vec_set(Camera.x,player.x);
camera.z += 39;
camera.pan = player.pan;
temptilt += (key_pgup - key_pgdn)*4*time;
if(key_home){ temptilt =0;}
if (temptilt > 75)
{
temptilt = 75;
}
else
{
if(temptilt < -75)
{
temptilt= -75;
}
}
camera.tilt =0 +temptilt;
wait(1);
}
}