Триггер первый: 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