Это небольшое дополнение к первому туториалу, где я покажу вам, как разнообразить Дуумовские моники. Научимся делать
крутые мониторы с кнопочками и вылетающими подсказками, прямо как на моих роликах. Улутшайзеров у нас будет 3. Эффект
нажатия на кнопку, эффект подсветки и ещё кое-какие мелочи
1.Эффект нажатия.
Для начала нужно запастись картиночками. Для каждой кнопки у меня было по 3 картинки. 1-нормальная, 2-подсвеченная при
наведении мышью, 3-нажатая. Но сейчас нам понадобятся только Нормальная и Нажатая. Т.к. это проще реализовать.
Итак, приступим. Я воспользуюсь картой из предыдущего тутора. Возьмём нашу кнопочку func_wall, покрасим её в
соответствующий цвет, затем сделаем ещё одну точно такую же кнопочку и наложим на первую. Но вторую окрасим в
"нажатый цвет". А так же отправим в func_door. Все 3 брашика должны быть плоскими и идти строго друг за другом -
Нормальная, нажатая, синяя мишень. На картинке для наглядности я их растянул:
Смысл вот в чём. Когда мы произведём выстрел по мишени, из экрана на долю секунды вылезет дверь и изображением нажатой
кнопки, имитируя тем самым нажатие. Однако, как выяснилось нажиматься она будет в обратную сторону
Но это не важно. Лишь бы хорошо выглядело. Ставим птичек Toggle, Passable, Start open.
Итак, у двери пропертей много, поэтому чтобы не наделать ошибок приведу их скрином:
Далее. Теперь создаём 2 мультименеджера. Направяем на них наши button_target соответственно. Я буду называть их m_man1
и m_man2. Открываем проперти m_man1 и прописываем туда имя первой двери 2 раза:
[Имя двери1]-[0]
[Имя двери1]-[0.5]
[Цель1]-[0]
Под "Целью1" я подразумеваю цель, которую будет активировать кнопка, например light.
Со вторым менеджером проделываем тоже самое только направляем на вторую дверь ну и на другую цель.
И вот что должно получиться:
1. Жертва нажимает на кнопку.
2. Выежает дверь-кнопка и иммитурет нажатие.
3. Через пол секунды заезжает обратно.
4. Активируется цель.
2. Эффект подсветки.
Помните в первом тутре я сказал задать в танкконтроле 2 кулемёта и не объяснил зачем? Вот. Объясняю. Идея такова.
Мы управляем одновременно 2 кулемётами, направленными на 2 разлиыных поля. Кулемёт1 вы уже знаете зачем нужен. А
вот Кулемёт2 нам понадобится как-раз таки для сообщений-подсказок. Но обо всём по порядку...
Начнём с того же запилим сами брашики для подсветки. Для кнопки 1 это будет такая же браш-кнопка с подсвеченой
текстуркой. Расположим её между Кнопкой и дверью. Ну по приоритету она там и должна быть. отправим в func_wall например
и дадим имя. Для кнопки 2 я сделаю небольшое сообщение-подсказу, которая будет вылетать при наведении. Всё тоже самое.
Теперь создаём по 2 энв_рендера для каждой подсказки. 1-вкл, 2-выкл Итого 4 энв_рендера.
Далее. Самое интересное!
Теперь мы берём и копируем наш экран с кулемётом и button_target'ами. И размещаем это дело рядом. Переименовываем
кулемёт в gunbody2, чтобы танкконтроль управлял обееми. Отключаем ему возможность стрельбы. Ставим у его основания
env_laser, настраиваем так, чтобы постоянно работал и наносил урон и аттачим к кулемёту 2.Вот! Теперь у нас получается,
что мы управляем 2умя кулемётами, один стреляет когда мы нажимаем на клавишу, а второй стреляет постоянно, но лазером.
Уловили фишку? Нет? Объясняю!
Теперь мы направляем баттон_таргеты нового экрана на энв_рендеры. Чтобы когда лазер попадает на кнопку, энв_рендер
отображал браш-подсказку. Ну а чтобы все подсказки гасли, когда мы уводим мышь с кнопки, обращаем наш экран в
батон_таргет, направляем на мультименеджер, а в мультименеджере указываем соответствующие энв_рендеры для отключения.
Вот сопсно вроде и всё. Для закрепления привожу картинку:
3.Дополнительные милости.
Вообще говоря тут я хотел напомнить, что ещё можно кулемёту в таргет поставить амбиент_дженерик, со звуком щелчка.
Мелочь, а жертве будет приятно. Ну и на кнопки, подсказки тоже дженериков понаставить. Тоже няшности. Так же напоминаю
про пропертю frags у энв_рендеров. Она позволит брашам появляться плавно. Эта кавайность скорее для подсказки.
Ну и ещё кое-что. Раз уж мы делаем монитор/компьютер, вероятно следующая няшность будет вам интересна. А именно,
включение монитора после нажатия Е. Ну то есть пока мы ходим, монитор выключен, либо там стоит какая-нить заставка.
Когда подходим и нажимаем Е. То монитор включается. Тоже мелочь, но может быть прятна. К тому же, она будет являться
небольшим мостиком к моему следующему туториалу.
Чтобы её запилить нам понадобится энтитя multi_watcher. Открываем её проперти и вписываем:
[имя такконтроля]-[0]
[target]-[+имя монитора]
[offtarget]-[-имя монитора]
[state]-[ON]
Так же можно добавить добавить лампочку с тем же именем, что и у монитора в случае если хотите имитировать выключенный
монитор. Смысл я думаю понятен. Когда танкконтроль переходит в состояние ВКЛ, октивируется монитор. Когда танк_контроль
выходит из этого состояния, активируется -монитор. Ну то есть выключается.
4.Рostscriptum
Ну вроде бы всё. Спасибо за внимание!
Прикладываю карту-пример. Правда там может чё-нить не работать из-за нехватки ресурсов, либо я мог что-нить упустить.
Во всяком случае, есть рукописный тутор. Дерзайте, дорогие мои!
__________________
Спасибо тем кто помогает...
И тем кто бред этот читает...
Спасибо Дяде Мише за Xash двиг...
Благодаря ему, чуть больше я постиг...
Ну чайник я, и мало очень знаю С++...
Зато леплю я карты и играю блюз...