*(...) - читать обязательно
*(...) - бесполезный комментарий

Исходни в конце
Давненько ничего не писал, вот и исправил эту ошибку. :)
Вот что нам нужно будет:
prop_static - статическая модель...
point_viewcontrol - исполняет роль камеры, используется как "глаза". Может передвигатся по заданному пути, при этом перенося игрока за собой или оставляя на месте старта, в общем многофункциональная вещь.
func_door - дверь, в нашем случае кнопка активации.
env_screenoverlay - создаем эффекты на экране, например, когда фриман телепортировался в лаборатории кляйнера. Может работать на протяжении всей мапы, типа маски. :crazy:
env_zoom - изменяет FOV(Field Pf View), или же проще -дальность обзора.
func_brush - объект, на который направлен объектив камеры. :crazy:
1. В самом начале естественно ставим модель бинокля. Ставим prop_static, и в поле World Model ставим models/props_combine/combine_binocular01.mdl как на скрине ниже.

2.Теперь ставим энтитию point_viewcontrol *(ставим примерно как на скриншоте ниже, вообще от месторасположения, будет завесить в какую сторону направлен объектив бинокля), теперь настраиваем:
Name: binokl’
Entity to look at: cel’_binoclya*(пишем без вопросов)
Flags:
Убираем:
start at player*(нам не нужно чтобы мы начинали смотреть через камеру, из месторасположения игрока)
follow player *(убираем, с названия понятно что камера будет следовать за игроком, используется например в камерах чтобы они следили за движениями игрока/npc(в том же portal’е) и да, не для параноиков :D )
Ставим:
Infinite Hold Time*(чтобы взгляд через камеру прекратился по вашему желанию, а не через определенное время)
Interruptable by Player *(походу если игрок нажмет +USE то прерывается взгляд через камеру, вообще любое действия и вы выходите из камеры)
Snap to goal angles *(в общем попытаюсь объяснить: это используется для того чтобы, когда вы начинаете смотреть через камеру, то взгляд на энтитию, выбранную в поле Entity to Look At, сразу появлялся на ней.

Вот, например красная полоска показывает в какую сторону направлен "взгляд" камеры при старте.(в настроках, в поле Entity to Look At, прописана энтития та что обведена зеленым) Так значит, если не будет Snap to goal angles отмечен, то стартовать «взгляд» через камеру будет с красной полосы, и постепенно поворачиваться к той самой энтитии которая в Entity to Look At (самовольно). В общем постарался объяснить, :crazy: )

3.Создаем браш*(примерно как на скрине ниже) переводим в func_door, и настраиваем:
Name: knopka_binoclya
Disable shadow: yes
Flags:
Убираем:
Touch opens
Ставим:
Non-solid to player*(чтобы игрок мог проходить сквозь)
Toggle
Use Opens

4.Теперь переходим к env_zoom. Начнем настраивать:
Name: yveli4itel’
Seconds to reach target: 0 *(показывает за сколько секунд достигает до выбранной FOV)
FOV: 12 *(увы, не могу объяснить


5.Уже идем к завершению, и рассматриваем env_screenoverlay:
Name: 4erez_binocl’
Overlay Name 1(1-10): effects/combine_binocoverlay *(С названия можно понять что это названия эффекта который будет отображатся на экране(1-10 это номер эффекта))
OverlayDuration 1(1-10):-1 *(время которое будет длится эффект на экране. И кстати, номера должны совпадать, т.е. если Overlay Name 1, то и Overlay Duration 1 )

6.Ну уже и почти конец. Создаем браш, покрываем nodraw и переводим в func_brush:
Name: ololo!!11
Disable shadow: yes
Solidity: Never Solid*(убирает тврдость тела)
*(Вообще без Entity to Look At можно и обойтись, но тогда мы не сможем выйти из бинокля, т.к. нет аутпута у камеры чтобы можно было выйти из камеры без Entity to Look At. Чтобы выйти я использовал аутпут OnEndFollow)

И наконец аутпуты. Заходим в func_door и вписываем:ъ

В конце концов заходим в point_viewcontrol и пишем в аутпутах:

И в итоге вот что мы получаем:



Исходник: