FS-Troubles, v0.1a — открытое тестирование — Малая авиация

Итак, открываем тестирование. За неимением лучшего, кодовое название проекта FS-Troubles (FST).

Назначение:
Симуляция простых отказов на самолетах малой авиации (с «большими и тяжелыми» скрипт тоже работает, но не тестировался и потому пока не обсуждается).

Целевая аудитория:
Опытные симмеры с прямыми руками, понимающие общее устройство симулятора (FSX), умеющие и готовые вручную править конфиги.

Технические требования:

  • FSX SP2/Accel
  • FSUIPC, зарегистрированный, версии не ниже 4.75 и не выше 4.80 (4.82 и выше глючные пока, баг будет исправлен в версии 4.86)
  • LINDA или любая другая удобная для вас программа для просмотра логов FSUIPC (например, FAR). Notepad не подойдет, потому как не видно будет текущих обновлений файла.

Тестирование:
Обращаю внимание, что сейчас мы говорим о ТЕСТИРОВАНИИ, а не о реальном использовании. В данный момент настройки скрипта сделаны так, чтобы отказы наступали чаще и быстрее, поэтому не рекомендую пытаться использовать скрипт в «реальных» условиях. Тестируем, а не балуемся. В целях тестирования скрипт в явном виде оповещает обо ВСЕХ возникших неполадках. В логах fsuipc4.log также содержится информация о планируемом сценарии поломки и нарастании счетчиков износа/повреждения.

Установка:

  • Скачать архив http://dl.dropbox.co…ubles-v0.1a.zip
  • Распаковать в FSX/Modules
  • Если у вас есть там файл ipcReady.lua, добавить в него строку ipc.runlua(«troubles») или заменить тем, что из архива
  • Запустить FSX, выбрать дефолтную Цессну 172, загрузить полет и проверить содержание логов — там должен быть отчет о запуске FS-Troubles и никаких ошибок. Выглядит это примерно так:
FS-TROUBLES: ------------------------------------------
FS-TROUBLES: Initializing...
FS-TROUBLES: ------------------------------------------
FS-TROUBLES: Wheels troubles finished...
FS-TROUBLES: Aircraft: Cessna Skyhawk 172SP Paint3
FS-TROUBLES: Air file: \BAGHIRAHGamesFSXSimObjectsAirplanesC172Cessna172SP.AIR
FS-TROUBLES: Aircraft module detected: Cessna 172
FS-TROUBLES: Loading libs...
FS-TROUBLES: BlackBox library loaded... ENABLED
FS-TROUBLES: FlightLog library loaded... ENABLED
FS-TROUBLES: Icing library loaded... ENABLED
FS-TROUBLES: Overstress library loaded... ENABLED
FS-TROUBLES: Overstress >> Flaps damage scenario: 1 l/r=1 chance=0.47
FS-TROUBLES: Overstress >> Tires damage scenario: nose chance=0.31 main chance=0.55 main l/r=2
FS-TROUBLES: ------------------------
FS-TROUBLES: BlackBox data load >>>>>
FS-TROUBLES: ------------------------
FS-TROUBLES: Flaps dmg=0
FS-TROUBLES: Gears nose dmg=0
FS-TROUBLES: Gears main dmg=0
FS-TROUBLES: Tires nose dmg=0
FS-TROUBLES: Tires main dmg=0
FS-TROUBLES: ------------------------
FS-TROUBLES: >>>>> Ready to go! <<<<<<
  • Если в логах порядок, можно попробовать полетать.

Настройка:
Общие настройки находятся в файле FSX/Modules/troubles/aircrafts/FSX Default/config.lua — эти настройки применяются для любого неопознанного самолета (т.е. это и есть настройки по умолчанию). Поскольку самолеты бывают разные, по умолчанию некоторые модули в скрипте отключены и их нужно включать вручную для нужного вам самолета.

Расшифровка общих настроек:

-- initial payload stations weight
payload_station[0] = 200 -- вес загрузки в фунтах на первых двух станциях, который будет
payload_station[1] = 200 -- установлен после загрузки самолета, необходимый параметр

-------------------------------------------------
-- BLACKBOX
-------------------------------------------------
blackbox_enabled = false -- (true/false) модуль сохранения и накопления повреждений
						 -- от полета к полету

-------------------------------------------------
-- FLIGHTLOG
-------------------------------------------------
flightlog_enabled = false -- журнал полетов - полеты, посадки, возникшие повреждения

-------------------------------------------------
-- ICING SIMULATION
-------------------------------------------------
icing_enabled = true -- модуль обледенения

-- интенсивность обледенения (от 0 до бесконечности, 100 - это уже много)
icing_strength = 100

-- нырок при выпуске или уборке закрылков
icing_flaps_extend_dive = 1.5   -- множитель устанавливающий интенсивность клевка после выпуска закрылков, 0 - полное отключение
icing_flaps_retract_dive = 1.5  -- интенсивность клевка после уборки закрылков
icing_dive_recovery = 60 -- скорость выхода из клевка (эффект клевка постепенно уменьшается, чем больше это число, тем короче клевок во времени)

-------------------------------------------------
-- OVERSPEED/OVER-G SIMULATION
-------------------------------------------------
overstress_enabled = false -- модуль учета износа и перегрузки планера, шасси

flaps_reliability = 40 -- надежность закрылков, чем больше число, тем дольше ломать

-- сценарии повреждений - на некоторых самолетах в силу их устройства
-- закрылки не может заклинить, на других - может и заклинить и сорвать в нулевое положение
flaps_break_chance = 70 -- вероятность срыва в ноль (в процентах)
flaps_lockup_chance = 70 -- вероятность заклинивания (в процентах)

-- скорости на разых позициях закрылков, в узлах
flaps_speed[0] = 150 -- чистое крыло
flaps_speed[1] = 110 -- первая позиция
flaps_speed[2] = 100
flaps_speed[3] = 90

-- надежность шасси - влияет на прочность стоек и колес
-- больше число - дольше ломать
gears_reliability = 40

-- направление ВЫПУСКА шасси - влияет на интенсивность повреждения на этапах выпуска-уборки
-- 1 - выпуск в сторону носа
-- 2 - выпуск в сторону хвоста
-- 3 - выпуск в сторону
gears_nose_dir = 2
gears_main_dir = 1

-- максимальные скорости для шасси
gears_vlo = 120 -- безопасная скорость уборки/выпуска
gears_vle = 180 -- безопасная скорость полета с выпущенными шасси
gears_ground = 130 -- безопасная скорость по земле

-------------------------------------------------
-- ACCUFEEL INTEGRATION
-------------------------------------------------

accufeel_enabled = true -- интеграция с движком AccuFeel, у кого он установлен

Конфиги под отдельный конкретный самолет выглядят проще, поскольку большая часть параметров наследуется из дефолта. Например, так:

-- название папки, в которой находится модель - полное имя директории
-- или уникальная подстрока из него, например - "337"
simfolder="Carenado Skymaster 337"

-------------------------------------------------
-- BLACKBOX
-------------------------------------------------
blackbox_enabled = true -- включен черный ящик

-------------------------------------------------
-- FLIGHTLOG
-------------------------------------------------
flightlog_enabled = true -- включен журнал

-------------------------------------------------
-- ICING SIMULATION
-------------------------------------------------
icing_enabled = true -- включено обледенение

-------------------------------------------------
-- OVERSPEED/OVER-G SIMULATION
-------------------------------------------------
overstress_enabled = true -- включены "перегрузки"

flaps_speed[0] = 200 -- установлены допустимые скорости для закрылков
flaps_speed[1] = 140
flaps_speed[2] = 122
flaps_speed[3] = 109

-- gears type
gears_nose_dir = 2 -- установлены направления выпуска стоек шасси
gears_main_dir = 1

-- max speeds
gears_vlo = 140 -- установлены предельные скорости для шасси
gears_vle = 200
gears_ground = 130

… вот и весь конфиг — все просто.

Соответственно, чтобы настроить скрипт на работу с каким-то вашим самолетом нужно:

  • Сдеалать копию директории _Template (FSX/Modules/troubles/aircrafts/_Template) со всем ее содержимым
  • Внятно назвать новую папку — допустим, «Carenado C185»
  • Отредактировать файл config.lua в новой папке на предмет настроек соответствующих данному самолету, ненужные настройки можно удалить
  • Все, с этого момента скрипт будет распознавать загрузку этого самолета и устанавливать для него индивидуальные настройки.

———————————

Моделируемые отказы и видимые эффекты:

Обледенение:

  • Определяется по погодным условиям, нарастает постепенно в зависимости от интенсивности обледенения
  • Проявляется в виде тряски органов управления, всего самолета (если установлен AccuFeel), постепенного увода органов управления и клевков возникающих после уборки/выпуска закрылков.
  • Эффект исчезает постепенно в случае выхода из зоны обледенения
  • Эффект исчезает мгновенное, в случае включения системы ПОС поверхности крыла

Поломки закрылков:

  • Определяются по скорости полета и установленным пределам в конфигах, так же учитывается текущая перегрузка
  • Проявляется тряской и визуально наблюдаемым смещением позиций закрылков
  • Возможные эффекты — блокировка или срыв в нулевое положение одного или обоих закрылков
  • Исправляется «ремонтом»

Поломки шасси:

  • Определяются по скорости полета и установленным пределам, с учетом стадии выпуска, направления выпуска и текущей перегрузки. Так же рассчитывается сила удара при посадке, что тоже может привести к отказу.
  • Проявляется тряской при превышении скорости
  • Возможные эффекты — блокировка отдельной стойки в промежуточном положении, невыход стойки на заходе, подлом стойки в момент посадки
  • Исправляется «ремонтом»

Поломки колес:

  • Определяются по степени износа резины и превышению разрешенной скорости или предельной массы самолета, так же учитываются дополнительные нагрузки при посадке
  • Проявляется тряской при движении по земле и уводом в сторону лопнувшего колеса
  • Лопнуть может любое колесо или все сразу — как повезет.

Прочие фичи:

  • Эффективность тормозов зависит от состояния поверхности
  • После посадки выдается сообщение о вертикальной скорости и перегрузке в момент касания
  • После постановки самолета на парковку (двигатель выключен, электроника выключена, парковочный тормоз) происходит автоматическое сохранение полета — потом можно будет загрузить с этого же места

Ремонт:

  • Полный ремонт по вызову функции FSX «REPAIR_AND_REFUEL» — можно установить на кнопку джойстика в настройках FSUIPC
  • При постановке самолета на парковку (двигатель выключен, электроника выключена, парковочный тормоз) происходит автоматическое уменьшение всех счетчиков износа в два раза

————————————

Рекомендации по тестированию:

  • На случай тестирования обледенения необходимо явно указывать уровень обледенения в конкретном слое облачности. Кроме того, скрипт учитывает температуру воздуха и имеющиеся осадки. Дождь при температуре от 0 до -5 создаст наиболее интенсивные условия обледенения
  • На какую-нибудь кнопку джойстика имеет смысл повесить функцию «Lua Troubles» в настройках FSUIPC на закладке Buttons & Switches. Нажатие этой кнопки будет приводить к перезапуску скрипта (БЕЗ ОБНУЛЕНИЯ счетчиков износа или уровня обледенения)
  • На какую-нибудь кнопку джойстика имеет смысл повесить функцию «Repair And Refuel» — она будет приводить к мгновенному сбросу всех счетчиков и сгенерированных повреждений
  • Во время тестовых полетов рекомендуется открыть консоль в LINDA или любой другой просмотр логов FSUIPC (fsuipc4.log) — с обновлением в реальном времени. Там будет видно, что происходит с самолетом и как нарастают счетчики повреждений.

————————————

Имеющиеся баги и свойства (пополняемый список):

  • При проигрывании полета в FS-Recorder скрипт считает, что происходит обычный полет и продолжает вести рассчет износа и повреждений. Будет исправлено с выходом следующей версии рекордера.

Сообщение отредактировано crum: 25 April 2012 — 16:14


Ответов: 24

Ну, что… страшно? :nuke:

Если кто читает невнимательно, еще раз обращаю внимание: в данный момент, скрипт находится на стадии первичного тестирования альфа версии, поэтому не ждите, что у вас все сразу заработает и залетает. Вероятнее всего придется столкнуться с теми или иными неполадками или нестыковками.

Если что-то будет не получаться, задавать вопросы и писать баг-репорты прямо в этой теме. К запросу обязательно прикладывать информацию об установленной версии FSUIPC, совершенных действиях, модели самолета и условиях полета, также обязательно предоставить содержимое fsuipc4.log (не забывайте засунуть его под спойлер).

Также рекомендую обратить внимание на соседнюю ветку: http://www.avsim.su/…nal-razrabotki/ — там обсуждается идеология проекта и вопросы дальнейшей разработки.

Сообщение отредактировано crum: 25 April 2012 — 14:33

Можно? Чуть-чуть…

Целевая аудитория:
Опытные симмеры с прямыми руками, понимающие общее устройство симулятора (FSX), умеющие и готовые вручную править конфиги.

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

Ну, что… страшно? :nuke:

Та пипец… Конечно!!!

Сообщение отредактировано Enzzo: 25 April 2012 — 15:12

Вопрос такой — будет ли подобная штука для 9-ки или там ее не реализовать/нет смысла реализовывать?Извиняюсь, если где-то этот вопрос уже задавался вам.А так — штука классная, протестировал бы, да 10-ка не идет нормально=(

В теории, оно будет работать и в 9-ке. Но некоторые моменты могут глючить — там где используются оффсеты специфичные для FSX. Попробуйте, но баги касающиеся 9-й версии сима будут исправляться в последнюю очередь.

Не забудьте обновить FSUIPC до последней версии.

Сообщение отредактировано crum: 25 April 2012 — 16:59

Ясно.Что ж, я попробую, правда не раньше, чем после этих выходных.

Архив обновлен, исправлены всякие мелкие баги.
Перекачать и распаковать с заменой всех файлов.
Ссылка та же: http://dl.dropbox.co…ubles-v0.1a.zip
В очередной раз архив обновлен.
Отловлены и прихлопнуты еще несколько багов.
Ссылка та же…

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

Мне лично уже и в таком виде хватает.. так что дальнейшее развитие только по результатам тестирования.

Если что-то не получается, не запускается или просто не понятно — спрашивайте.

Мы с Lans проверим обязательно. Просто сейчас завал на работе :( У нас не FS-Troubles, у нас лётные тренажёры-troubles :) Приползаю домой в 10 вечера :(

У нас не FS-Troubles, у нас лётные тренажёры-troubles :)

Заботы из серии — «мечта симмера» :pilot:
Успехов в разруливании.

Ой, лучше уж Катана от Аэрософт, она хоть виртуальная :)
Спасибо.

Вот только что вляпался (виртуально).Забыл о поломке и попытался взлететь с заклинившим еще с прошлого полета закрылком. Крен сразу после отрыва, и сообразить ничего не успел — кувыркнулся. Так что осмотр перед полетом теперь обретает свой смысл…

Вот только что вляпался (виртуально).Забыл о поломке и попытался взлететь с заклинившим еще с прошлого полета закрылком. Крен сразу после отрыва, и сообразить ничего не успел — кувыркнулся. Так что осмотр перед полетом теперь обретает свой смысл…

Вот она — где реальность!

Подскажите, для чего нужен «initial payload stations weight» и как оно работает? С прогами, контролирующими загрузку (типа Паксов) конфликтовать не будет?

Подскажите, для чего нужен «initial payload stations weight» и как оно работает? С прогами, контролирующими загрузку (типа Паксов) конфликтовать не будет?

Пришлось добавить эти параметры, поскольку скрипт использует загрузку в качестве способа снизить подъемную силу в случае обледенения. Глючить с FSP оно будет в том случае, если загрузка установленная в FSP не будет соответствовать прописанной в скрипте. В будущем, если продолжать развивать скрипт, можно будет это как-то подправить, но пока оно так.

Т. е. в дефолтные секции пишется? Паксы их потом не переписывают? Так то они вроде не матерятся. И еще, под конкретные крафты подгонять стоит? И по какому принципу?

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

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

Чёрт, а ведь я кнопку обещал :facepalm:
То есть при обледенении 200 фунтов приплюсуются к весу в данной секции? Подгонку я имел в виду именно этих 200 фунтов.

Чёрт, а ведь я кнопку обещал :facepalm:

Илья, не надо пока. Мы пойдем другим путем…

То есть при обледенении 200 фунтов приплюсуются к весу в данной секции? Подгонку я имел в виду именно этих 200 фунтов.

Не приплюсуются — заменятся. Т.е. если FSP на вторую станцию пропишет 170 фунтов, а в скрипте указано 200, то скрипт заменит 170 на 200 (но может еще и глюканет что-то — не тестировал такую ситуацию).

Благодарю за разъяснения. Вроде дошло. Там может и глючить не будет, у паксов ведь свои загрузочные секции. Но, видимо, для тяжелых самолетов «ледку» можно и прибавить?

допустимые скорости для закрылков

Если позиций закрылков в крафте больше, в config.lua добавить можно?

Сообщение отредактировано Enzzo: 15 May 2012 — 19:17

Значение этих параметров — это не тот вес, который прибавится во время обледенения, а тот, от которого скрипт будет плясать. То есть с нарастанием обледенения вес будет установлен в 200 (цифра из параметра), а потом эта масса будет постепенно нарастать по мере накопления льда. Наростание учитывает массу самолета, поэтому на больших крафтах ничего вручную делать не надо — все считается автоматом.

Надо только учитывать, что например на NGX первая и вторая погрузочные точки — это не места пилотов, а первый и второй салоны, соответственно вес там надо устанавливать гораздо больший. Ну и на других самолетах имеет смысл глянуть, что у них на первых двух точках по умолчанию стоит.

Спасибо, но еще вопрос по flaps_speed[0] = 160 — clear wing speed. Это ведь ограничение скорости с убранными закрылками? Может сюда ставить Vne самолета?
Собственно, каренадовскую 172-ю настроил так:

Spoiler

P.S. Сделал полет, но не нашел лога и черного ящика. В папке с config.lua их не появилось.
Ага! Вот такая ошибка в логе фсупика:

1261954 LUA: beginning «E:Microsoft Flight Simulator XModulesipcReady.lua»
1261970 LUA: ended «E:Microsoft Flight Simulator XModulesipcReady.lua»
1261986 *** LUA Error: E:Microsoft Flight Simulator XModulestroubles.lua:1171: attempt to call field ‘terminate’ (a nil value)

Сообщение отредактировано Enzzo: 17 May 2012 — 09:08