CSM.Dev

[EP2]Таймер обратного отсчета

В этом туторе я расскажу, как создать таймер обратного отсчета, похожий на тот, что мы видели в конце Эпизода 2 при запуске ракеты. Начнем.

Для начала поставим на карту 3 prop_dynamic. Настраиваем их.
Первый:
Name: timer.4
World Model: models/props_silo/launch_seq04.mdl

Второй:
Name: timer.3
World Model: models/props_silo/launch_seq03.mdl

Третий:
Name: timer.2
World Model: models/props_silo/launch_seq02.mdl

Расположите их, как показано на рисунке:


Теперь создадим 3 material_modify_control и настроим их.
Первый:
Parent: timer.4
Name: mmc.panel.countdown.4
Material to modify: Models/props_silo/rocket_countdown_4
Material variable to modify: $frame

Второй:
Parent: timer.3
Name: mmc.panel.countdown.3
Material to modify: Models/props_silo/rocket_countdown_3
Material variable to modify: $frame

Третий:
Parent: timer.2
Name: mmc.panel.countdown.2
Material to modify: Models/props_silo/rocket_countdown_2
Material variable to modify: $frame

Идем далее. Ставим на карту 3 logic_relay.

Первый:
Name: relay.countdown.init
Аутпуты:
Ontrigger/mmc.panel.countdown.2/StartAnimSequence/9 9 0 0
Ontrigger/mmc.panel.countdown.3/StartAnimSequence/9 9 0 0
Ontrigger/mmc.panel.countdown.4/StartAnimSequence/9 9 0 0

Второй, при активации которого начнется отсчет:
Name: relay.countdown.start
Аутпуты:
Ontrigger/mmc.panel.countdown.2/StartAnimSequence/0 9 1 1
Ontrigger/mmc.panel.countdown.3/StartAnimSequence/0 9 10 1
Ontrigger/mmc.panel.countdown.4/StartAnimSequence/0 9 100 1
Примечание:Формат инпута "StartAnimSequence/0 9 100 1": <Frame Start> <Frame End> <Frame Rate> <Loop>

Третий, который сработает в конце и не даст отсчету начаться заного:
Name: relay.countdown.0
Аутпуты:
Ontrigger/mmc.panel.countdown.2/StartAnimSequence/9 9 0 0
Ontrigger/mmc.panel.countdown.3/StartAnimSequence/9 9 0 0
Ontrigger/mmc.panel.countdown.4/StartAnimSequence/9 9 0 0

Ставим logic_auto с одним аутпутом:
OnMapSpawn/relay.countdown.init/Trigger

Для красоты ставим logic_relay, при активации которого начнется отсчет:
Name: relay_begin_countdown
Аутпуты:
OnTrigger/relay.countdown.start/Trigger/0.00
OnTrigger/relay.countdown.0/Trigger/10.00 (10 секунд в только данном примере!)


Все. При активации relay_begin_countdown любым способом (в примере-исходнике это кнопка) начнется обратный отсчет. В примере отсчет ведется от 10 секунд, но вы можете сделать другое время - по своему усмотрению (Формат инпута "StartAnimSequence/0 9 100 1": <Frame Start> <Frame End> <Frame Rate> <Loop>, помнете?).



Исходник: http://mapper720.ru/vmf/Countdown_timer.vmf

Post automatically merged:

Думаю, кому нибудь пригодится ;)