Hallo
ich dachte ich poste nochmals mein neuen Tür Code
mit Player mit Gravitation wink

Code:
///////////////////////////////
#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; 
}



Have Fun