#include <acknex.h>
#include <default.c>
var video_mode = 7;
var video_depth = 16;
var move_vec[3] = 0,0,0;
var idle_percent =0;
var walk_percent = 0;
var run_percent = 0;
var temptilt = 0;
var distance_traced;
DEFINE FALLING,skill30;
DEFINE FALL_DISTANCE,skill31;
function main()
{
level_load("test.wmb");
wait(2);
}
action player_move
{
player= me;
wait(1);
camera.genius = player;
shift_sense= 2;
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);
var space_pressed = 0;
if(key_space==0)
{
space_pressed=0;
}
else
{
space_pressed = 1;
my.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);
}
}