TrafficTools
Версия 2.0
Руководство пользователя
Работа с программой
Исходные файлы и форматы
Заключение
Утилита CollectAirports
Новая версия CollectAirports теперь
работает и в FS2002, и в FS2004.
Проблема с командной строкой решена
Ошибка, по причине которой
параметр командной строки /t не работал - исправлена
Медленная компиляция и зависания при компиляции
Теперь используется
более быстрый и эффективный метод сортировки при компиляции, который менее
требователен к объему памяти
Работа с FS2004
Эта версия теперь работает и с FS2002 и с
FS2004.Файлы, созданные предыдущими версиями TTools совместимы с новой
версией.
Единая оболочка
Компилятор и декомпилятор теперь объединены в одну
оболочку
GUI-интерфейс
Консольный интерфейс теперь дополнен
GUI-интерфейсом
Пролет с касанием ВПП (Touch and Go)
FS2004 позволяет AI-самолетам
совершать пролеты с касанием ВПП ("конвейер"). Эта версия TTools позволяет
задавать AI-самолетам режим кружения над аэропортом на протяжении заданного
времени. Эта функция не работает в FS2002.
Множество файлов трафика
FS2004 позволяет теперь использовать
несколько файлов трафика. Вы можете теперь разделять по разным файлам трафика
различные расписания по своему усмотрению: по классам самолетов, например, по
регионам или авиалиниям. Также TTools 2 позволяет иметь несколько групп
исходных TXT-файлов, объединенных по имени общим
суффиксом. FS2002 этих функций не поддерживает
Задаваемые каталоги для исходных файлов и файлов трафика
В
предыдущих версиях TTools искал исходные файлы с расписанием в том же каталоге,
где находился сам, а трафик-файлы в каталоге с установленным FS. Теперь вы можете назначать для этого произвольные
каталоги, на ваш выбор. Благодаря этому, TTools может работать на
компьютере, где FS не установлен
Ограничение на количество этапов маршрута (legs)
увеличено до 200
Предыдущие версии TTools позволяли формировать
максимально 100 этапов одного плана полета. Теперь максимальное значение
увеличено до 200. Помните, что компиляция таких планов с количеством этапов
более 100 в старых версиях компилятора приведет к ошибке.
Ниже указан ряд изменений в функционировании AI-трафика, сделанные Microsoft в FS2004. Это не связано с TTools.
AI-трафик в неконтролируемых аэропортах
В FS2002 AI-трафик был разрешен только в аэропортах, имеющих
контрольно-диспетчерский пункт. Теперь FS2004 позволяет
функционировать AI-трафику в любом аэропорту, имеющем
стоянки
Стоянки по категориям
Теперь AI позволяет назначать самолетам места
стоянок по категориям (например, грузовые самолеты, военные, GA и т.п.), а
также предназначать стоянки для самолетов определенных авиалиний. Обратите
внимание, что это не имеет никакого отношения к AI-расписаниям и к TTools. Категории для стоянок задаются в
данных аэропорта (например, программой AFCAD 2) и в
параметрах файла aircraft.cfg
Более быстрая скорость руления
Скорость руления AI-самолетов была
уаеличена
Уменьшены заторы на рулежках
Ранее, когда вы запускали симулятор,
все AI-самолеты, время отправления которых попадало в
диапазон за 15 минут до времени входа в игру - немедленно запрашивали
взлет и отправлялись на ВПП. Это вело к чрезмерной загруженности УВД и большим
очередям перед ВПП. Теперь эти 15 минут уменьшены до 5 с целью снижения
скопления самолетов. Кроме того, ранее, если самолет по каким-либо причинам
блокировался и не мог двигаться дальше - он исчезал через 15 минут. Теперь время
"простоя" блокированного самолета снижено до 5 минут, что способствует
уменьшению заторов. Самолеты, приземляющиеся в аэропорту, который не имеет
доступных стоянок - исчезают после торможения на ВПП, а не блокируют рулевые
дорожки
Проблемы с посадкой
Исправлены несколько ошибок FS, связанных
с расчетом снижения без учета ландшафта. Таким образом сокращены возникновения
случаев неспособности самолета совершить посадку в назначенном аэропорту
Разворот в конце полосы
Прежде, когда AI-самолету был необходим разворот на 180 градусов в торце
ВПП, разворот начинался от осевой линии, что приводило к тому, что к концу
разворота самолет выкатывался за край ВПП. Теперь перед разворотом самолеты
смещаются относительно центра полосы.
Самолеты-амфибии
Самолеты-амфибии теперь должны корректно вести
себя на водных аэропортах (эта функция не проверялась).
Крейсерская скорость
Исправлены ошибки, приводящие к превышению
крейсерской и посадочной скорости AI-самолетов
Создайте папку для TrafficTools в любом месте на ваш выбор и распакуйте в нее файлы программы. Когда TTools запускается в первый раз, он автоматически определяет место установки и версию MSFS (2002 или 2004). Соответствующий вариант версии отмечается в меню File. Если TTools обнаружит, что на компьютере установлены обе версии, то у вас будет возможность выбрать любую в меню File. Если папка с FS была перемещена или переименована, либо по каким-то другим причинам TTools не может установить каталог инсталяции MSFS - есть возможность вручную указать папку, где находится Flight Simulator. Это делается с помощью пункта File - Locate Flight Simulator
Вы можете создать для TTools новую папку, куда распаковать файлы. TTools новой версии теперь имеет одну программу с графическим интерфейсом, которая может компилировать и декомпилировать файлы расписаний, в то время как в старой версии имелось два отдельных консольных модуля. Вы также можете поместить новые файлы в папке со старой версией. Однако рекомендуется старые .exe файлы удалить либо переместить в архив с целью уменьшения беспорядка.
Если у вас уже имеется набор исходных файлов расписания (Airports.txt, Aircraft.txt, flightPlans.txt) от FS2002 - вы можете использовать их и для FS2004
Убедитесь, что TTools корректно установил место и версию вашего симулятора.
TrafficTools (TTools) - средство, позволяющее программировать Искусcтвенный Интеллект (AI) воздушного трафика в Microsoft Flight Simulator FS2002 or FS2004. Вы можете создавать самолеты, которые будут взлетать из аэропортов и совершать посадку в аэропортах, (соблюдая график), которые вы назначаете по собственному желанию.
Большие количества различных AI-планов уже созданы различными людьми и доступны для того, чтобы использовать их в FS. Эти планы обычно создаются на основе реальных расписаний авиакомпаний и содержат трафик ряда аэропортов или даже целых регионов. Вы можете использовать TrafficTools, чтобы объединить пакеты расписаний в базу AI-трафика вашего симулятора.. Создатели этих пакетов обычно публикуют инструкцию относительно того, как это сделать.
Существует группа разработчиков под названием Project AI (PAI), которые специализируются на разработке freeware AI-материалов. Это включат в себя AI-расписания и специальные AI-самолеты. Рекомендуем сайт Project AI для пользователей, желающих увеличить реализм вашего AI-трафика.
Сайт Project AI: http://www.projectai.com/.
Помните. что внесение в симулятор трафика авиакомпаний реального мира может потребовать добавления в симулятор новых специальных самолетов, ливрей для них и увеличения количества парковок в аэропортах до реального значения
Вы можете использовать пакет TrafficTools для создания новых расписаний, но это может потребовать ручного редактирования текстовых файлов, содержащих декодированную информацию базы данных трафика. Некоторые пользователи находят неудобным работать с такой формой представления данных. Поэтому периодически создаются программы, которые в более удобной форме позволяют исследовать, изменять или создавать новые AI-расписания. Вот несколько программ для управления траффиком:
AITM by Thomas Molitor. www.molitor-home.de/fs/aitm/
yRoute by Simon Haynes. http://www.spacejock.com/
Многие из оригинальных (дефолтных) аэропортов не могут обслуживать AI-траффик по причине отсутствия парковок. Кроме того, даже если аэропорт содержит какое-то количество парковок, как правило их гораздо меньше, чем требуется для приема трафика на основе реальных расписаний авиакомпаний. Программа, с помощью которой можно увеличить количество стояночных мест до реального или хотя бы необходимого - называется AFCAD. Ее можно загрузить по адресам: http://www.avsim.com/ или http://www.flightsim.com/. Обратите внимание, что AFCAD более ранних версий не будут работать с FS2004.
Файл трафика содержит всю необходимую информацию для AI симулятора. Дефолтный файл трафика называется "traffic.bgl" в FS2002, и "traffic030528.bgl" в FS2004 (цифры - просто дата создания файла).. FS2002 может работать только с одним файлом трафика. Но FS2004 позволяет иметь любое количество файлов трафика. Файл трафика в FS2004 может иметь любое имя любой длины с расширение ".bgl", но обычно TTools ставит в начале имени файла слово "traffic". Вы можете продолжить имя файла суффиксом по своему усмотрению, например "traffic_Aeroflot.bgl".
Файл трафика содержит бинарный код, но TrafficTools может декодировать базу данных в удобочитаемую форму (декомпилировать), и снова сгенерировать в файл трафика (компилировать)
Любой из этих параметров может быть изменен в существующем расписании, или установлен для нового расписания:
Тип самолета: Вы можете поменять существующий самолет в расписании или привлечь для расписания новый самолет (включая добавленные самолеты, не входящие в дефолтный набор FS).
Время: Вы можете указать время вылета и время прибытия самолета в расписании.
Маршрут: Вы можете указать аэропорт вылета и аэропорт назначения для любого AI-плана
Аэропорты: Дефолтный файл трафика содержит полетные планы примерно в 5000 аэропортах мира. По существу, это все аэропорты FS, имеющие стоянки. Наличие стояночных мест - единственное условие для аэропорта в FS2004 для приема трафика. Вы можете использовать AFCAD для создания парковок в аэропортах, где их нет, тем самым вовлекая эти аэропорты в обслуживание трафика.
Высота: Вы можете управлять высотой полета для каждой цепи полетного плана индивидуально
Позывные: Вы можете указывать бортовые номера для каждого AI-самолета .Например, вы можете изменить для всех британских самолетов бортовые номера, соответствующие правилам британской регистрации. Кроме того, вы можете задать номера рейсов для коммерческих AI-планов.
Правила полета: Вы можете указать тип полета: ППП (IFR) или ВПП(VFR).
Пролет с касанием (Touch and Go): Вы можете запрограммировать AI-самолет для полетов по кругу над аэропортом (тренировочные полеты).
Следующие параметры нельзя задать с помощью файла трафика. Часть их определяется логикой FS, часть зависит от других файлов.
ВПП: Как и в реальной жизни, ВПП для взлета или посадки не назначаются полетным планом. Это функция УВД.
Руление: Опять же, в полетном плане не специфицируются маршруты и скорость руления. Это также является задачей УВД.
Место парковки: По умолчанию, FS назначает места для парковки или посадки/высадки, исходя из размеров самолета (используя значение радиуса, указанного в спецификации каждого типа самолета). Файл трафика не может повлиять на эти параметры. Назначение специальных мест парковок для определенных авиакомпаний тоже делается с помощью программ, изменяющих параметры аэропорта.
Авиалинии: Этот параметр может быть задан непосредственно в файле конфигурации самолета aircraft.cfg Файл трафика не затрагивает авиакомпании, но он может задавать номер рейса. Например 1202 для рейса "Landmark 1202".
Трасса: FS для всех AI-самолетов устанавливает маршрут от точки вылета до точки прибытия прямой линией (точнее частью большой дуги). Таким образом, маршрут AI-самолетов не зависит от навигации, воздушных трасс, SID, STAR и проч.
Логика AI: Вы не можете с помощью трафика изменить крейсерскую скорость самолета или скорость набора и снижения. Скорость определяется в файле aircraft.cfg для каждого самолета специфично. Маневрирование обусловлено логикой AI симулятора
Направление трафика: Все AI-самолеты летят только ОТ указанного аэропорта ДО указанного аэропорта. Нельзя создать трафик с произвольными случайными полетами. Но есть возможность запрограммировать самолеты на полеты по схеме вокруг какого-нибудь конкретного аэропорта (функция TNG)
УВД: Файл трафика не может повлиять на то, как УВД будет работать с AI-самолетом. Трафик только определяет правила работы - IFR или VFR
TTools имеет две основных функции: декомпиляция и компиляция.
Декомпиляция на основе базы данных трафика создает три текстовые файла, называемые "исходными". Вы можете редактировать любой из этих файлов, используя редактор, текстовый процессор либо какую-нибудь программу для управления трафиком.
Компиляция на основе трех тестовых "исходных" файлов генерирует новый файл трафика.
Если вы хотите хотите использовать дефолтный трафик в качестве основы для создания других новых расписаний путем добавления, вам достаточно просто декомпилировать дефолтный трафики использовать его исходные текстовые файлы в качестве основы.
Если вы решили отказаться от дефолтного трафика и использовать другие расписания, самостоятельно сделанные или от сторонних производителей - вам вообще нет необходимости декомпилировать файл дефолтного трафика
Если вы хотите изменить расписания путем внесения изменений в исходные текстовые файлы - вы можете сделать это, использую любой текстовый редактор, как например Notepad или Wordpad. Для добавления нового расписания или изменения существующего необходимо делать это в файле FlightPlans...txt
Если ваше новое расписание предусматривает использование нового типа самолета - вам следует добавить его описание в файл Aircraft.txt.
Если в вашем расписании присутствуют аэропорты, которые до этого не входили в обслуживание трафика - вам необходимо добавить информацию об этих аэропортах в файл Airports.txt. Кроме того, вы можете использовать утилиту CollectAirports, которая создает файл с данными обо всех аэропортах, имеющихся в вашем симуляторе в текущий момент.
Когда текстовые исходные файлы будут отредактированы, из них можно скомпилировать файл трафика (.bgl). После этого можно вносить в текстовые исходники любые изменения и вновь компилировать их столько раз, сколько вам необходимо.
FS2004 позволяет вместо одного файла трафика иметь множество файлов. Трафики от сторонних производителей могут поставляться в исходном текстовом формате (который можно скомпилировать), либо в уже скомпилированном BGL-формате (который можно декомпилировать для изучения расписания).
Ряд пакетов от разработчиков трафика содержат специальные установочные программы, которые в процессе установки трафика вызывают TTools для компиляции и установки файла трафика в нужный каталог, а также добавляют необходимые самолеты в каталог FS\Aircrat. (Пример - пакеты трафиков от Project AI).
TTools сохраняет местонахождение двух папок - Source Folder, где должны находиться исходные текстовые файлы расписаний и Traffic Folder, где размещаются BGL-файлы трафика. Пути к этим каталогам указаны в Окне TTools
По умолчанию, TTools устанавливает путь к исходным файлам тот же, где находится сама программа. TTools при этом показывает все находящиеся в этом каталоге текстовые файлы, начинающиеся словами "Airports", "Aircraft", и "FlightPlans" в левом списке окна программы. Для FS2002 и FS2004 используется один и тот же каталог с исходными файлами. С помощью меню вы можете указать свой собственный каталог с исходными файлами или в любой момент вернуться к дефолтному местонахождению

По умолчанию, TTools устанавливает путь к папке скомпилированных расписаний тот же, где располагается дефолтный файл трафика симулятора. TTools автоматически распознает путь к этому каталогу и показывает все установленные файлы трафика в правом списке окна программы (все BGL файлы, начинающиеся словом "traffic"). Если вы одновременно используете FS2002 и FS2004 - вам необходимо указать - с какой версией вы будете работать (делается это в меню File)
Кроме того, вы можете указать свой каталог для размещения компилированных файлов (например, если на компьютере не установлен MSFS, или вы не хотите, что бы созданные расписания по какой либо причине не подгружались к симулятору)
Каждому BGL файлу трафика соответствует набор из трех текстовых исходных файлов. FS2004 позволяет иметь произвольное количество таких наборов, имена которых должны соответствовать соглашению, позволяющие программе группировать эти файлы и связывать с файлом трафика. Файл трафика всегда должен начинаться со слова "traffic", но окончание имени (суффикс) может быть произвольным. Исходные три файла должны начинаться словами "Airports", "Aircraft" и "FlightPlans", и иметь тот же суффикс, что и файл трафика, например:
traffic_Aeroflot.bgl
Airports_Aeroflot.txt
Aircraft_Aeroflot.txt
FlightPlans_Aeroflot.txt
(Символ "_", разделяющий начало имени и суффикс НЕ является обязательным и применяется для удобочитаемости файлов)
FS2002 работает ТОЛЬКО с одним файлом трафика, поэтому нет необходимости в суффиксах имен, вы можете использовать "чистые" имена (traffic.bgl, Airports.txt, FlightPlans.txt, Aieports.txt.)? однако если используется одновременно FS2002 и FS2004, можно применить суффикс для обособления этого трафика от файлов FS2004, например:
traffic_FS2002.bgl
Airports_FS2002.txt
Aircraft_FS2002.txt
FlightPlans_FS2002.txt
Вы можете использовать в FS2004 множество файлов трафика (разделенных по каким-либо признакам - на ваше усмотрение, например по регионам, авиакомпаниям, аэропортам). Файл Airports...txt должен содержать информацию обо всех аэропортах, задействованных в данном расписании, но может содержать и большее количество аэропортов, это не является ошибкой. Также не является ошибкой дублирование аэропортов в различных файлах Airpotrs..txt. Также, файл Aircraft...txt должен содержать информацию обо всех самолетах, используемых в данном расписании, но может содержать и больше.
Декомпиляция НЕ ИЗМЕНЯЕТ никаких файлов и параметров в вашем Flight Simulator
Для декомпиляции необходимо следующее:
После декомпиляции слева в списке исходных файлов должны появиться три текстовых файла (Airports..., Aircrat..., FlightPlans...), имеющих тот же суффикс в имени, что и файл трафика. (в приведенном ниже примере суффиксом является "030528").

Теперь вы можете открыть любым текстовым редактором любой из этих исходных файлов. Файлы содержат строки текстовой информации, разделенной запятыми.
Перед самой первой компиляцией TTools создает резервную копию дефолтного трафика на тот случай, если понадобиться вернуться к дефолтному варианту. См Восстановление оригинального файла трафика
Для компиляции необходимо следующее:
Исходные файлы компилируются в один BGL файл трафика, имеющего тот же суффикс в имени. (на примере ниже это - "030528"). Если файл трафика с таким именем уже существовал - он переписывается заново. Имя файла вы можете видеть в правом списке окна

Вы можете запустить Flight Simulator и увидеть результаты скомпилированного трафика.
Все что нужно компилятору для создания трафика - это три исходных текстовых файла. Вы можете декомпилировать любой имеющийся трафик , а затем скомпилировать его снова сколь угодно раз. Исходные и декомпилированные текстовые файлы могут отличаться. Это связано с тем, что декомпилированные файлы не будут содержать комментариев, кое-какие параметры будут округлены. В любом случае - эффект, производимый этими файлами на AI-трафик будет индентичный.
Вы можете компилировать и декомпилировать расписания в любой момент, даже если FS в это время уже запущен. Однако, для того, чтобы эти изменения произвели эффект - симулятор потребуется перезагрузить.
CollectAirports это отдельная программа из комплекта TTools, которая сканирует базу данных аэропортов, имеющихся в симуляторе (FS2004 или FS002) и создает новый текстовый файл, содержащий информацию об этих аэропортах.
Этот текстовый файл содержит такие данные, как идентификатор и координаты всех аэропортов симулятора на текущий момент. Данная процедура позволяет избежать ручного внесения строчек для аэропортов, используемых в ваших расписаниях.
Конечно, вам может никогда не понадобятся все аэропорты из этого файла, однако наличие такой информации представляется полезной и не должно быть причиной неудобств.
Чтобы всегда иметь самый полный список всех аэропортов симулятора, вам понадобится запускать CollectAirports после любой установки нового аэропорта.
Если вы имеете множество различных расписаний - вы можете использовать в них один и тот же файл со списком всех аэропортов, должным образом переименованный для каждого файла трафика. Однако необходимо учитывать, что в таком случае все эти файлы загружаются в память. Если файлов трафика немного - это не должно вызвать проблемы, однако неизвестно, какой результат получится при загрузке сотни таких одинаковых больших списков аэропортов в память одновременно
Необходимо помнить, что:
Наличие аэропорта в списке "Airports...txt" не означает участие этого аэропорта в трафике. Необходимо еще, чтобы этот аэропорт фигурировал в планах-расписаниях файла "FlightPlanst...txt"
И CollectAirports и TTools в процессе декомпиляции переписывают файл "Airports..txt". Помните это, чтобы случайно не потерять данные после декомпиляции, если вы только что вручную добавили несколько аэропортов в список.
Если даже при использования файла, созданного CollectAirports в качестве файла "Airports...txt" компилятор выводит сообщение об отсутствии аэропорта - это означает, что один из ваших полетных планов содержит ссылку на аэропорт, которого нет в вашем симуляторе.
Если вы снабдили файл аэропортов комментариями, или вручную подправили координаты аэропорта - CollectAirports удалит эти комментарии, а координаты заменит на те, которые хранятся в базе данных симулятора.
Как уже указывалось ранее, компилятор сохраняет резервную копию дефолтного трафика. В FS2002 этот файл получает имя traffic_ORIGINAL.bbb, в FS2004 - traffic030528.ORIGINAL. Для восстановления дефолтного трафика достаточно вернуть этому файлу расширение "BGL". Файл резервной копии дефолтного трафика размещается по адресу:
для FS2002:
...\FS2002\SCENEDB\ATC\Scenery
Для FS2004:
...\Flight Simulator 9\Scenery\World\Scenery
Примечание: Если вы хотите сделать резервную копию любого вашего файла-трафика, необходимо указать ему расширение - отличное от "BGL". Если вы этого не сделаете, а просто скопируете файл и оставите ему имя, например, "Копия traffic_Aeroflot.BGL", при следующей загрузке симулятор расценит этот файл, как новый трафик, а вы получите два абсолютно одинаковых трафика.
AI-трафик не генерируется автоматически. Каждый AI-полет управляется полетным планом, хранящемся в файле трафика. В дефолтном трафике таких планов около 30,000. Большинство планов дефолтного трафика имеет два этапа (туда и обратно). Также, каждый план может содержать информацию о периодичности полета (от еженедельно до ежечасно). Дефолтный трафик инициирует свыше 100'000 перелетов в день
Вы можете задаться вопросом- как компьютер справляется с управлением нескольких тысяч одновременно летящих самолетов по всему миру. На самом деле AI управляет полетом только тех самолетов, которые попадают в AI-зону вокруг местоположения вашего самолета, так что AI управляет гораздо меньшим количеством самолетов, хотя в зонах с плотным трафиком это количество может превышать 100. Остальная часть AI-полетов в этот момент не активирована до тех пор, пока не попадет в AI-зону. Когда AI-самолет покидает AI-зону, этот полет деактивируется.
FS разделяет весь мир сеткой на прямоугольные сектора размером около 40 миль. Файл трафика содержит массивную матрицу, содержащую информацию о том, какие полеты должны проходить в конкретном секторе в конкретное время. AI-зона состоит из сектора, в котором находится ваш самолет и смежных к нему секторов, т.е. AI-зона включает в себя 9 секторов, в итоге - квадрат со сторонами 120 миль.
Вас не должно заботить - в каких секторах с точки зрения AI будет проходить ваш полет и какие AI-самолеты должны попасть в эти сектора в это время - компилятор рассчитает это сам.
Многие планы полетов повторяются каждые 24 часа. Таким образом, если вы часто вылетаете из одного и того же аэропорта в одно и тоже время - вам по пути будут встречаться одни и те же AI-самолеты, совершающие свои плановые полеты (причем в одних и тех же фазах - взлет, прибытие, полет на эшелоне...). Кроме того, полетные планы могут задавать недельную периодичность, т.е. такие самолеты совершают полеты по определенным дням недели.
Хотя файл трафика определяет "кто", "куда" и "когда" будет лететь, он не управляет каждой деталью этого AI-полета. Поведение AI-самолета будет обуславливаться встроенной AI-логикой симулятора и командами УВД.
AI-логика может заставить AI-самолет исчезнуть в определенных условиях. Например, если после приземления самолета в порту назначения выясняется, что нет доступных мест парковки. Такой самолет исчезает сразу же, после торможения на ВПП. Самолет может исчезнуть, если попал в "пробку" и пробыл в заблокированном состоянии 5 минут. Причиной исчезновения самолета могут стать несколько уходов на второй круг по указанию УВД.
При запуске симулятора в каком-либо порту, все AI-самолеты, которые должны были отправиться в промежутке за 5 минут до запуска игры (а в FS2002 - за 15 минут) - все отправляются на взлет (Так, как будто до вашей загрузки аэропорт был закрыт для вылетов на 5 минут, а после вашего появления - вновь открыт). Это может привести к появлению очередей из AI-самолетов на рулежках перед ВПП. Но когда эта партия самолетов отбудет (или исчезнет - если простоят в пробках более 5 минут) - работа трафика будет соответствовать установленному расписанию.
Исходные файлы могут быть созданы различными средствами, от простых текстовых редакторов до специальных программ для работы с трафиком.
Все данные разбиты на строки, а в строке разделяются запятыми. Для удобочитаемости таких строк можно разделять данные дополнительно к запятым пробелами или символами <TAB>. На работу компилятора дополнительные пробелы эффекта не оказывают.
Вы можете вставлять строки в любой последовательности, компилятор сам позаботится об их сортировке, если это потребуется.
Для создания новой строки иногда проще скопировать и вставить уже имеющуюся строку, которую потом отредактировать
Файл FlightPlans...txt может быть очень большим, что делает его неудобным для изучения и редактирования. Кроме того, компиляция больших файлов может занимает больше времени. Если вы моделируете отлаживаете какое то расписание, есть смысл выделить его в отдельный файл, который и читать легче и компилировать быстрее. Кроме того, если на время отладки временно убрать все остальные файлы трафика - вам будет проще отслеживать ваше расписание, не будет необходимости различать самолеты отлаживаемого расписания от другого трафика..
Необязательно создавать файл "Airports..txt" вручную. Вы можете воспользоваться результатом работы утилиты airport collector
Комментарии
Вы можете вставлять строки с комментариями. Комментарии должны начинаться символами " ;" или " //". Комментарии должны располагаться либо на отдельной строке, либо в конце строки данных. Можно для разделения данных использовать пустые строки. Помните, что при декомпиляции текстовые файлы перезаписываются, при этом комментариев в них не будет
Примеры комментариев:
; Это комментарий // другой комментарий AC#3,430,"Boeing 737-400" ; комментарий в конце строки AC#4,430,"Boeing 737-400 Paint1" // другой комментарий в конце строки
Следующие разделы описывают форматы трех исходных файлов.
Это один из трех исходных файлов, необходимых для создания трафика. Он представляет собой построчный список всех аэропортов, на которые ссылаются планы полетов из файла FlightPlans...txt.
Хотя мир FS имеет около 23,000 аэропортов, только часть из них (несколько тысяч дефолтных аэропортов) может принимать трафик. Критерий, позволяющий AI-самолета прибывать и улетать из порта - наличие парковок для самолетов
Самолет не будет работать в трафике с аэропортом, если аэропорт не содержит стоянку, по размерам подходящую AI-самолету. Например, если аэропорт имеет только стоянки "GA small", Boeing-737 не будет работать с таким аэропортом.
Если аэропорт не имеет стоянок, либо их размеры и количество недостаточное - это можно изменить с помощью программы AFCAD, либо загрузить уже готовый AFCAD-файл для аэропорта, содержащий правильную информацию о парковках.
В FS2002 существует второе условие для функционирования AI-трафика - наличие в порту УВД. Вы можете создать расписание, согласно которому самолет будет прилетать в неконтролируемый аэропорт. Однако после приземления этот самолет останется на ВПП и никогда не покинет ее. В FS2004 это ограничение снято, можно использовать для трафика аэропорты без УВД беспрепятственно, самолеты будут вести себя корректно, согласно расписанию
Вы можете добавить вышку в аэропорт FS2002 с помощью AFCAD. При этом в аэропорту не появится видимой вышки, однако можно задать радиочастоты для Старта, Руления. Тем самым сделать аэропорт доступным для трафика с точки зрения AI
Ниже приведен формат файла Airports...txt. Каждая строчка описывает отдельный аэропорт:
KLAS,N36* 5.02',W115* 9.13',2178 KLAW,N34* 34.25',W98* 24.99',1109 KLAX,N33* 56.74',W118* 24.48',125 KLBB,N33* 40.00',W101* 49.36',3281
Описание полей:
KLAX , N33* 56.74' , W118* 24.48' , 125
| | | |
ICAO Широта КТ Долгота КТ Превышение
код аэропорта
аэропорта (в футах)
ICAO код аэропорта:
Определяет
фактический аэропорт симулятора. Если симулятору не знаком указанный код,
AI-самолет будет лететь к точке, заданной параметрами
Широта/Долгота, однако посадку совершать там не будет.
Широта/Долгота КТ:
Определяет
местоположения аэропорта путем задания координат Контрольной Точки аэропорта.
Кроме того эти координаты задают некую навигационную точку, которую
AI-самолеты используют наподобие маяка VOR.
Отбывающие самолеты будут
придерживаться линии между точкой аэропорта отбытия и точкой аэропорта
назначения. Прибывающие самолеты тоже подлетают к этой точке как будто по
радиалу VOR, и лишь на удалении 50-60 миль от аэропорта
(для реактивных судов) отклоняются от этой линии для вписывания в схему захода
на посадку. Для большей реальности поведения AI-самолетов вы можете передвинуть эту точку в место реального схождения
воздушных трасс рядом с аэропортом. Однако при этом следует убедиться, что эта
точка находится не слишком далеко от аэропорта ( в том же AI-секторе), иначе AI самолеты в аэропорту посадку
совершать не будут.
Превышение аэропорта:
Задает в
футах превышение аэропорта относительно уровня моря. Используется для расчета
снижения AI-самолета. Превышение может быть пропущено,
самолеты будут приземляться и без него, однако указание превышения позволяет
снижаться самолетам более корректно. Если вы изменяете это значение на какое-то
другое - убедитесь, что AI-самолеты (как реактивные, так и
легкомоторные) могут совершать посадку в этом аэропорту, а не уходят на второй
круг.
Это один из трех исходных файлов, необходимых для создания трафика. Он представляет собой построчный список всех самолетов, на которые ссылаются планы полетов из файла FlightPlans...txt.
Простое добавление самолета в этот список не означает его появдение в трафике. На этот самолет должны быть ссылки в полетных планах
Не все самолеты хорошо работают в качестве AI-самолетов (Не все йогурты одинаково полезны :) ). Перед добавлением нового самолета настоятельно рекомендуется прочитать раздел Указания для добавления самолетов.
Вы можете заменить какой либо существующий в AI-трафике самолет другим, Он сразу же появится в трафике. Однако убедитесь, что новый самолет того же класса, что и бывший. Планы определяют эшелоны движения воздушного судна, поэтому если вы замените Boeing на Cessna, то Cessna будет стараться занять недостижимую для себя высоту, выбьется из расписания и имеет все шансы исчезнуть. Также и Boeing на месте Цессны будет лететь на нереальной высоте и имеет все шансы разбиться на подходе к аэропорту.
Полетные планы ссылаются на самолет через идентификатор, который начинается символами "AC#", например AC#32. Если в файле Aircrafts...txt вы поместите под этим номером другой самолет, расписания будут ссылаться на новое воздушное судно.
Если вы хотите увеличить количество самолетов, участвующее в трафике, необходимо описать эти самолеты в файле Aircraft.txt, и сделать ссылки на них в расписаниях файла FlightPlans.txt
Количество описываемых самолетов ограничено значением 65535, однако в реальности их количество может быть ограничено имеющейся памятью и производительностью системы
Ниже - несколько строк из файла Aircraft.txt. Каждая строчка описывает один самолет:
AC#1,200,"Beech Baron 58" AC#2,315,"Beech King Air 350" AC#3,477,"Boeing 737-400" AC#4,477,"Boeing 737-400 Paint1" AC#5,477,"Boeing 737-400 Paint2" AC#6,477,"Boeing 737-400 Paint3" AC#7,477,"Boeing 737-400 Paint4"
Описание полей:
AC#4 , 477 , "Boeing 737-400 Paint1" | | | Идентификатор Крейскрская Название самолета самолета скорость самолета
Идентификатор самолета:
Используется компилятором. По этому идентификатору
планы полетов ссылаются на конкретный AI-самолет. Например,
если flight
plan содержит ссылку на самолет AC#4, то
в файле Aircrafts.txt ОБЯЗАТЕЛЬНО должен присутствовать самолет с кодом AC#4. Вы
можете присваивать самолетам любой номер (до 65536). В пределах одного файла
Aircrafts.txt каждый самолет должен иметь уникальный, не
повторяющийся номер.
Крейсерская скорость:
Это
крейсерская (TAS) скорость cамолета. Может быть взята из спецификации самолета
или литературы. Обратите внимание, что эта скорость НЕ описывает фактическую
скорость AI-самолета, с которой он будет лететь в
симуляторе (скорость полета AI берет из файла
aircraft.CFG для каждого самолета ).
Крейсерская скорость из Aicrafts.TXT используется
только компилятором для вычисления времени полета и прибытия самолета в место
назначения, если план полета не задает конкретное время прибытия.
Название самолета:
Это название
должно точно соответствовать параметру TITLE секции
[FLTSIM.X] файла "AIRCRAFT.CFG". Каждая
секция [fltsim.X] должна иметь уникальное значение
Title="....", которое однозначно определяет комбинацию
Модель+Ливрея. Например "Tu-154M AFL" или
"Tu-154M BTC"
Это главный из трех исходный файлов трафика. Он описывает непосредственно расписания - планы полетов.
Каждый план определяет полный кругооборот самолета, и должен содержать не менее двух этапов (legs) (туда-обратно). Максимальное количество этапов - 200. После пролета всей цепи плана самолет возвращается в изначальный аэропорт.
Убедитесь, что каждый этап полета заканчивается аэропортом, для корректной работы трафика
Хотя полетные планы как правило содержат два и более аэропорта, есть возможность организовать круговой полет вокруг одного аэропорта. См Пролет с касание (TNG).
ВАЖНО: Каждый полетный план создает один "виртуальный" самолет и программирует его действия. В отличие от реального мира, где один и тот же самолет может иметь несколько планов в течение дня или недели, AI-самолет может иметь только один план полета Если вы создаете свое расписание, и для каждого рейса создаете отдельный новый самолет, дело может закончиться достаточно большим количеством самолетов, которые большее время будут находиться не земле в ожидании своего времени и занимая стоянку. Если самолет совершает в день (неделю) несколько челночных рейсов, то это можно задать в одной строке плана полета, указав периодичность рейсов
Каждый план полета характеризуется интервалом периодичности. Период может составлять часы ( 1, 2, 4, 6, 8, 12, 24), либо Неделю. В последнем случае полет производится в указанный день каждую неделю.
Все AI-полеты проходят по прямой линии от аэропорта вылета до аэропорта назначения. FS не представляет возможности разбить один этап полета на сегменты, характеризующие движение по авиатрассам. Нет возможности смодулировать полет AI-самолета по путевым точкам
Каждый план полета содержит базовую часть и этапы полета. Базовая часть характеризует параметры всего полета самолета (например, тип самолета и его бортовой номер). Компоненты этапа описывают только один полет из одного аэропорта в другой (собственно сами порты, время вылета, эшелон и др).
Ниже приведены строчки из файла FlightPlans...txt. Каждая строка описывает один план полета одного самолета:
AC#4,N29696,56%,12Hr,IFR,01:46:21,06:29:27,320,F,2953,KLAX,07:46:16,12:29:22,310,F,2954,KMCO AC#27,N68008,95%,8Hr,IFR,00:11:37,03:15:36,190,F,4365,KGEU,04:11:33,07:15:32,180,F,4366,KSFO AC#1,N60168,51%,24Hr,IFR,03:45:43,09:28:50,050,F,1782,CYYZ,15:45:32,21:28:40,060,F,1783,CYQR
Ниже одна строка (но для удобства разбитая на составные части):
База : AC#4,N29696,56%,12Hr,IFR, Этап 1: 01:46:21,06:29:27,320,F,2953,KLAX, Этап 2: 07:46:16,12:29:22,310,F,2954,KMCO
Каждый этап плана должен заканчиваться кодом аэропорта. Аэропорт из последнего этапа является начальным аэропортом вылета для следующего этапа. Последний аэропорт последнего этапа является аэропортом вылета для первого этапа. Таким образом, маршрут самолета AC#4 начинается в аэропорту KMCO. Согласно первому этапу маршрута самолет в 01:46 вылетает в KLAX. Из него в 07:46 самолет вылетит назад в KMCO.
БАЗОВЫЕ КОМПОНЕНТЫ:
Ниже приведены базовые компоненты полетного плана, с описанием каждого поля. Эти параметры постоянны для каждого этапа маршрута:
AC#4 , N29696 , 56% , 12Hr , IFR | | | | | Идентификатор Бортовой Процент Интервал Правила самолета номер трафика полета
Идентификатор самолета:
Используется только компилятором. Указывает на
конкретный самолет в списке Aircraft...txt
для использования с этим расписанием. Такие параметры полета, как
высота, расстояние и проч. должны соответствовать классу выбираемого
Бортовой номер:
Этот номер
использует УВД для обращения к самолету (если самолет не принадлежит
авиалиниям). Бортовой номер может иметь любую комбинацию
знаков (до 7). Имеет смысл указывать бортовые номера для самолетов согласно
принятым соглашениям.
Процент трафика:
Указывает
на то, будет ли инициироваться этот план в трафике в
зависимости от настроек симулятора ‘Traffic Percent’ (в
окне ATC/Traffic) Фактически, процент трафика
расписания указывает, какой минимальный процент должен стоять в симуляторе для
появления этого самолета в трафике. Таким образом, при установках симулятора 60%
этот самолет присутствовать будет. А при установках 50% - нет. Если в симуляторе
процент выставлен на 100 - все самолеты трафика будут присутствовать.
Интервал:
Указывает, как часто
должно повторяться расписание. Возможные значения: 1 Hr, 2 Hr, 4 Hr, 6Hr,
8Hr, 12 Hr, 24 Hr, WEEK. Например, если план полета из KORD
в CYYZ предусматривает 6-часовую
периодичность, а время вылета из KORD 00:21 GMT (UTC), то значит этот же самолет вылетит из KORD в 06:21, 12:21 и 18:21. И так
каждый день. Если вы указываете периодичность 6 часов -
убедитесь, что самолет успеет за 6 часов слетать туда и обратно (включая время
на руление, заходы на посадку и возможные уходы на второй круг). Если самолет не
вписывается в расписание, то есть долго находится в одном секторе, хотя по плану
должен быть уже в другом - у него есть все шансы исчезнуть.
Правила полета
Указывает по
каким правилам будет проходить полет (IFR или VFR)
КОМПОНЕНТЫ ЭТАПА
Здесь приведен пример описания этапа полета. Эти параметры определяют свойства только конкретного этапа. План полета должен содержать как минимум два этапа. В любой момент к плану полета может быть добавлено любое количество зэтапов, при условии, что последним аэропортом в строке должен быть указан аэропорт, из которого планируется начало маршрута.
01:46:21 , 06:29:27 , 320 , F , 2953 , KLAX
| | | | | |
Время время Эшелон F Номер аэропорт
вылета подлета или рейса назначения
R
Время вылета:
Это время,
когда самолет покинет место парковки (плюс-минус несколько секунд на включение
систем и запрос УВД). Все планы полетов используют UTC (GMT)
время. Формат времени - чч:мм:сс, но
секунды при указании времени не обязательны.
Если для плана была указана периодичность WEEK (ЕЖЕНЕДЕЛЬНО), то перед временем отправления следует указать номер дня недели, по которому самолет будет отправляться. Это цифра от 0 до 6 (0=Вс, 1=Пн, 2=Вт, 3=Ср, 4=Чт, 5=Пт, 6=Сб). Формат указания дня недели следующий: дд / чч:мм:сс,например запись 3/23:00:00 означает отправление в 23:00 (GMT) каждую среду. Если день недели отправления указан, а параметр WEEK в базовой части строки отсутствует, то день недели компилятором игнорируется.
Время прибытия:
Это
время достижения аэропорта назначения. Есть два варианта времени прибытия:
фиксированное время и время, рассчитанное компилятором.
По умолчанию, компилятор сам рассчитывает время прибытия, и при составлении плана полета его можно не заполнять или заполнять любым значением (например ,, или ,00:00,). Когда компилятор на основе расстояния между двумя аэропортами и крейсерской скорости, указанной в спецификации самолета (AIRCRAFT.CFG) вычисляет время прибытия, это фактически является временем достижения самолетом воздушного пространства аэропорта. На парковке данный самолет должен появиться примерно минут через 15 ( время на предпосадочный маневр, заход и посадку, руление от ВПП до парковки). Эти 15 минут являются примерным временем и могут меняться в любую сторону в зависимости от ряда параметров (заход по прямой или вписывание ко 2-му, ближняя или дальняя от полосы парковка и т.п.). При компиляции программа на это место вставляет вычмсленное значение времени прибытия. Его можно увидеть, если декомпилировать файл трафика.
Альтернативный способ указания времени - фиксированное время прибытия. Оно предваряется символом @ (например @11:26:00 или @6/22:13:00). В этом случае компилятор вычисляет крейсерскую скорость самолета, подгоняя ее под значение, необходимое для достижения аэропорта к заданному времени. Когда задается фиксированное время прибытия, это фактически является временем появления самолета на парковке (плюс-минус несколько минут), а не временем достижения самолетом воздушного пространства аэропорта, как в первом случае.
Имеется еще один вариант указания времени - ‘TNG’ (Touch and Go), например TNG15:00:00. Это указывает, что достигнув аэропорта назначения, самолет должен совершать круги вокруг аэропорта, пока не наступит указанное время ( в данном случае - 15:00).
Эшелон:
Это высота, на
которой AI-самолет будет осуществлять полет. Указывается
в сотнях футов. Для придания трафику большего
реализма, рекомендуется назначать эшелон полета в соответствии с правилами. На
протяжении одного этапа маршрута самолет выполняет полет на одной постоянной
высоте, однако для каждого этапа маршрута может быть задана своя высота.
F или R
‘F’ в этом поле
означает, что самолет принадлежит авиакомпании, и УВД будет обращаться к данному
самолету по названию авиакомпании и номеру рейса. Например, "Landmark 1213"
(при этом название авиакомпании берется из секции [fltsim.x]
файла aircraft.cfg, а номер рейса - из
описания этапа маршрута). ‘R’ означает, что УВД будет
обращаться к самолету по бортовому номеру. В дефолтном трафике все планы имеют
признак ‘F’.
Номер рейса:
Это значение
имеет смысл, если для этапа маршрута установлен признак "F".
В этом случае УВД будет обращаться к самолету по названию
авиакомпании и этому номеру рейса. Помните, что название авиакомпании задается
не файлом трафика, а спецификацией самолета Aircraft.cfg.
Например при обращении к самолету "Landmark 2953",
слово "Landmark" берется из секции [fltsim.x],
а номер рейса - из описания этапа маршрута.
Помните, что в реальной жизни обычно номера рейсов "туда" и
"обратно" различаются (по схеме четные-нечетные номера). Это поле не может
содержать буквы, только цифры.
Аэропорт назначения:
Указывает аэропорт назначения данного этапа маршрута. Этот аэропорт должен
быть обязательно указан в файле Airports...txt,
и иметь необходимые парковки для того, чтобы обслуживать данный трафик.
Последовательность этапов:
Здесь приведен пример маршрута из четырех этапов. Для удобочитаемости этапы приведены каждое на новой строке, однако в файле FlightPlans.txt и база и все этапы одного маршрута необходимо размещать строго на одной строке:
База : AC#6,N14023,1%,12Hr,IFR, Этап 1: 01:02:00,01:42:00,250,F,7770,KLAS, Этап 2: 02:45:00,04:06:32,250,F,7771,KDEN, Этап 3: 05:05:00,07:02:19,260,F,7772,KSFO, Этап 4: 07:50:00,08:40:46,025,F,7773,KLAX
Последовательность маршрута будет следующая:
Обратите внимание, что AI-самолеты не имеют никакого "домашнего" аэропорта. Начальный аэропорт - это просто порт, откуда начинается маршрут самолета. Концепция "домашнего" аэропорта в симуляторе не определена. Начальным аэропортом в маршруте может быть любой аэропорт.
Еженедельные маршруты:
Ниже приведен пример плана полета, составленного с недельной периодичностью из Лос-Анджелеса в Сидней (Австралия). Время вылета из LA - вторник 12:00 (GMT). Время прибытия в Сидней - среда 01:43 (GMT). Обратно самолет отбывает в среду 05:00 (GMT) и прибывает в LA в среду 18:43 (GMT)
Base: AC#11,N10322,10%,WEEK,IFR, Leg1: 2/12:00:00,3/01:43:33,360,F,7366,YSSY, Leg2: 3/05:00:00,3/18:43:36,350,F,7363,KLAX
Важные моменты при составлении еженедельных расписаний:
Если эти правила не соблюдать - симулятор не выдаст ошибку. Однако AI-самолеты не будут появляться там, где вы запланировали.
Touch and Go’s (Пролет с касанием):
В FS2004, Microsoft добавила возможность задавать AI-самолетам режим полета по кругу вокруг аэропорта ("коробочка"). Для этого следует время прибытия дополнить префиксом ‘TNG’, например:
AC#26,N14023,1%,24Hr,VFR,
20:00:00,TNG21:30:00,050,R,0000,CZBB,
23:00:00,23:35:00,050,R,0000,CYXX,
Любой этап маршрута может иметь время прибытия, отмеченное TNG. В этом случае, самолет, достигнув аэропорта назначения, начинает совершать полеты по кругу, дожидаясь наступления заданного времени (В нашем примере 21:30). Однако, если в следующем этапе маршрута время отправления указать через 10 минут или менее (например 21:09), то самолет не будет совершать посадку вообще, а сразу уйдет по маршруту следующего этапа. Если же время отбытия в следующем этапе составляет зазор более 10 минут - самолет совершит нормальную посадку, достигнет парковки, и покинет ее в назначенное время . НО между TNG временем прибытия и временем отбытия в следующем этапе необходимо оставлять пару минут. Если время прибытия и вылета будут ссылаться на один и то же момент времени - возможно появление проблем.
В этом примере самолет взлетает в 17:00 из аэропорта CYOW и немедленно начинает совершать полеты по кругу. В 18:00 он совершит посадку и зарулит на парковку. Затем, в 20:00 он взлетит снова и через час круговых полетов приземлиться снова.:
AC#26,N1234,1%,24Hr,VFR,
17:00:00,TNG18:00:00,010,R,0000,CYOW,
20:00:00,TNG21:00:00,010,R,0000,CYOW,
Целесообразно в качестве высоты таких полетов указывать высоту круга аэропорта.
FS2002 параметр TNG игнорирует, и самолет совершит посадку при достижении аэропорта, не дожидаясь наступления указанного времени.
Каждый самолет в симуляторе специфицируется файлом aircraft.cfg, который определяет множество параметров этого самолета, а также его модификации и окраску. Три параметра их этого файла AI игнорирует:
atc_id=N700MS
Этот параметр самолета в трафике игнорируется.
AI-самолет будет всегда иметь бортовой номер,
указанный для него в файле FlightPlans.txt
atc_flight_number=1123
Этот параметр самолета в трафике
игнорируется. AI-самолет будет всегда иметь номер
рейса, указанный для него в файле FlightPlans.txt
atc_airline=Orbit
Обычно, если этот параметр в файле
aircraft.cfg определен, УВД считает, что самолет
принадлежит авиакомпании, и обращается к нему по названию авиалинии и
номеру рейса ("Orbit 3401"). В файле трафика нельзя изменить принадлежность
самолета к авиакомпании, однако при составлении маршрута можно указать признак
"R", после чего УВД будет обращаться к
AI-самолету по его бортовому номеру ("N29696"). Если в
файле aircraft.cfg не указан параметр atc_airline,
УВД будет обращаться к самолету всегда по бортовому номеру, независимо от "F"
или "R", указанному в плане полета.
Ряд добавляемых в симулятор самолетов не могут корректно работать в трафике. Основные проблемы: отсутствие шасси у самолета, аварии при посадке и понижение производительности (fps). Всех этих проблем можно избежать, используя самолеты, которые специально разрабатывались, как AI-самолеты для работы в трафике. Группа Project AI (PAI), например, разработала огромное количество AI-моделей для трафика.
Если же в трафике предполагается использовать самолеты, которые изначально не были ориентированы, как AI-самолеты, нужно быть готовым к следующим проблемам:
Отсутствие у самолета шасси, не движутся подвижные детали:
Это характерная черта для самолетов, разработанных для FS98 и FS2000, (и иногда для FS2002). Большинство самолетов, разработанных старыми программами просто не имеет подвижных частей, которые могут управляться AI. Т.е. шасси не показаны, закрылки и винты не движутся. Самолет может при этом корректно взлетать и садиться, но без шасси на рулении и стоянке он будет выглядеть "подвешенным" над землей.
Для этой проблемы не существует решения, кроме рекомендации использовать самолеты более новых версий
Самолеты, созданные с использованием GMAX не имеют таких проблем и рекомендованы для использования.
Аварии при посадке или нереальное поведение в воздухе:
Вторая проблема, возникающая с рядом самолетов при использовании их в трафике - нереальное поведение в воздухе и неспособность приземлиться без аварии. Это является проблемой AI-логики, чересчур чувствительной к летной модели (динамики) самолета. Проблема решается использованием динамики ( файл .AIR) от другого самолета, который корректно работает в трафике. Предпочтительно, чтобы эти самолеты были одного класса. Можно использовать AIR фалы от дефолтных самолетов симулятора.
Например, вы можете в качестве динамики для A320 использовать .air файл от дефолтного 737. Этот файл находится в каталоге этого самолета и называется, например, "Boeing737-400.air". Если вы используете файл динамики от другого самолета - скопируйте его в каталог нужного самолета и дайте ему имя такое же, какое имел файл старой динамики.
Это имеет один побочный эффект - если вы захотите использовать такой самолет для самостоятельных ("ручных") полетов - самолет будет летать точно так, как летает самолет, от которого заимствовали динамику. Для приведенного выше примера, A320 останется выглядеть так же, однако в воздухе его поведение не будет ничем отличаться от Boeing 737. Чтобы избежать этого, рекомендуется делать отдельную копию для AI-самолета, и уже в ней менять динамику. Таким образом у вас будет две папки с самолетом, одна - с оригинальной моделью (для "ручных" полетов), одна - с замененной динамикой (для использования в трафике). Помните, что в файле aircraft.cfg AI-самолета нужно будет поменять параметр TITLE, на любой, отличный от уже имеющегося. И это нужно делать для во всех секциях [FLTSIM.X]. Например "title=A320 Paint1" поменять на "title=AI A320 Paint1"
После таких действий в списке выбора самолетов у вас появятся две копии этого самолета. Если вы не желаете видеть в этом списке AI-версии самолетов, для таких самолетов необходимо в AIR-файле изменить параметр "AircraftType=0" на "AircraftType=2". Так как файл .AIR - бинарный, для этой операции необходимо использовать специальные программы, предназначенные для модификации .AIR файлов. Например, утилиту "AirEd", которую легко найти на сайтах, посвященных симулятору.
Снижение fps:
Как правило, чем более детально проработана визуальная модель самолета, чем больше полигонов она имеет, тем больше ресурсов требуется на ее обработку и отрисовку. Если у вас в аэропорту стоят три десятка высокодетальных AI-самолетов - падение fps может быть реально ощутимым. Решение - использовать для трафика визуальные "облегченные" модели, с возможно меньшим количеством полигонов. Как правило, командами, разрабатывающими AI-самолеты это требование всегда учитывается.
Следующие параметры командной строки могут применяться для запуска TTools из консоли, BAT-файлов или других программ.
ПАРАМЕТРЫ
Регистр букв значения не имеет
/co<suffix>
Compile: Задает автоматическую компиляцию при
запуске программы. После компиляции программа завершается автоматически (если не
были заданы параметры /fp или /ep). Суффикс определяет набор исходных текстовых
файлов для компиляции. Пример /co030528 - автоматически скомпилируется
файл трафика "traffic_030528". Суффикс можно заключать
в кавычки ( /co"30528"). Если исходные файлы не имеют суффикса (например. FlightPlans.txt)
используется просто /co.
/de<suffix>
De-compile: Задает автоматическую компиляцию при
запуске программы. После компиляции программа завершается автоматически (если не
были заданы параметры /fp или /ep). Суффикс определяет файл трафика для
декомпиляции. Пример: /de030528 - автоматически декомпилируется файл
трафика "traffic030528.bgl". to be de-compiled. Суффикс можно заключать в
кавычки ( /co"30528"). Если файл трафика не имеет суффикса (например.
traffic.bgl) используется
просто /de.
/sd
Задает режим использования дефолтной папки исходных
файлов. В одной строке нельзя использовать одновременно параметры /sd и /sf.
Если никакой параметр не указан - параметр /sd принимается по умолчанию
/sf<source folder>
Задает пользовательский каталог исходных
файлоа для компиляции и декомпиляции. Пример: /sfc:\AIPlanning\ . Если
путь к каталогу содержит пробелы, его необходимо заключить в кавычки: /sf
"c:\AI Flight Planning\" Последний соэш ‘\’ -необязателен. В одной
строке нельзя использовать одновременно параметры /sd и /sf.
/t2
Определяет версию симулятора FS2002
(для правильного нахождения каталога с компилированным файлом трафика). В одной
строке нельзя использовать одновременно параметры /t2
, /t4 и /tf. Если
никакой параметр не указан - параметр /t4 принимается
по умолчанию (или /t2, если
FS2004 не будет найден)
/t4
Определяет версию симулятора FS2004
(для правильного нахождения каталога с компилированными файлами трафика).
В одной строке нельзя использовать одновременно параметры /t2,
/t4 и /tf.
/tf<traffic folder>
Задает пользовательский каталог с файлами
трафика. Например: /tfc:\AIPlanning\ or /tf "c:\AI
Flight Planning\". В одной строке нельзя использовать одновременно параметры /t2,
/t4 и /tf.
/fp
Finish Promt: Запрос при завершении.
Если этот параметр используется с параметрами /co или /de после завершения
компиляции/декомпиляциипрограмма не завершится автоматически, а выведет
диалоговое окно "Click OK to
Exit". Без этого параметра программа завершает свою работу автоматически без
запроса на подтверждение.
/ep
Error Prompt: Этот параметр вызовет диалоговое окно, если в
процессе компиляции/декомпиляции произошла ошибка, чтобы пользователь мог видеть
подробности. Если в процессе работы ошибки не произошло - программа завершится
автоматически
/na
No Arrivals: Указывает программе не вставлять рассчитанное
время прибытия в файл FlightPlans…txt
Разработчики, желающие вызывать TTools автоматически из своих программ (например, используя функцию API ShellExecute), могут делать это так:
Ttools.exe /co"MyPlans" /t4
Или так:
TTools.exe /co"MyPlans" /sf"MyAIProgram" /t4
При работе с TTools в GUI-интерфейсе все изменения в настройках программы, произведенные пользователем - сохраняются. Таким образом, программа будет помнить пути к папкам, которые были указаны в предыдущем сеансе. Но при запуске TTools с параметрами командной строки, все сохраненные параметры игнорируются, и если какие-то параметры строки не указаны - они принимаются по умолчанию, вне зависимости от того, что программа помнит при GUI запуске. Так же, любые параметры, заданные в командной строке не влияют на параметры, сохраненные программой.
Использование параметров /t2 или /t4 определяет, где TTools будет искать фалы трафика. TTools при этом ищет в реестре записи о FS2002 или FS2004 , и уже оттуда выясняет местонахождение каталога с трафиком. Это хорошо работает в 99 %, однако возможны ситуации, каталог с симулятором был перемещен, а запись в реестре осталась прежней. Для избежания ошибок в таком случае рекомендуется указывать каталог принудительно с помощью параметра /tf:
TTools.exe /co"MyPlans" /tf"C:\Program Files\Microsoft Games\FS2002\SCENEDB\ATC\Scenery"
В этом случае нет необходимости указывать версию симулятора (/t2 или /t4), так как вы явным образом указываете каталог с трафиком. Конечно, этот метод предполагает, что программа уже так или иначе выяснила, какая версия симулятора установлена. Если указанная версия FS не инсталлирована, TTools завершит работу с кодом завершения ‘1’ (ERR_FS_VERSION_UNAVAILABLE).
ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ IRPORT COLLECTOR
Регистр букв значения не имеет
/c2
Версия FS2002: Если не указаны параметры /fp или /ep,
после работы программа завершится автоматически. В одной строке нельзя
использовать одновременно параметры с2 и
/с4. Если программа не обнаружит установленный FS2002,
она завершится с кодом ошибки.
/c4
Версия FS2004, принцип работы тот же,
что и /c2
/df<destination folder>
Указывает папку, где будет создан
файл
Airports_FS2002.txt или Airports_FS2004.txt. Пример:
/sfc:\AIPlanning\ . Если путь содержит пробелы, его необходимо заключить в
кавычки. Заключительный слэш ‘\’ не обязателен. По умолчанию, файл создается в
том же каталоге, где
установлен AirportCollector.
/fp
Finish Prompt: При использовании с параметрами /c2 или /c4
выдает после работы программы диалоговое окно "Click OK to Exit". Без этого
программа завершает работу автоматически.
/ep
Error Prompt: Выдает диалоговое окно, если в процессе работы
возникла ошибка. Если ошибки не было - программа завершится автоматически.
КОДЫ ЗАВЕРШЕНИЯ
Если TTools или CollectAirports вызываются API ShellExecute из вашей программы, вы можете проанализировать результат выполнения по возвращаемому коду завершения. Пример на C:
// call TTools with parameters in ShExecInfo structure
ShellExecuteEx( &ShExecInfo );
// wait for TTools to finish
if( ShExecInfo.hProcess != NULL )
{
do
{
Sleep( 100 );
GetExitCodeProcess( ShExecInfo.hProcess, &ExitCode );
} while( ExitCode == STILL_ACTIVE );
}
Ниже приведены описания кодов завершения:
0 = STATUS_OK - Нормальное завершение компиляции/декомпиляции
1
= FS_VERSION_UNAVAILABLE - были заданы /t2 или /t4 (
/c2 или /c4), но не удалось обнаружить установку указанной версии
FS.
2 =
MISSING_SOURCE_FILE - Не найдены исходные файлы с указанным суффиксом.
3 =
MISSING_TRAFFIC_FILE - Не найден файл трафика с указанным суффиксом
4 =
USER_CANCELLED - Работа была отменена пользователем, путем нажатия кнопки
CANCEL
There are numerous other error codes, mostly relating to syntax or formatting errors in source files. Only with STATUS_OK can you assume the end-product files were created successfully.
TTools не может обнаружить установленную версию FS2002 или FS2004
Это могло случится после ручного перемещения FS без
его переинсталляции. В этом случае можно вручную указать программе каталог с
установленным симулятором, использую пункт ‘Locate Flight Simulator’ меню
File.
Добавленные в симулятор самолеты не имеют шасси
Это характерно для
самолетов, созданных программами старых версий. Самолеты, созданные с помощью
GMAX таких проблем не имеют. Попробуйте найти более
новую версию самолета или использовать самолет, специально созданный для
AI-трафика. См. раздел
Указания по
установке самолетов
У добавленных самолетов не вращаются винты или не движутся закрылки
Причина описана в предыдущем пункте.
Добавленные самолеты разбиваются при посадке или садятся до полосы.
Динамика данного самолета не подходит для работы с AI-трафиком.
Решение: заменить файл динамики на более подходящий, либо использовать самолеты,
специально созданные для AI-полетов. См. раздел
Указания по
установке самолетов
Добавленные самолеты неадекватно ведут себя в воздухе
Причина
описана в предыдущем пункте.
Самолеты не могут совершить посадку, уходят на второй круг или пролетают
мимо
Может быть несколько причин:
Для FS2002: Это ошибка в логике AI FS2002. В некоторых аэропортах (например Maui), AI в принципе не способен правильно завести самолет на посадку или приземлить его. В таких случаях иногда помогает изменение направления ветра в настройках симулятора или назначение другой полосы для посадки в AFCAD. В FS2004 логика AI в этом вопросе была значительно переработана.
Для FS2002: Это ошибка в логике AI при планировании снижения AI-самолета. В таких случаях иногда помогает уменьшение эшелона полета AI-самолета.
Другая причина неспособности AI-самолета совершить посадку - отсутствие в аэропорту подходящей полосы (например, она слишком короткая для данного типа ВС)
Я изменил планы полетов или самолеты, однако изменений в симуляторе не
произошло
Для FS2002: Возможно, вы сделали копию файла трафика, но не
изменили его расширение. Часто симулятор подгружает первый попавшийся
ему BGL-файл трафика и игнорирует все остальные.
Убедитесь, что в папке с трафиком имеется только один файл с расширение
BGL. При необходимости измените расширение резервной
копии файла трафика с BGL на BG#,
например.
AI-самолеты летают парами (дубли)
Это
может произойти, если у вас имеется два одинаковых плана полета, или если вы
сделали резервную копию трафика, но оставили ему
расширение BGL. FS2004 подгружает все файлы трафиков с
расширением BGL.
Я создал новое расписание, но самолет не появляется или не взлетает в
указанное время.
Время вылета и отбытия в расписаниях указывается по Гринвичу (GMT), а не по местному времени аэропорта. Убедитесь, что в момент ожидаемого вылета самолета GMT время соответствует времени, указанному в расписании.
Убедитесь, что вы правильно определили время и аэропорт, откуда должен вылететь самолет. Не забывайте, что в первом этапе плана полета аэропортом вылета является тот, который указан в качестве аэропорта назначения последнего этапа (самый последний аэропорт в строке). Для приведенного ниже плана самолет в 03:45:43 вылетает ИЗ CYQR - В CYYZ (время прибытия его в CYYZ - 09:28 + 10/15 минут)
AC#1,N60168,51%,24Hr,IFR, 03:45:43,09:28:50,050,F,1782,CYYZ, 15:45:32,21:28:40,060,F,1783,CYQR
Если вы создали новое расписание и используете в нем новый добавленный самолет, рекомендуется для отладки временно заменить этот самолет на дефолтный (не забудьте про компиляцию измененных файлов). Это поможет выявить в чем причина нерабочего трафика - в созданном расписании или в добавленном самолете. Некоторые старые версии самолетов в принципе не появляются в трафике по ряду причин:
Убедитесь, что имя самолета в списке Aircrafts.txt полностью соответствует параметру, указанному в строке title= секции [fltsim.x] файла aircraft.cfg. Имя не должно иметь лишних пробелов.
Если вы создали расписание, которое использует аэропорт без УВД (для FS2002) или в этом аэропорту нет или не хватает подходящих для самолета парковочных мест - самолет на парковке не появится. Сведения о типах и количестве парковок аэропорта можно получить в окне диалога выбора аэропорта симулятора, либо используя утилиту AFCAD.
Убедитесь, что ваш план полета имеет достаточное значение периодичности, в которое укладываются все этапы полета. Например, неправильно для полета из NY в LA и обратно задавать период 6 Hr.
Если вы в расписании используете недельную периодичность, убедитесь, что в симуляторе стоит правильный день недели (причем, ориентироваться нужно на время GMT. Вполне вероятно, что по местному времени аэропорта это будет или еще предыдущий день недели или уже следующий).
В аэропорту с добавленными самолетами резко падает fps.
Существуют высокодетализованные самолеты, требующие достаточных ресурсов от
системы. Если такие самолеты используются в трафике (особенно если их в
аэропорту пара десятков) - это может существенно снизить быстродействие системы
и соответственно fps. Вариант решения: выяснить, какая
модель самолета "тормозит" систему и заменить его более легкой версией,
предпочтительно версией, которая разрабатывалась специально под трафик.
Могу я использовать одну и ту же модель самолета в различных расписаниях ?
Вы можете использовать одну и ту же модель самолета в сколь угодных расписаниях
сколь угодно раз.
Могу я использовать вертолеты?
Логике
AI симулятора не свойственно работа с вертолетами
Могу я использовать самолеты-амфибии?
В
FS2004 да, но в FS2002 AI работает с амфибиями
некорректно.
Самолет исчезает на ВПП после приземления
Причина - отсутствие или
нехватка в аэропорту парковочных мест, подходящих для данного типа самолета.
Т.е. если в аэропорту нет парковок вообще, или они слишком малы по размеру (GA
Ramp), большой реактивный самолет исчезнет с
ВПП сразу же после торможения. См. также следующий раздел.
Могу я добавить или изменить парковочные места ?
Да, используя
программу AFCAD
AI-самолеты застывают на полосе после посадки
Для FS2002: Это
означает, что в этом аэропорту нет УВД. Это можно исправить, используя, например
AFCAD
AI-самолеты подруливают к ВПП и застывают перед ней в ожидании
Возможная причина - центральная точка Hold-Short
рулевой дорожки расположена слишком далеко от полосы. Эта точка должна
располагаться от кромки ВПП не дальше, чем 225 футов. Точку
Hold-Short можно меренести ближе к полосе, использую
AFCAD.
Ни один из AI-самолетов не появляется.
В FS2002:
Причиной этой проблемы могут быть некоторые инсталляторы самолетов от сторонних
разработчиков. Убедитесь, что корневой каталог симулятора
FS2002 содержит файл "default.dp". Если он отсутствует - его можно взять
с инсталляционного диска 1 FS2002 CD. Он содержится в архиве
AIRCRAFT.CAB и может быть извлечен программой Zip.
Время вылета самолета изменяется после компиляции и декомпиляции
Обычно после декомпиляции время вылета становится на несколько секунд раньше.
Это происходит потому, что файл трафика хранит время не в секундах, а в
специальных "время-пакетах", и компилятор округляет заданное вами время до
соответствия такому пакету. Разница не должна составлять нескольких секунд.
Если вы обнаружили после декомпиляции, что время вылета было изменено очень серьезно, например вы поставили время 08:21, которое было заменено на 00:21, значит, что указанное вами значение периодичности меньше, чем время вылета, и компилятор вычел его из времени вылета. Например, если вы указали периодичность 4 часа, значит расписание будет повторяться каждые 4 часа от 00:00 до 23:59. Так, если вы укажете время вылета 08:21, компилятор скорректирует его на 00:21 (08:21 - 4 -4) , таким образом вылет будет произведен в 00:21, 04:21, 08:21, 12:21 …и т.д. Обратите внимание, что при этом в поведении самолета ничего не изменится - он будет вылетать в 08:21 и через каждые 4 часа после этого.
Компилятор сообщает, что аэропорт отсутствует в списке файла аэропортов.
Если вы используете файл Airports....txt,
созданный самостоятельно - просто добавьте строчку с информацией об этом
аэропорте. Ее можно скопировать из файла, сгенерированного программой
AirportCollector. Если же и в этом файле нет
упомянутого аэропорта - это означает, что какое то расписание ссылается на
аэропорт, который фактически отсутствует в вашем симуляторе. Варианты решения:
отказаться от использования данного аэропорта в ваших расписаниях, либо
добавить этот аэропорт в симулятор.
Если у вас проблема с трафиком в симуляторе - пожалуйста, сначала прочитайте раздел Проблемы и Q & A данного руководства. Если же там нет решения для вашего вопроса, вы можете обратиться по адресу:
Lee Swordy
Кроме того, возможно решение вашей проблемы описано на некоторых сайтах, посвященных симулятору. Например http://www.avsim.com/ или форумы на http://www.projectai.com/.
Программы TTools и CollectAirports и документация к ним предлагаются к публичному использованию. Они могут свободно распространяться, пересылаться по почте и использоваться для коммерческих целей без всякого согласия автора.
Microsoft и Microsoft Flight Simulator - зарегистрированные торговые марки Microsoft Corp.