Во-первых - обзови кнопки в редакторе интуитивно понятными именами (OPEN_DOOR1,CLOSE и т.п.).
Затем при загрузке уровня поставь кнопкам (рычагам и прочему стафу, который можно объеденить в одну логическую группу - "активаторы" или "выключатели") определённый тип, например:
[highlight=blitzbasic]
global BUTTON_TYPE=1
;.....................
ST_button=FindChild(world,"Stop")
EntityType ST_button,BUTTON_TYPE
[/highlight]
Далее - поставь флаг найденному мешу, чтобы его можно было "пикнуть" камерой, например:
[highlight=blitzbasic]
EntityPickMode ST_button,2
[/highlight]
Где-то в главном цикле игры, обрабатывай нажатие на кнопку.
Для эого сначал пикай камерой, например для FPS:
[highlight=blitzbasic]
select_obj=CameraPick(camera,GraphicsWidth()/2,GraphicsHeight()/2)
[/highlight]
затем обрабатывай пикнутое:
[highlight=blitzbasic]
Local button_name$=""
If select_obj<>0
if GetEntityType(select_obj)=BUTTON_TYPE
button_name$=EntityName(select_obj)
endif
EndIf
[/highlight]
И если пользователь щёлкнул не по пустоте - в строке button_name$ у тебя будет имя кнопки. Затем обрабатываем её:
[highlight=blitzbasic]
Select button_name$
Case "V+"
VLIFT=VLIFT+DV
edit_shm()
Case "V-"
VLIFT=VLIFT-DV
edit_shm()
Case "A+"
ALIFT=ALIFT+DA
edit_shm()
Case "A-"
ALIFT=ALIFT-DA
edit_shm()
Case "STOP"
ALIFT=0
VLIFT=0
edit_shm()
End Select
[/highlight]
Примерно так...
Всё зависит от конкрети игры. Можно вместо имён прописывать кнопкам, взамен их имён (по которым ты их найдёшь среди прочих чайлдов) хендлы на элементы типа (создать специальный тип - событие). А в экземплярах этого типа указывать - действие, его продолжительность, вовлечённые объекты.
Можно замутить целую скриптовую систему: описанные выше пертурбации делать не вручную, а на основе конфигурационного файла уровня - в нём будет прописано, какой кнопке какого рода событие надо постваить в соответствие.
А если подумать ещё глобальнее - то конфигурациооный файл должен быть создан не в ручную, а на самопальной проге, как раз для такого случая написанной.
вот тут
http://www.boolean.name/showthread.php?t=653
можешь посмотреть на демку, где лифт управляется кнопками, размещёнными в кабине.