///////////////////////////////
#include <acknex.h>
#include <default.c>
///////////////////////////////
function door_event_scan();
///////////////////////////////
function main()
{
fps_max = 60;
video_mode = 8;
//level_load("map01.WMB");
}
///////////////////////////////
var walk_percentage;
VECTOR vFeet;
action player_me()
{
player = me;
c_setminmax(me);
while(1)
{
camera.pan = my.pan;
camera.x = my.x - 150 * cos(my.pan);
camera.y = my.y - 150 * sin(my.pan);
camera.z = my.z + 100;
camera.tilt += mouse_force.y *3*time_step;
camera.roll = 0;
//////////////////
vec_for_min(vFeet,me);
my.pan -= mouse_force.x *6*time_step;
c_move (my, vector(15 * (key_w - NULL) * time_step, 0, 0), nullvector, IGNORE_ME | GLIDE);
c_trace(my.x,vector(my.x,my.y,my.z-1000),IGNORE_ME);
my.z = hit.z - vFeet.z;
//////////////////
if (key_w)
{
ent_animate(my,"walk",walk_percentage, ANM_CYCLE);
walk_percentage += 6 * time_step;
}
if (key_space)
{
c_scan(player.x, player.pan, vector(40,60,300), IGNORE_ME| GLIDE);
}
wait(1);
}
}
/////////////////////////////////////////
var drehung = 0;
var speed = 3;
var door_var = 1;
PANEL* panDisplay =
{
digits(35, 10, "Door_var = %0.f", *, 1, door_var);
digits(35, 20, "drehung = %0.f", *, 1, drehung);
flags = SHOW;
}
action door_scan()
{
my.emask |= ENABLE_SCAN;
my.event = door_event_scan;
}
function door_event_scan()
{
if (event_type == EVENT_SCAN && door_var == 1)
{
my.event = NULL;
for(drehung = 0; drehung <= 90; drehung ++)
{
my.pan += speed * time_step;
door_var = 0;
if (drehung == 90)
{
door_var = 2;
}
wait(1);
}
}
//
if (event_type == EVENT_SCAN && door_var ==2)
{
my.event = NULL;
for(drehung = 0; drehung <= 90; drehung++)
{
my.pan -= speed * time_step;
door_var = 0;
if (drehung == 90)
{
door_var = 1;
}
//
wait(1);
}
}
my.event = door_event_scan;
}