Правила сайта FAQ Мини-чат
Для добавления необходима авторизация!
26.01.2020, Воскресенье, 12:25


  • Страница 1 из 1
  • 1
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Уроки моддинга » Логика вертолетов (ТЧ)
Логика вертолетов
Сообщение #1
Нигде в интернете не видел нормального тутора по созданию вейпоитов и логике. В основном все расплывчато, официально, перекопировано с других сайтов и зачастую с ошибками. Поэтому, покопавшись в текстах игры, испытав на практике, решил написать свой. Надеюсь кому нибудь тутор окажется полезен.


Уважение: 570
Награды: 92
Облучение: 0%
Сообщение #2
Quote (volazar)
Флажок ВСЕГДА начинается со значения 0x1. Известные значения мне: (0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,...), однако всречал примеры, где заданы значения 0x400, 0x800 и т.д Откуда значение берется и четкие его рамки, кроме четности (почему тогда не используется 0x6 ?) мне не известны.

Сегодня(делал логику и пути вертолетов) столкнулся с таким явлением: При установке флажка flags = 0x6 по прибытии вертолета в точку с этим флагом - ловил стабильный вылет "бад_аргумент3"... При замене этого флага на flags = 0x8 вылет прекратился. Вот поэтому наверное и не используются флаги с таким значением. Хотя почему именно "06" - мне неизвестно.
Веселый Роджер
Уважение: 757
Награды: 101
Сообщение #3
Всем, привет!

Делаем квест с вертолётом. Задача: Сбить вертолёт выстрелом с гранатомёта.

Причём вертолёт после получения хита начинает гореть, затем пикировать, пилоты пытаются выравнить вертолёт, кричат в эфире, но вертушка не слушается, при

столкновении с землёй разваливается на части и происходит взрыв. На месте падения пожар и два тела пилотов.

Всё это делается в логике вертолёта.



Терпение......
И все получится!

Уважение: 979
Награды: 31
Облучение: 0%
Сообщение #4
Добрый день, друзья. Как сделать так, чтобы при нанесении хита мирно патрулирующему вертолету, тот переходил на логику атаки по ГГ? И можно ли сделать так, чтобы НПС-ы реагировали на вертолет как на врага, т.е. пытались с ним воевать?

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #5
Доброго Всем Дня.
Цитата (butrikA)
чтобы при нанесении хита мирно патрулирующему вертолету, тот переходил на логику атаки по ГГ

Я конечно не спец в этом вопросе и с makdm мне не тягаться, но разве это не сделано? В тех же ТЧ, на Кордоне или Агропроме, вертуха мирно патрулирует или высаживает десант, но стоит ГГ по ней шмальнуть и все, она начинает охотиться за ГГ по всей локации.


Вольный Сталкер
Уважение: 178
Награды: 31
Облучение: 0%
Сообщение #6
IGOR™, В обычном ТЧ на кордоне родной вертолет игнорирует ГГ, на агропроме тоже. Это есть в АМК. Туда я еще не лез, бо не знаю куда. У меня летает вертуха по моим путям. Просто летает по определенному маршруту. Если шмальнуть по ней реакция только голоса пилотов и все. Сдесь надо поработать с логикой, чего и не знаю. Есть вроде, не помню, такая на ЧАЭС, но тоже кажись в АМК. Остальные шмалят по заданным путям тупо куда глаза глядят.

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #7
butrikA,
Наверное с ТЧ я перегнул, имелись ввиду моды на ТЧ, на базе АМК, а также OGSE, там вроде логика вертолетов переработана, играя в OGSE я заколебался по локации от вертухи бегать. В АМК одна из вертух из ТЧ летает по заданному маршруту и шмаляет по определенным квадратам, две другие охотятся за ГГ.


Вольный Сталкер
Уважение: 178
Награды: 31
Облучение: 0%
Сообщение #8
butrikA, В схеме вертолета нет таких коллбеков как hit и death, однако есть функция heli_health_le, которая проверяет здоровье вертолета и которой можно проверить смерть и соотв. нанесение ему хита.
Достаточно добавить в активную логику строку:
Код
on_info = {=heli_health_le(0.99)} след. секция

Где:
=heli_health_le(0.99) проверяет что здоровье у вертушки 0.99. Этого достаточно, чтобы сымитировать "хит", а если недостаточно, то можно все списать на броню вертушки. В жизни я не думаю, что 1 прилетевшую пулю сразу же почувствуют в кабине, тем более если вертушка в это время шумит/стреляет/пилоты слушают рацию и т.д
след. секция - вставляем ту секцию, на которую нужен переход. Ну и соотв. в ней назначаем вертушке врага (в шапке расписано):
Или добавить в нужную секцию параметр:
Код
combat_enemy = actor

Или в путях, в нужной точке прописать |e=a

Ну а например чтобы проверить, что вертушка "мертва" (например задание, пойти и сбить вертушку), можно написать так:
Код
on_info = {=heli_health_le(0.1)} %=func +info%

Где:
=func это выполнение какой либо функции
+info - выдача поршня.

*** ***

По поводу стрельбы НПС-ми в вертолет, есть схема heli_hunter. Правда в игре я ее действие не видел, да и работает ли она вообще - не знаю. Но попытка не пытка, проверь :)
В логику достаточно вставить параметр:
Код
heli_hunter = {=func +info} true

=func и +info я описал выше.

Уважение: 570
Награды: 92
Облучение: 0%
Сообщение #9
volazar, Привет, что-то не так у меня с моим вертолетом, ставлю простую логику:

И при выстреле по нему получаю простой вылет :D :


Если не палить по нему, то летает себе нормально. Что не так делаю? :$

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #10
butrikA, нет такой секции heli_attak в логике. Отсюда и ошибка.
Любая секция логики пишется так - как она "зарезервирована" в игре. Например секция [meet] пишется так и только так, а не например [razgovor]. Если нужно как то обозначить название секции, то пишем [название_секции@свой_текст].
Пример: [meet@razgovor].
Из-за допущенной ошибки и появляется вылет с руганью, что ожидалась передача значения.

Так что поправь свой [heli_attak] на например [heli_move@attack]. И не забудь указать path_move и path_look (можно даже те же, что и в секции heli_move).

Уважение: 570
Награды: 92
Облучение: 0%
Сообщение #11
Цитата
По поводу стрельбы НПС-ми в вертолет, есть схема heli_hunter. Правда в игре я ее действие не видел, да и работает ли она вообще - не знаю. Но попытка не пытка, проверь


Работает, довольно неплохо. В моде Зауруса "Апокалипсис", где нпс валят вертуху с РПГ-7.


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Уважение: 284
Награды: 37
Облучение: 0%
Сообщение #12
volazar, Привет, с вертухой получилось, работает нормальено. Мирно патрулирует, при обстреле переходит на боевую схему. Единственное, теперь не отстает от ГГ. Даже если спрятаться в доме и сидеть там пару часов, так и будет висеть, дожидаясь ГГ. Можно ли сделать так, чтобы при потере ГГ из виду, через определенный промежуток времени, вертуха вновь переходила на схему патрулирования?

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #13
butrikA, в этом посте я написал, как сделать, чтобы вертушка выходила из боя

http://stalker-gamers.ru/forum/10-711-31508-16-1380445058

Функция heli_see_actor


Терпение......
И все получится!

Уважение: 979
Награды: 31
Облучение: 0%
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Уроки моддинга » Логика вертолетов (ТЧ)
  • Страница 1 из 1
  • 1
Поиск: