Триггер первый: Cinematic
Событие: Юнит вошел в область (указываете область, при входе в которую запускается ролик)
Условие: Проверка юнита (выбираете юнита, который входя в область запускает ролик)
Действие: (Тут по порядку)
Событие: Юнит вошел в область (указываете область, при входе в которую запускается ролик)
Условие: Проверка юнита (выбираете юнита, который входя в область запускает ролик)
Действие: (Тут по порядку)
- Сначала выключаем триггер, чтобы он не запускался больше одного раза (При выключении любого триггера вы предотвращаете последующие запуски выключенного триггера, но триггеры, которые уже запущены, будут работать до последнего действия)
- Далее отключаем управление игрока, чтобы он не сделал лишних ненужных действий.
- Ждем 0.1 сек. на всякий случай (Такое ожидание никак не повредит триггеру, но если ожидание убрать, то могут возникнуть проблемы с полноценной работоспособностью триггера)
- Отдаем приказ Отставить юниту, который вошел в область, чтобы предотвратить его действия, влекущие плохие последствия (например, игрок заранее может нажать патрулировать в область где включается ролик или отдать приказ из нескольких действий через shift. Мы это предотвращаем)
- Далее делаем операции по переходу из игрового режима в режим просмотра ролика. Запускаем затемнение изображения. Ждем пол секунды, чтобы затемнение завершилось. Теперь, когда игрок не видит, что происходит на экране мы проводим необходимые операции: Первое - это перемещение камеры в место, откуда она будет двигаться в ролике. Второе - это включение рамок сверху и снизу. Третье - вводим изображение обратно. Четвертое - это ждем столько, сколько необходимо перед тем, как заговорит первый персонаж.
- Включаем триггер Closing Cinema, который дает возможность выключать ролик. Включаем его именно перед самым началом показа речей юнитов. Потому что включение его раньше может вызвать уродство ролика (описание этого триггера в конце)
- Включаем диалоги с проверкой условия, если переменная Key_Escape = Нет (то есть клавиша Esc не была нажата), то показываем первую речь юнита. И так перед каждой речью нового юнита мы проверяем нажата ли кнопка Esc. Если игрок не нажимал на протяжении ролика клавишу Esc, то мы подходим к завершению ролика.
- Выключаем триггер Closing Cinema. Он нам не нужен, т.к. ролик завершился.
- Устанавливаем переменную Key_Escape = Нет (возвращая ее в исходное состояние для последующего использования этой переменной)
- Делаем операции по переходу из режима просмотра ролика в игровой режим. Запускаем затемнение изображения. Ждем пол секунды, чтобы затемнение завершилось. Теперь, когда игрок опять не видит, что происходит на экране мы возвращаем все на свои места: Первое - это убираем рамку сверху и снизу. Второе - это сбрасывание камеры игрока в стандартное положение для игры. Третье - это перемещение камеры на воина, который запустил ролик (Юнит вошедший в область). Четвертое - вводим изображение обратно. Пятое - включаем управление Игрока.
Триггер второй: Closing Cinema
(Изначально этот триггер выключен. Он будет включаться во время ролика и выключаться по окончанию ролика)
Событие: Игрок нажал кнопку Esc.
Действие:
Конец триггера Closing Cinema
(Изначально этот триггер выключен. Он будет включаться во время ролика и выключаться по окончанию ролика)
Событие: Игрок нажал кнопку Esc.
Действие:
- Выключаем этот триггер, чтобы он сработал 1 раз.
- Устанавливаем переменную Key_Escape = Да (то есть клавиша Esc была нажата). После этого действия диалоги перестают работать, т.к. не проходит условие (пункт 7 первого триггера)
- Выключаем ролик: Делая те же действия, что и в триггере Cinema:
Конец триггера Closing Cinema
Скриншоты триггеров:
Также прикрепляю карту с примером рабочего ролика и его отключением через клавишу Esc.
"установить переменную Key_Escape = Нет", чтоб ее дальше использовать в других роликах.
А то все ролики будут пропускаться после отмены просмотра первого
ресурс сняли с публикации ибо он никому не нужен
WeDenn, это описано в f.a.q.
любой новичок с IQ выше 80 прочтёт f.a.q. и найдёт там ответ
Ред. WeDenn