[HL2] Подавитель Альянса

Помогаем новичкам в создании своего мира
Сообщение
Автор
Аватара пользователя
Crush
Полковник
Полковник
Сообщения: 1579
Зарегистрирован: 15.07.2008
Откуда: königsberg
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

#1 Сообщение 10.03.2009, 18:59

Тутор повествует о том, как можно построить мортиру из ориганала ХЛ2, установленную на крыше Нексуса Патруля.
Как выразился по ее поводу Барни: «Устройство подавления будет.. ээ.. «подавлять» проходящих, пока его не отключишь»

Первый делом разместим на карте две энтити prop_static, выбрав для них модели models/props_combine/combine_mortar01a.mdl и mortar01b.mdl соответственно.
Расположение моделей можно увидеть на скриншоте.

Изображение

Основой конструкции служит func_tankmortal. Для его создания нужно к брашу произвольной формы (желательно кубической и небольших размеров) применить Tie to Entity и в списке выбрать func_tankmortar. Поместить его нужно вглубь нашей конструкции. Примерное расположение указано на рисунке.

Изображение

Перед «подавителем» нужно установить npc_enemyfinder, этот npc-энтити служит для поиска противников и передачи целевой энтити самой пушке.
*Важным моментом является направление «взгляда» этой энтити. Он должен быть направлен в сторону появления противника, иначе «радар» просто не заметит подходящего врага.

В любом месте карты (а лучше непосредственно над пушкой, для большей упорядоченности) нужно разместить еще две энтити – logic_relay и ai_relationship.
Рядом с пушкой нужно установить ambient_generic. Первая энтитя устанавливает параметры активации мортиры, скорость и режим стрельбы, а также указывает на то, что мортира активируется по триггеру.

Изображение

«Радар» npc_enemyfinder дефолтно нейтрален ко всем другим npc, и поэтому приходится дополнительно объяснять ему, где враг. Этим как раз и занимается энтитя ai_relatioship.
Ambient_generic при выстреле пушки будет издавать соответствующих звук. Зададим ей сразу имя mortar_fire_wav

Теперь, когда все элементы «подавителя» установлены, нужно заняться настройкой самих энтитей, их аутпутов и инпутов.

func_tankmortar (самая муторная в настройках часть)
Name: tank_mortar
Yaw rate: 360
Yaw range: 360
Yaw tolerance: 15
Pitch rate: 100
Pitch range: 0
Pitch tolerance: 180
Barrel Length: 15 (длина предполагаемого «дула» пушки)
Barrel Horizontal: 0
Barrel Vertical: 64
Flash Sprite: sprites/redglow1.vmt (спрайт вспышки при выстреле)
Sprite Scale: 6
Rate of Fire: 22 (интенсивность огня)
Bullet accuracy: small cone (относительно высокая точность, малый разброс)
Minimum: 500
Maximum: 5000 (максимальный и минимальный радиус действия пушки)
Shell travel time: 1.5 (время, проходящее после выстрела и до попадания в цель. Сек)
Incomming Shell Sound: Weapon_Mortar.Incomming (не самый приятный звук на открытом пространстве ;) )

Единственный аутпут этой энтити:
OnFire – mortar_fire_wav – PlaySound
При выстреле будет звучать звук, заложенный в настройках ambient_generic.
-----
npc_enemyfinder (радар)
Name: tank_mortar_enemyfinder
Min Search Dist: 500
Max Search Dist: 4500
(думаю, все ясно из названия параметров)
Start On: Yes

Аутпуты:
OnFoundEnemy – tank_mortar – SetTargetEntity
OnLostEnemy – tank_mortar – ClearTargetEntity
OnLostEnemyLOS – tank_mortar – ClearTargetEntity

Мы описали условия поиска врагов нашим радаром. В случае, если противник будет замечен, радар обозначит его как энтитю-цель для пушки. Если противник потеряется из виду, вакансия цели будет очищена.
-----
Ai_relationship (поведенческие правила %))
Subject: npc_enemyfinder
Target: !player
Disposition: Hate
Start Active: yes


Теперь радар «ненавидит» игрока и считает его противником.
-----
Ambient_generic
Name: mortar_fire_wav (как уже установили выше)
Sound Name: Streetwar.d3_c17_10a_fire (звук выстрела из мортиры)
Volume: 10

Осталось расписать условия стрельбы.

logic_relay
name: relay
(к черту оригинальность)
Start Disabled: no

Аутпуты:
OnTrigger – tank_mortar – SetFireRate - .22 (Parameter)
OnTrigger - tank_mortar – Activate – delay (3.95)
OnTrigger - tank_mortar - FireAtWill – delay (4.05)
Тут мы настроили частоту стрельбы (.22) и время, которое будет проходить после активации подавителя до непосредственной атаки.

Теперь недалеко от точки старта игрока разместим браш, и переведем его в trigger_once.
В аутпутах триггера пропишем:

OnTrigger – relay – Trigger
На этом построение механизма подавителя полностью завершено.

Принцип его действия следующий: игрок, проходя через триггер, активирует реле (logic_relay) чем «настраивает» и активирует Подавитель.
Сразу со стартом карты мортира уже нацелена на игрока, в этом ей помогает ai_relationship, работающий в связке с радаром-наводчиком npc_enemyfinder. Как только игрок окажется в зоне действия Подавителя, по нему будет открыт огонь.

Исходник и компилл прилагается
Вложения
mortire.rar
(34.64 КБ) 269 скачиваний
mortire.rar
(34.64 КБ) 269 скачиваний

Аватара пользователя
giant_lizard
Маппер
Маппер
Сообщения: 364
Зарегистрирован: 12.10.2007
Откуда: ЗОНА 51

#2 Сообщение 10.03.2009, 19:37

сам писал? молодец, уважаю таких :good: :Bravo:
пс: добавьте в туторы
Все что не попало ниже, т.е. ничего
cens писал(а):Ты видимо слеп на оба уха,
KUSTS писал(а):А что такое прон...
lupic писал(а):У меня есть контр-страйк сорч версии 34 и халф оранж бокс!
Как из них сделать деаду?
segun17 писал(а):где мона скачать нормальные модельки искал нормальных не нашол
egornet писал(а):ЧТО ТАКОЕ РЕЖИМ VAC? И ЧТО ТАКОЕ ЧИТЫ?
Inworms писал(а):эЙ!!! я купил хл1 антологию а там никакой Half-Life Game Of The yEar Edition нету !!!! исправте это!!!

proplayer666
Маппер
Маппер
Сообщения: 1748
Зарегистрирован: 18.02.2008
Откуда: <удалено>

#3 Сообщение 10.03.2009, 20:43

Отлично!
Завязываю с играми
Мну в Xbox LIVE
Изображение
Изображение
Изображение

Аватара пользователя
WhyNot
Майор
Майор
Сообщения: 960
Зарегистрирован: 21.02.2008

#4 Сообщение 10.03.2009, 20:47

Угнетай! Подавляй! Классный туториал!
I rule, therefore i am.®
ಥ_ಥ кое-кто class update!
D-cat писал(а):Киньте линк на качественную фотку щачла!11
Nick258 писал(а):...Без ТФ'а будет worse...
DzirrtCTBP писал(а):как говорит арктик ревенджер.. ffffffffffffffUUUUUUUUUUUUU
lizikas писал(а):ну пожалусто нормально обесните :dash:
кое-кто писал(а):кое-кто: Я ПРИДУМАЛ О*УЕТЬ
все тот-же кое-кто писал(а): кое-кто: я тебя ужалю щас
JACKSON писал(а):Машинишима зачётная :Bravo: !!! Жду второй части.
Fully resurrected now!
Happy legacy Garry's Mod, Team Fortress 2 and Left 4 Dead user!


Аватара пользователя
giant_lizard
Маппер
Маппер
Сообщения: 364
Зарегистрирован: 12.10.2007
Откуда: ЗОНА 51

#6 Сообщение 06.04.2009, 20:04

что такое Yaw tolerance?
Все что не попало ниже, т.е. ничего
cens писал(а):Ты видимо слеп на оба уха,
KUSTS писал(а):А что такое прон...
lupic писал(а):У меня есть контр-страйк сорч версии 34 и халф оранж бокс!
Как из них сделать деаду?
segun17 писал(а):где мона скачать нормальные модельки искал нормальных не нашол
egornet писал(а):ЧТО ТАКОЕ РЕЖИМ VAC? И ЧТО ТАКОЕ ЧИТЫ?
Inworms писал(а):эЙ!!! я купил хл1 антологию а там никакой Half-Life Game Of The yEar Edition нету !!!! исправте это!!!

Аватара пользователя
Crush
Полковник
Полковник
Сообщения: 1579
Зарегистрирован: 15.07.2008
Откуда: königsberg
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

#7 Сообщение 06.04.2009, 20:07

Определяет погрешноть отклонения снаряда

Аватара пользователя
giant_lizard
Маппер
Маппер
Сообщения: 364
Зарегистрирован: 12.10.2007
Откуда: ЗОНА 51

#8 Сообщение 06.04.2009, 20:41

Crush писал(а):Определяет погрешноть отклонения снаряда
пасиб :)
Все что не попало ниже, т.е. ничего
cens писал(а):Ты видимо слеп на оба уха,
KUSTS писал(а):А что такое прон...
lupic писал(а):У меня есть контр-страйк сорч версии 34 и халф оранж бокс!
Как из них сделать деаду?
segun17 писал(а):где мона скачать нормальные модельки искал нормальных не нашол
egornet писал(а):ЧТО ТАКОЕ РЕЖИМ VAC? И ЧТО ТАКОЕ ЧИТЫ?
Inworms писал(а):эЙ!!! я купил хл1 антологию а там никакой Half-Life Game Of The yEar Edition нету !!!! исправте это!!!

Ответить Вложения 1