Итак, туториал для самой сложной части компании начинается здесь. Финал.
Важно, чтобы вся карта была готова, а nav создан. Компиляцию с vis и rad оставим на последок. Нам прийдется подкорректировать nav файл в конце.
Что нам понадобится: trigger_finale - триггер для активации финала, вызова спасателей.
Модель транспорта (в данном случае вертолет)
модель пилота (а я думал он идет вместе с вертолетом, а нет)
несколько trigger_once и logic_relay
чашка кофе
мозг
Место эвакуации:
оно должно быть просторным для экшна. Если вы создадите все в узких размерах, ифницированные просто не смогут прибежать и накостылять всем четверым. Берите пример с официальных финалов. Можете повторить их. Главное, чтобы было много места, напичканого чем либо(стены, колонны, модели).
Начнем с размещения наших объектов. Радио:На
столе создаем
trigger_finale.
имя radio.
Model = models/props/terror/hamradio.mdl
Start disabled = No
First use delay = 0Use delay = 4
Outputs:FinaleEscapeStarted > finale_timer > Enable
т.к. создавать голос диспетчера слишком замудрено (я пробовал, не получилось, может на официальном сдк будет работать) мы сделаем так, чтобы спасатели вызывались одним нажатием на радио (2 ни к чему в данном случае).
Параметр first use delay = 0.
(Вы можете создать несколько ambient_generic для голоса спасателей, например при нажатии активируется голос, говорящий "мы уже в пути" и т.д. как сами захотите). Вертолет:Cоздаем
prop_dynamic, берем модель
models/hybridphysx/news_helicoptor_hoveranim.mdlимя helicopter_animatedDisable shadows = yesCollisions = Not solidRandomly animate = noStart disabled = yesбез флагов и аутпутов.все остальное по умолчанию.это наше спасение, теперь пилот

. Создаем
prop_dynamic модель models/npcs/rescue_pilot_01.mdl
имя winkCollisions = Not solidDefault animation = Sit_HelicopterRandomly animate = noStart disabled = yesбез флагов и аутпутов.распологаем недалеко от вертолета, не важно где.(
сразу размещайте вертолет так, чтобы он прилетая и улетая не врезался в какие либо высокие объекты, на рисунке показана его траектория, и чтобы было реально в него залезть)

Создаем
trigger_push с именем
helicopter_platform_push_trigger для отталкиания выживших от места посадки чтобы не попасть под сам вертолет.
Start disabled = yesPush direction = <- (или укажите свое направление в зависимости от ситуации)
Создаем
trigger_multiple* под именем
chopper_trigger_continue, размещаем так же как и trigger_push. Он дает команду вертолету свалить оттуда вместе с выжившими.
Start disabled = yesDelay before resset = 0.01Outputs:OnEntireTeamStartTouch > helicopter_continue_relay > Trigger 
Строим каркас вертолета т.е. ту часть, по которой можно ходить, как показано на рисунке.
func_brush под именем
helicopter_platform_brush. Материал NODRAW.
ФЛАГ: ignore player +use
Start disabled = yesВысота от его пола до потолка 76 юнитов.
Едем дальше.
Теперь черед logic_relay и других точечных энтити. Делаем все по картинкам и тогда все будет работать.
logic_relay под именем
helicopter_wink_relay. Активирует ряд действий для создания пилота и его посадки в вертолет.
logic_timer. имя
finale_timer. Каким-то образом активирует релэй. Не пойму как, но без него никуда.
Start disabled = yesUse random time = NoRefire interval = 1Outputs:1) OnTimer > helicopter_land_relay > Trigger (0)2) OnTimer > finale_timer > Disable (1)logic_relay. имя
helicopter_land_relay. активирует ряд действий, когда вертолет прилетает.
logic_relay. имя
helicopter_takeoff_relay. создает взлет вертолета и др. прибомбасы.
Создаем 3 env_fade: fade_outro_1
Duration: 0.2
Hold fade: 0.3
Color = black
Outputs:
OnBeginFade > fade_outro_2 > Fade (Delay 0.3)
fade_outro_2 ФЛАГ: Fade From
Duration: 0.2
Hold fade: 0
fade_outro_3ФЛАГ: Stay Out
Duration: 0.3
Hold fade: 0
Создаем
env_outtro_stats. имя
outro. Это наши титры. без флагов, аутпутов.
Создаем
logic_relay под именем
helicopter_continue_relay. без коментариев.

Создаем
point_viewcontrol_multiplayer. все уже догадались для чего он. Размещаем как на картинке.
Имя
camera_helicopter.
FOV Rate = 0
FOV = 60
Hold time = 10
ФЛАГИ: Start at player, follow player

Создаем
ambient_generic.
имя
helicopter_sound_loop.
звук
Hospital.HelicopterLoop SourceEntityName = winkMax distance = 2000ФЛАГИ: Start Silent.
Расспологаем там, откуда прилетает вертолтет(на картинке с траекторией).
Всё. все необходимые объекты созданы и размещены. Конец близок, но тут вы у меня попляшете. Переходите ко 2й части. Создание корректной навигации.
p.s. Разбито на 2 части т.к. я не могу использовать только 10 картинок на одну тему, когда их у меня целых 27.