Тема: DCS: World
Показать сообщение отдельно
Старый 16.12.2016, 00:05   #70
Amigo
Местный
 
Аватар для Amigo
 
Регистрация: 27.09.2008
Сообщений: 1,106
Лампочка Скрипт для воздушного трафика

Не секрет, что в ДКС АИ-трафик отсутствует как класс. Чтобы как-то оживить миссии приходится самому ставить юниты и прописывать им маршруты.

Теперь задача несколько облегчается благодаря скрипту для воздушного трафика от Zubetto.
Цитата:
Этот небольшой скрипт случайным образом генерит воздушный трафик из набора различных маршрутов и типов ЛА. Возможно это будет полезным на карте Невады, например для придания жизни крупному аэропорту Мак-Карен. С заданной периодичностью скрипт произвольно выбирает группы ЛА, назначает им какие-либо маршруты и добавляет в игру, а также уничтожает группы завршившие свой маршрут. Можно задавать максимальное число юнитов трафика и временные интервалы следования по маршрутам, а также ряд других параметров.

Во вложенных архивах:
AirTraffic_Sochi_Test.miz -- пример миссии с воздушным трафиком для DCS 1.5
AirTraffic_test_02.miz -- пример миссии с воздушным трафиком для DCS 2.0
zATR_KLAS.miz -- пример миссии с маршрутами для DCS 2.0
AirTraffic.lua -- основной скрипт для обработки трафика
AirTraffic_ini.lua -- запускает трафик
AT_ROUTES__URSS_002.lua -- маршруты к тестовой миссии DCS 1.5
AT_ROUTES__KLAS_002.lua -- маршруты к тестовой миссии DCS 2.0
zzz0001_ATR_GameGUI.lua -- коллбэк по окончании загрузки миссии (нужен для создания своих маршрутов)

Для задания своих маршрутов необходимо создать файлик с таблицами маршрутов и типами ЛА. Создать его можно с помощью редактора миссий.
Идеальным вариантом было бы добавить соответсвующие инструменты в редактор миссий, но этого я пока не умею((.
Сейчас это работает так:
файл zzz0001_ATR_GameGUI.lua кладём в папку скриптов пользователя (например, у меня для версии DCS 2.0 это выглядет так: C:\Users\Zubetto85\Saved Games\DCS.openalpha\Scripts\zzz0001_ATR_GameGUI.lu a)
запускаем DCS и заходим в редактор миссий; создаём группы, маршруты, практически всё как обычно (но! для трафика будет использован только первый юнит группы);
для первого юнита группы в поле БОРТОВОЙ (TAIL #) пишем ATUF или ATUB, если иное, то группа и её маршрут не будут использованы для трафика;
ATUF означает, что по маршруту данной группы могут летать все группы, у которых также в поле бортовой указано ATUF; ATUB - что по маршруту данной группы может летать только эта же группа, т.е. ставим ATUF, если хотим чтобы на данном маршруте были ЛА разных типов, и ATUB - только одного конкретного типа;
страна группы значения не имеет;
сохраняем миссию, имя файла должно обязательно начинаться с zATR , например zATR_My_Routes_01.miz;
запускаем эту миссию;
по окончании загрузки из миссии можно выйти;
в папке со скриптами пользователя (там же что и в п.1) должен появиться файлик примерно с таким именем AT_ROUTES__My_Routes_01_001.lua , в котором будут лежать таблицы маршрутов и типы ЛА.
если миссия не загрузилась, можно посмотреть логи (в логах искать по zzz0001)

Чтобы добавить воздушный трафик к уже имеющейся миссии нужен один триггер,
как в примерах миссий AirTraffic_Sochi_Test.miz и AirTraffic_test_02.miz для DCS 1.5 и DCS 2.0 соответственно.

Параметры:
zAirTraffic.country = 'ITALY' -- страна юнитов траффика
zAirTraffic.maxTot = 20 -- максимальное число юнитов траффика, которые могут быть на карте во время игры
zAirTraffic.maxResp = 5 -- максимальное число юнитов траффика, которые могут появиться одновременно
zAirTraffic.checkInt = 120 -- сек, интервал проверки стастуса юнитов траффика

zAirTraffic.RespMinInt = 119 -- сек, минимальный интервал появления нового юнита
zAirTraffic.RespMaxInt = 600 -- сек, максимальный интервал появления нового юнита

zAirTraffic.DepChance = 50 -- %, вероятность того что будет выбран маршрут отправления
zAirTraffic.DepMinInt = 240 -- сек, минимальный интервал следования по маршрутам отправления
zAirTraffic.DepMaxInt = 1200 -- сек, задает время на завершение маршрута отправления
zAirTraffic.ArrMinInt = 360 -- сек, минимальный интервал следования по маршрутам прибытия
zAirTraffic.frequency = 251

Все маршруты разделены на маршруты прибытия и отправления (к отправлениям относятся маршруты и без аэродрома вылета).
Юнит следовавший по маршруту отправления считатеся завершившим свой маршрут, если с момента его вылета до настоящего прошло время большее чем zAirTraffic.DepMaxInt
Для маршрутов прибытия критерием завершения является низкая (<0.1 м/c) скорость юнита.
Ссылко на оригинальную тему https://forums.eagle.ru/showthread.p...69#post2984969

Архивы с примерами миссий и скриптом продублировал и здесь
Вложения
Тип файла: rar AT_script_01.rar (10.8 Кб, 230 просмотров)
Тип файла: rar AT_test_missions.rar (38.1 Кб, 230 просмотров)
Amigo вне форума   Ответить с цитированием