Всем добрый день, с вами Псих, и сегодня я расскажу вам про создание полностью управляемого вертолета. Вам понадобится Player Parenter, длл которого не заменяет стандартную EntitiesMP.dll, поэтому вы можете свободно использовать ее в любом моде/карте. Скачать его вы можете по этой ссылке. Безусловно, вы всегда можете воспользоваться энтитей Vehicle из ХВОХ-мода, однако данный туториал хорош тем, что позволяет создать вертолет без замены Вашей длл, как я уже говорил.
1. Создаем комнату произвольного размера, но желательно так, чтобы там было, где полетать. Я остановлюсь на комнате 300х300х100.
2. Комната есть, теперь нужен вертолет, на котором будем летать. Можете его смоделировать/создать из брашей/нарисовать плоским спрайтом, что угодно. Однако данный туториал предусматривает создание вертолета с управлением полностью от первого лица, поэтому я рекомендую вам остановиться на брашах или моделях.
3. Далее нам потребуется пространство, в котором вертолет будет летать, для этого над созданной комнатой создаем еще одну так, чтобы они соединялись двумя нижними полигонами.
4. У вас должна получиться одна большая комната размерами 300х300х200. Выделяем верхний сектор...
5 ...и настраиваем его следующим бразом.
Мы отключили всю гравитацию в верхнем секторе комнаты, верно.
6. Теперь, когда пространство для полетов готово, размещаем игрока где-нибудь в верхнем секторе.
7. Чтобы игрок не провалился вниз, выделяем нажатием клавиш Shift + ПКМ этот полигон,
8. и снимаем галочку с параметра Passable.
9. А сейчас - внимание! Важная часть туториала. На сцену выходит Player Parenter.
Размещаем его где-нибудь на карте, но желательно рядом с игроком, чтобы не потерять.
10. Настраиваем соответствующим образом Player Parenter.
11.
12. Время разместить на уровне триггер, который запустится при начале игры и активирует Player Parenter. у PlayerStart'a в параметре Target укажите созданный триггер, а у самого триггера параметр Target 01 должен ссылаться на Player Parenter.
13. Тип события (Event Type) должен быть следующим.
14. Теперь пора сажать игрока в вертолет. Прежде всего нужно убедиться, что у Player Parenter'a не включен следующий параметр:
15. Размещаем вертолет так, чтобы игрок находился прямо в его кабине.
16. Фактически, вертолет готов, однако он еще крайне недоработан и багнут. Первый из багов - невозможность нормально на нем полетать, игрока все время как-бы останавливает невидимая стенка. Чтобы устранить это, выделите все полигоны вертолета,
17. и настройте их следующим образом:
18. Теперь вертак может свободно летать под вашим управлением.
ИЗВЕСТНЫЕ ПРОБЛЕМЫ НА ЭТОМ ЭТАПЕ - вертолет летает, но при приближении к краям комнаты он выходит за их пределы. Чтобы этого не произошло, достаточно просто разместить невидимые стены на некотором расстоянии от стенок комнаты.
Однако, если вам всего этого мало, и вы хотите большего функционала, то вертак можно научить стрелять. Ракетами, лазерами, чем угодно. Чтобы это осуществить, делаем прямо под носом у игрока невидимый браш (Moving Brush),
а лучше коробку вокруг игрока, ведь тогда, если игрок перейдет в режим вида от третьего лица, он не увидит себя в... странной позе мужика, стоящего ногами сквозь сидение.
19. Браш настраиваем следующим образом:
(Не забываем припарентить его к вертолету.)
20-21. Здесь все крайне просто. Не нуждается в разъяснении. Создаем на карте Switch и еще один Trigger. У созданного Moving Brush'a в параметре Switch указываем (Вот неожиданность!) Созданный нами Switch. Его же мы в свою очередь настроим позже.
Вертак можно и протестировать.
22. Просто удостоверьтесь, что созданный нами браш перед игроком присоеден к вертолету.
23. Все корректно, но перед глазами маячит надпись Use.
24. Существует множество способов его убрать. Можно, например, сделать ее стопроцентно прозрачной, и игрок ее не увидит. Однако я сделаю ее такой большой, что она просто не поместится на экране и будет невидима. Для этого в параметре Message у Switch'a вводим следующее.
Для тех, кто ленив - вставляем следующее: ^s900BlaBlaBla
25. Настало время размещать эрупторы по бортам вертака, именно они будут стрелять всякими лазерами/ракетами.
26. Не забываем присоединить из к вертолету.
27. Настраиваем Spawn time
28. А вот теперь возвращаемся к Switch'y. Создаем новый триггер...
...и нацеливаем на него Switch следующим образом:
29. ON-OFF Target:
30. OFF Target:
31. ON Event Type:
32. OFF Event Type:
33. Создем еще два триггера.
От главного триггера, на которого нацелен Switch, проводим Target 01 к Триггеру А, а от него Target 01 к Триггеру Б. Поясняющий скриншот, чтобы не запутаться:
34. Акцентируем свое внимание на Триггере А.
35. На этой таблице показано, как он должен быть настроен.
36. Теперь переходим к Триггеру Б. Его параметр Wait должен быть равен 0.6
37. Эта таблица показывает настройку Триггера Б.
38. С триггерами все. Переходим к эрупторам. Убедимся, что они правильно настроены. Speed Min я поставлю побольше.
39. Angle обязательно должен быть равен 0, если, конечно, вам не нужна ацццкая дисперсия при стрельбе.
40. Также эрупторы следует сделать невидимыми. Однако если вы просто поставите их размер на 0.0001, или еще что в этом роде, то потом найти их будет проблематично. Разве что только через окно Select Entities. Достаточно просто отключить параметр Active
41. Вертак теперь абсолютно готов, вы можете на нем летать, стрелять, мочить армии Ментала. Протестируйте еще раз.
ИЗВЕСТНЫЕ ПРОБЛЕМЫ НА ЭТОМ ЭТАПЕ Существует такой баг, когда монстры просто не атакуют игрока, находящегося в вертолете. Чтобы исправить это, выделите все его полигоны, а также полигоны невидимого браша перед игроком, и поставьте галочку у следующих параметров:
Translucent
Transparent
Portal
HAVE FUN!
Ну, вот и все, всем спасибо, все свободны, увидимся позже.)
Комментарии
Даже более того - от PlayerView можно унаследоваться в дополнительной ДЛЛке и подсунуть игроку этого "мутанта" вместо обычного PlayerView, после чего можно лепить замысловатые вариации парента к игроку без использования мода.
А теперь вопрос на миллион долларов. Обычный PlayerParenter прикрепляет объект к нижней части игрока (к ногам). Поэтому, если повернуться на месте, а потом нажать "вперёд", вертолёт очень резко развернётся. Как этого избежать? За правильный ответ - награда.
P.S.
Окай, будет вам и механоид, и боевой дрон, и джетпак...