AI вертолетов - Страница 21 - Мастерская ТЧ - AMK Team
Перейти к контенту

AI вертолетов


Kirag

Рекомендуемые сообщения

Artem_K.

Проще сказать, в чем сходство - и то, и другое game_object. Все управление абсолютно разное, специальные свойства тоже отличаются.

StalkerNew2012, а причем тут координаты? вроде бы вообще определяется то что ты смотришь на вертолет, происходит выстрел и при некоторой рандомности этот вертолет либо уничтожается либо нет

saruman_ten, координаты нужны для того, что бы патруль пустить, я хочу ещё над НИИ, Свалке и ТД пустить

Поддерживаю вопрос от StalkerNew2012 - как лучше всего определить координаты для патруля вертолёта на локации.

Увеличение прыжка или просто (приблизительная "на глаз") - надбавка "запаса высоты" в том числе и в all.spawn, мне не очень удобны и выглядят в конечном результате, не так как хотелось бы. А использование для этой цели SDK, весьма ресурса-требовательно (учитывая, что настройка идёт глобального мода).

Кто поделиться опытом?

Как вариант (если не важны левел и гейм вертексы) - после запуска игры в консоли набрать rs_stats on, затем demo_record 1. И полетели... В нужных точках - скрин или ручками записать на бумаге. Вот полет над Радаром:

964bb18c2ab4d5fa8f826d2bf54184b1d97642114233085.jpg 8cbcb147f5440d9f23d61048887983a3d97642114233085.jpg bc1073adb995c1da86774a519ec6b945d97642114233085.jpg

Самая нижняя строчка - искомые координаты.

Гейм- и левел- вертексы для пути не нужны, только координаты XYZ. Вертексы могут быть сколь угодно левыми, на результате это не скажется...

 

Я снимал координаты по земле, и добавлял к высоте сколько-то десятков метров - точно не помню. Либо, как вариант, брал какую-то высокую точку (в случае патруля над ж/д на кордоне - мост, он точно выше всего остального), плюс N метров к ее высоте - это и была нужная высота для всех точек, X и Z по земле. Если не нужна какая-нибудь аэробатика типа пролета под мостом - этого достаточно. И как минимум на 90% маршрута так оно и есть - выдерживается более-менее одинаковая высота.

 

В смысле плавности полета было куда сложнее подобрать радиус поворота, чтоб вертолет не дергался в контрольных точках (я имею ввиду резкий поворот модели), но это только экспериментально. Для того и вынес маршруты из алл.спавна - чтоб меньше гемора было при настройке. Основное правило - радиус поворота должен быть большой...

 

Да, с ускорением настройки пути - вроде работает сохранение за пару контрольных точек до нужной, чтоб для последних точек не ждать слишком долго, пока вертолет соизволит весь маршрут пролететь.

Всем привет. Установил данный мод, поиграл, понравилось, но, обнаружил несколько неприятных моментов:

1.ПЗРК. Нажав на спуск и подождав 5 секунд я обнаружил, что если разрядить ПЗРК после этих действий, он разряжается многократно! То есть, разряжая ПЗРК многократно, я могу получить очень большой боезапас.

2. Одной ракетой сбил 2 вертолета!!! Летели на близкой дистанции, но даже так, разве можно одной ракетой их?

3. Уже не совсем баг, но прикольно. Когда вертолеты покидали поле зрения, стрельнул из ПМ. О_о Попал. (fire_distance = 1000) Вертолеты развернулись, полетели на меня, выстроились в ряд. Задний вертолет зарешетил из пулемета, может пускал ракеты, в общем, сбил другой вертолет. Чуть со стула со смеху не упал.

 

Еще один момент. Не начав новую игру, загрузился на Кордоне. Слышу гул сирены. Иду в сторону АТП по трассе. Наблюдаю очень интересную картину: горящий вертолет парит в полуметре от земли, и кабаны с тушканами бегают сквозь него о_О. Был в шоке.

 

В общем, новые вертолеты и ПЗРК понравились. Прошу прощения, если представленные мной "баги" и недочеты уже обсуждались.

Изменено пользователем SLAVYANICH

Здрасти всем, конечно понимаю, что эта вещь вышла уже давно и что уже многое разжовано, но пожалуйста, объясните такую вещь: как убрать спавн пзрк и зарядов в рюкзак в самом начале, а то че та не нашел где, либо если это уже рассказывалось, ткните, где это было

Заранее спасибо :ny_ph34r_1:

 

Сообщение от модератора kokkai
Юзай xrSpawner. Там в секции ГГ (actor) уберёшь.
Street-you, в файле bind_stalker. script найди такие строки:
spawn.inv("wpn_igla")
        for i = 1,3 do
            -- СЛИШКОМ тяжело, но можно сбросить у Сидоровича, жрать не просит. Больше взять негде.
            spawn.inv("ammo_igla")
        end

и закомментируй их:

--spawn.inv("wpn_igla")
--        for i = 1,3 do
            -- СЛИШКОМ тяжело, но можно сбросить у Сидоровича, жрать не просит. Больше взять негде.
--            spawn.inv("ammo_igla")
--        end

Marafon6540, о спасибо, а я искал wpn_igla в скриптах, относящихся к самому моду, а bind_stalker даже не удосужился проверить

Может быть глупый вопрос но все же: можно ли эту схему перенести на ЧН? Или в движке ТЧ есть, то чего нет в ЧН? Стоит ли вообще пытаться?

Старлей

Не проверял, но думаю можно, и без особых проблем - сами вертолеты, во всяком случае. Они вроде ни с чем особо не пересекаются (кроме ПЗРК, ну и с повреждениями непонятно что будет).

А как вертушки через скрипт заспавнить,там вроде ничего сложного,но не выходит и всё?

Боягуз

spawn.heli("секция",X,Y,Z,level_vertex,game_vertex,"логика")

Координаты X,Y,Z реальные

level_vertex - любой

game_vertex - от нужной локации - любой из них

Логика - имя файла с логикой, БЕЗ расширения .ltx, ДОЛЖЕН быть в папке config\scripts\heli

Совмещаю с ЧН....

Скопировал - вставил, совместил и сел на вылете:

Клиент: Синхронизация...

* phase time: 10 ms

* phase cmem: 221116 K

* [win32]: free[3074776 K], reserved[108728 K], committed[1010736 K]

* [ D3D ]: textures[364135 K]

* [x-ray]: crt heap[221116 K], process heap[8541 K], game lua[52216 K], render[145 K]

* [x-ray]: economy: strings[15787 K], smem[1050 K]

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CInifile::r_string

[error]File : E:\priquel\sources\engine\xrCore\Xr_ini.cpp

[error]Line : 453

[error]Description :

[error]Arguments : Can't find variable hit_power_critical in [mi24]

 

 

stack trace:

 

 

 

 

То есть он не может найти переменную в creatures\mi24.ltx (если спавнить helicopter, а не mi24 - ничего не изменится).

А откуда поступает запрос на считывание этой переменной?! В оригинале не нашел ничего.... Только в models\vehicles в нескольких файлах есть она, добавил ее и туда. Все равно вылет. Добавил прямо в Mi24.ltx все равно вылет, вот откуда идет вызов этой переменой?!

Старлей, параметр hit_power_critical должен быть в секции explosion в настройке модели вертолета, а не в спавн-секции.

[explosion]

hit_power_critical = 0.0, 0.0, 0.0, 0.0

k_hit_critical = 0

frag_hit_critical = 0

 

; остальное как в ТЧ

blast = 2

blast_r = 15

blast_impulse = 350

frags = 15

frags_r = 30

frag_hit = 0.8

frag_hit_impulse = 320

hit_type_blast = explosion

hit_type_frag = fire_wound

up_throw_factor = 0.25

wm_size = 0.1

explode_particles = explosions\expl_mushroom_01

light_color = 0.6,0.5,0.3

light_range = 15.0

light_time = 0.5

 

;трассы от осколков

fragment_speed = 76

fragment_tracer_max_length = 3

explode_duration = 50 ;подолжительность взрыва (с)

 

;звуки

snd_explode = weapons\heli_explosion

;wallmarks

wallmark_section = explosion_marks

 

  • Нравится 2

Касательно логики вертолетов:

[logic]

active = heli_move@hunter <<<<<Переключаемся на heli_move@hunter

community = stalker <<<<<<< Всех, кто враги группировке stalker, вертолет будет считать своими врагами

 

 

[heli_move@hunter]

path_move = yan_heli_hunter <<<<<<Летим в эту точку

combat_safe_altitude = 25 <<<<<Ниже 25 по Y не опустится

combat_enemy = area(53,-8,100,all) <<<<< в площади(53 по X, -8 по Z) радиусом 100 вертолет будет убивать всех врагов

 

 

 

Я все правильно понимаю?

Дело в том что у меня была логика "декорации" - прекрасно работала

Теперь вертолет либо вообще лететь не хочет, либо перелетает path_move и становится в непонятном месте.

Добавлялись ли какие-нибудь новые параметры?

 

Вот логика бывшей "декорации":

[logic]

active = heli_move@pre_hide

 

[heli_move@pre_hide]

path_move = yan_heli_pre_wait

on_info = {+yan_quest_levsha} heli_move@hide

max_velocity = 50

engine_sound = false

 

[heli_move@hide]

path_move = yan_heli_wait

path_look = yan_heli_lookinwait

on_info = {+yan_proriv_k_ystanovke} heli_move@move_attack %=play_sound(yan_heli_attack_start:army)%

max_velocity = 50

engine_sound = true

 

[heli_move@move_attack]

path_move = yan_heli_first_move

engine_sound = true

immortal = true

use_rocket = true

use_mgun = false

min_rocket_attack_dist = 10

max_rocket_attack_dist = 370

max_velocity = 35

enemy = 818 ;816

fire_trail = true

on_timer = 8000| heli_move@move_2_attack

 

[heli_move@move_2_attack]

path_move = yan_heli_first_move

engine_sound = true

immortal = true

use_rocket = true

use_mgun = false

min_rocket_attack_dist = 10

max_rocket_attack_dist = 370

max_velocity = 35

enemy = 816 ;818

fire_trail = true

on_info = {+yan_f_t_h_dead +yan_hold_position_cut6} heli_move@1_fire %=play_sound(yan_heli_attack_start:army)%

 

 

[heli_move@1_fire]

path_move = yan_heli_main_hunter

path_look = yan_heli_1_boom

;enemy = 819

fire_point = yan_heli_1_boom

immortal = true

on_timer = 20000| heli_move@2_fire

on_info = {+yan_stop_spawn_cut6} heli_move@move_out

max_velocity = 50

engine_sound = true

use_rocket = true

use_mgun = true

min_rocket_attack_dist = 8

max_rocket_attack_dist = 370

min_mgun_attack_dist = 8

max_mgun_attack_dist = 370

;rocket_delay = 8000

fire_trail = true

 

 

[heli_move@2_fire]

path_move = yan_heli_main_2hunter

path_look = yan_heli_2_boom

;enemy = 821

fire_point = yan_heli_2_boom

immortal = true

on_timer = 20000| heli_move@3_fire

on_info = {+yan_stop_spawn_cut6} heli_move@move_out

max_velocity = 50

engine_sound = true

use_rocket = true

use_mgun = true

min_rocket_attack_dist = 8

max_rocket_attack_dist = 370

min_mgun_attack_dist = 8

max_mgun_attack_dist = 370

;rocket_delay = 8000

fire_trail = true

 

 

[heli_move@3_fire]

path_move = yan_heli_main_3hunter

path_look = yan_heli_3_boom

;enemy = 820

fire_point = yan_heli_3_boom

immortal = true

on_timer = 20000| heli_move@1_fire

on_info = {+yan_stop_spawn_cut6} heli_move@move_out

max_velocity = 50

engine_sound = true

use_rocket = true

use_mgun = true

min_rocket_attack_dist = 8

max_rocket_attack_dist = 370

min_mgun_attack_dist = 8

max_mgun_attack_dist = 370

;rocket_delay = 8000

fire_trail = true

 

 

 

[heli_move@2_hide]

path_move = yan_heli_2_wait

path_look = yan_heli_2_lookinwait

enemy = 817

immortal = true

on_info = {+yan_stop_spawn_cut6} heli_move@move_out

max_velocity = 50

engine_sound = true

use_rocket = false

use_mgun = true

min_rocket_attack_dist = 15

max_rocket_attack_dist = 370

min_mgun_attack_dist = 8

max_mgun_attack_dist = 370

rocket_delay = 8000

fire_trail = true

;stop_fire = true

 

[heli_move@move_out]

path_move = yan_heli_away

on_timer = 20000| %=destroy_object%

max_velocity = 35

engine_sound = true

use_rocket = false

use_mgun = false

 

 

 

 

 

 

 

P.S. И почему вертолет бессмертный? я его сбить не могу 10 раз из РПГ попал, ему пофиг...

------------------

Так-с вертолет ВООБЩЕ не реагирует на заданную логику. Я прописал combat_enemy = actor, так вертолет даже не думает по мне стрелять.

Изменено пользователем Старлей

Можно ли как-нибудь отключить схему "Напарники"? Из-за этой схемы есть некоторые несостыковки в звуках(сюжетный момент) + при спавне один вертолет рождается в другом, как итог - обе вертушки разбиваются и падают на землю. Или как альтернативу - какой-нибудь способ заспавнить только один вертолет(без напарника).

Uyman358

От спавна друг в друге вертолетам ничего не будет - они пролетают сквозь предметы, сталкиваясь только с пулями и ракетами. Только если сразу стрелять начинают будут проблемы.

Про спавн одного сюжетного вертолета в теме где-то было (и не раз, насколько помню) - посмотри...

 

 

Обновление ссылок:

AI вертолетов v1.1:  files.mail.ru/53IJQR53IJQR53IJQR53IJQR53IJQRXX

Забытые текстуры Ми-2:  files.mail.ru/O5FFCAO5FFCAO5FFCAO5FFCAO5FFCAXX

 

Дополнительно:

Ми-6 - транспортный без оружия:  files.mail.ru/WQSJ1FWQSJ1FWQSJ1FWQSJ1FWQSJ1FXX

В комплекте все конфиги, подключать по аналогии с Ми-2 и Ми-24...

 

Просьба модераторам перенести ссылки в шапку - сам отредактировать не могу...

===============

Ссылки проверены и обновлены в шапке темы.

BFG

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...