Примитивней некуда.
obj_player: Игрок
Событие: COLLISION with obj_button //Если игрок у рычага
Code
obj_door.vspeed-=1; //плавно поднимаем дверь
alarm[0]=5;//ганяем таймер по кругу пока игрок соприкасается с кнопкой
Событие: ALARM 0
Code
obj_door.vspeed+=1;// когда игрок слез с кнопки(не дергает рычаг) возвращаем дверь в исходное положение.
Дверь будем останавливать при соприкосновении с невидимым обьектом, либо блоками пола\потолка.
Создадим парочку: один над дверью, другой - под.
obj_door:Дверь
Событие: COLLISION with obj_floor//если дотронулась до верхнего\нижнего блока
Code
vspeed=0;//останавливаем дверь