SOS: вопросы по приборам на XML — Панели и приборы

А чего он еще должен дублировать, если не Nav1 или Nav2 ? Других переменных в симе для ИЛС не предусмотрено.

Жаль у меня с собой Як-40 нет, но если мне память не изменяет, там куча всяких переменных для включения, выключения и тестирования, которые работают только с КППМ от него же и еще вроде имеются вычисления в третьем приборе main_processor.xml

На каком-то еще из наших самолетов он работал в паре с ПСП-48. Давно это было. все забыл уже…

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

Кстати, на скрине как раз ПСП-48, только с перерисованными битмапами, взято всё из комлекта Ил-14.

Если нужно, приведу коды обоих приборов (сам то я пока в них только характеристики файлов bmp понимаю).


Edited by Kazachek

С тем, что представлен на скрине — вряд ли, хотя если он на ХМЛ написан, то можно попробовать перенести в него переменные из яковского КППМ

С тем, что представлен на скрине — вряд ли, хотя если он на ХМЛ написан, то можно попробовать перенести в него переменные из яковского КППМ

Да, этот прибор на XML. Сказать по правде, мне бы больше подошел вот этот:

post-54262-0-46820600-1290956490_thumb.jpg

(его будет проще перерисовать)

Он от Ан-12.

Вот его код:

<Gauge Name=»KMP Freq» Version=»1.0″>

<Image Name=»kmp_frq.bmp» ImageSizes=»204,236,0,0″/>

<Element>

<MaskImage Name=»kmp_mask.bmp» ImageSizes=»204,236,0,0″>

<Axis X=»102″ Y=»135″/>

</MaskImage>

<Image Name=»kmp_whole.bmp» Luminous=»Yes» ImageSizes=»146,146,0,0″>

<Axis X=»73″ Y=»73″/>

</Image>

<Rotate>

<Value>(A:Nav1 active frequency,MHz) flr</Value>

<Nonlinearity>

<Item Value=»113″ Degrees=»180″/>

<Item Value=»108″ Degrees=»0″/>

</Nonlinearity>

</Rotate>

</Element>

<Element>

<MaskImage Name=»kmp_mask.bmp» ImageSizes=»204,236,0,0″>

<Axis X=»102″ Y=»135″/>

</MaskImage>

<Image Name=»kmp_dec.bmp» Luminous=»Yes» ImageSizes=»188,188,0,0″>

<Axis X=»94″ Y=»94″/>

</Image>

<Rotate>

<Value>(A:Nav1 active frequency,MHz) (A:Nav1 active frequency,MHz) flr — </Value>

<Nonlinearity>

<Item Value=»0.5″ Degrees=»180″/>

<Item Value=»0″ Degrees=»0″/>

</Nonlinearity>

</Rotate>

</Element>

<Mouse>

<Area Left=»74″ Right=»102″ Top=»106″ Bottom=»164″>

<Cursor Type=»DownArrow»/>

<Click Event=»NAV1_RADIO_WHOLE_DEC» Repeat=»Yes»/>

</Area>

<Area Left=»102″ Right=»130″ Top=»106″ Bottom=»164″>

<Cursor Type=»UpArrow»/>

<Click Event=»NAV1_RADIO_WHOLE_INC» Repeat=»Yes»/>

</Area>

<Area Left=»0″ Right=»40″ Top=»106″ Bottom=»164″>

<Cursor Type=»DownArrow»/>

<Click Event=»NAV1_RADIO_FRACT_DEC» Repeat=»Yes»/>

</Area>

<Area Left=»164″ Right=»204″ Top=»106″ Bottom=»164″>

<Cursor Type=»UpArrow»/>

<Click Event=»NAV1_RADIO_FRACT_INC» Repeat=»Yes»/>

</Area>

</Mouse>

</Gauge>

 

Может подскажете, какие переменные можно попробовать в него перенести?

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

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

Смысл моей работы как раз в том, чтобы убрать из модели приборы от дефолтных самолётов (к примеру радиоаппаратуру от Цесны)и поставить туда приборы, которые устанавливались на наших Л-410.

post-54262-0-10674500-1290971318_thumb.jpg

Вот на рисунке из РЛЭ, под цифрой 13 как раз пульт навигационного приёмника. Если в модели на нём будет настраиватся частота ИЛС и это всё будет отражатся на индикаторе, то этого будет вполне достаточно.

Индикатор я уже перерисовал (он теперь выглядит как в реальном самолёте), теперь к нему бы ещё рабочий приёмник.

Вот что, внесите изменения в Aircraft.cfg в секции [Radios], что бы строчки

Nav.1=1, 1,1

Nav.2=1, 1,1

выглядели так:

Nav.1=1, 0,1

Nav.2=1, 0,1

попробовал, работает, только может что-то ещё от этого изменится, объясните кто знает, за что отвечают эти цифры?


Edited by DT-75

Вот что, внесите изменения в Aircraft.cfg в секции [Radios], что бы строчки

Nav.1=1, 1,1

Nav.2=1, 1,1

выглядели так:

Nav.1=1, 0,1

Nav.2=1, 0,1

попробовал, работает, только может что-то ещё от этого изменится, объясните кто знает, за что отвечают эти цифры?

Огромное Спасибо!

Всё заработало.

Нет слов, как я Вам благодарен!

Кстати, чтобы заработала настройка связного радио (я там «Баклан» поставил), так же нужно изменить строку: Com.1=1, 0,1.

Ещё раз спасибо за помощь!

Здравствуйте!

Продолжаю работать над приборами к модели Л-410. Снова возникли вопросы по кодам приборов.

Собрал новый авиагоризонт.

post-54262-0-41485600-1291923369_thumb.jpg

Когда он арриетирован, шкала по крену не работает, а по тангажу продолжает работать.

Как её можно остановить? Строки там такие:

 

 

— <Element>

<Position X=»0″ Y=»0″ />

— <MaskImage Name=»agk_mask.bmp» ImageSizes=»330,320,0,0″>

<Axis X=»166″ Y=»166″ />

</MaskImage>

<Position X=»0″ Y=»0″ />

— <Image Name=»agk_scale.bmp» Luminous=»Yes» ImageSizes=»222,330,0,0″>

<Axis X=»111″ Y=»165″ />

</Image>

— <Shift>

<Value Minimum=»-60″ Maximum=»60″>(L:AGK on, bool) if{ (A:Attitude indicator pitch degrees,degrees) /-/ (L:goriz3,number) — } els{ 27 }</Value>

<Scale Y=»2.4″ />

<Delay PixelsPerSecond=»240″ />

</Shift>

—

— <Rotate>

<Value>(L:AGK on, bool) if{ (A:Attitude indicator bank degrees,radians) (L:goriz4,number) — } els{ 13 }</Value>

</Rotate>

</Element>

— <Element>

<Image Name=»agk_alpha.bmp» Alpha=»Yes» ImageSizes=»340,332,0,0″ />

</Element>

 

 

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

 

 

Термометр наружного воздуха:

post-54262-0-54902700-1291923444_thumb.jpg

Подскажите пожалуйсто, какую нужно записать переменную, чтобы он заработал?

Сейчас XML у меня выглядит так:

 

 

— <Gauge Name=»C_temp» Version=»1.0″>

<Image Name=»C_temp_back.bmp» Luminous=»Yes» ImageSizes=»300,280,0,0″ />

—

— <Element>

<Position X=»149″ Y=»226″ />

—

— <Image Name=»C_temp_Needle.bmp» Luminous=»Yes» ImageSizes=»84,8,0,0″>

<Axis X=»4″ Y=»4″ PointsTo=»East» />

</Image>

—

— <Rotate>

<Value Minimum=»-50″ Maximum=»60″ />

—

— <Nonlinearity>

<Item Value=»-50″ X=»70″ Y=»226″ />

<Item Value=»-40″ X=»72″ Y=»205″ />

<Item Value=»-30″ X=»80″ Y=»186″ />

<Item Value=»-20″ X=»96″ Y=»170″ />

<Item Value=»-10″ X=»115″ Y=»157″ />

<Item Value=»0″ X=»138″ Y=»151″ />

<Item Value=»10″ X=»161″ Y=»151″ />

<Item Value=»20″ X=»184″ Y=»157″ />

<Item Value=»30″ X=»203″ Y=»170″ />

<Item Value=»40″ X=»217″ Y=»187″ />

<Item Value=»50″ X=»226″ Y=»206″ />

<Item Value=»60″ X=»228″ Y=»226″ />

</Nonlinearity>

</Rotate>

</Element>

— <Element>

<Position X=»0″ Y=»0″ />

<Image Name=»C_temp_mask.bmp» ImageSizes=»300,280,0,0″ />

</Element>

</Gauge>

 

 

Может тут ещё есть какие ошибки? Опыта в создании приборов у меня пока маловато.

Буду очень благодарен за помощь.

«На вскидку», что сразу видно:

 

В термометре наружно го воздуха в секции Rotate пропущено самое главное — теги Value, т.е. сама переменная, которая должна отображаться в приборе. Поэтому стрелка прибора встает в начальное положение (температура равно 0) и не двигается.

 

В авиагоризонте: а как инициируется переменная L:AGK on, bool? Где ей присваивается значение? И какое значение ей будет присвоено? Это L-переменная, т.е. она может быть инициализирована из другого прибора.

«На вскидку», что сразу видно:

 

В термометре наружно го воздуха в секции Rotate пропущено самое главное — теги Value, т.е. сама переменная, которая должна отображаться в приборе. Поэтому стрелка прибора встает в начальное положение (температура равно 0) и не двигается.

 

В авиагоризонте: а как инициируется переменная L:AGK on, bool? Где ей присваивается значение? И какое значение ей будет присвоено? Это L-переменная, т.е. она может быть инициализирована из другого прибора.

По термометру, я знаю, что там пропущена переменная Value. Потому и спросил — Что там нужно записать, чтоб прибор заработал?

 

А вот полный код авиагоризонта:

 

— <Gauge Name=»LUN1205″ Version=»1.0″>

<Image Name=»agk_back.bmp» Luminous=»Yes» ImageSizes=»340,340,0,0″ />

— <Element>

— <Select>

<Value>(L:goriz9,number) 0 == if{ -37 (>L:goriz3,number) 13 (>L:goriz4,number) 1 (>L:goriz9,number) }</Value>

</Select>

</Element>

— <Element>

<Position X=»0″ Y=»0″ />

— <MaskImage Name=»agk_mask.bmp» ImageSizes=»330,320,0,0″>

<Axis X=»166″ Y=»166″ />

</MaskImage>

<Position X=»0″ Y=»0″ />

— <Image Name=»agk_scale.bmp» Luminous=»Yes» ImageSizes=»222,330,0,0″>

<Axis X=»111″ Y=»165″ />

</Image>

— <Shift>

<Value Minimum=»-60″ Maximum=»60″>(L:AGK on, bool) if{ (A:Attitude indicator pitch degrees,degrees) /-/ (L:goriz3,number) — } els{ 27 }</Value>

<Scale Y=»2.4″ />

<Delay PixelsPerSecond=»240″ />

</Shift>

—

— <Rotate>

<Value>(L:AGK on, bool) if{ (A:Attitude indicator bank degrees,radians) (L:goriz4,number) — } els{ 13 }</Value>

</Rotate>

</Element>

— <Element>

<Image Name=»agk_alpha.bmp» Alpha=»Yes» ImageSizes=»340,332,0,0″ />

</Element>

— <Element>

<Position X=»166″ Y=»163″ />

— <Image Name=»agk_turn.bmp» Luminous=»Yes» ImageSizes=»16,212,0,0″>

<Axis X=»8″ Y=»106″ />

</Image>

—

— <Rotate>

<Value>(L:AGK on, bool) if{ (A:Attitude indicator bank degrees,radians) (L:goriz4,number) — } els{ 31 }</Value>

</Rotate>

<Delay DegreesPerSecond=»90″ />

</Element>

— <Element>

<Position X=»190″ Y=»200″ />

<Image Name=»agk_blank.bmp» ImageSizes=»90,60,0,0″ />

— <Shift>

<Value>(L:goriz2,number)</Value>

— <Nonlinearity>

<Item Value=»0″ X=»270″ Y=»200″ />

<Item Value=»1″ X=»190″ Y=»200″ />

</Nonlinearity>

<Delay PixelsPerSecond=»120″ />

</Shift>

</Element>

— <Element>

— <Image Name=»agk_ball.bmp» ImageSizes=»21,21,0,0″>

<Axis X=»11″ Y=»11″ />

</Image>

— <Shift>

<Value Minimum=»-1″ Maximum=»1″>(A:Turn coordinator ball,position)</Value>

— <Nonlinearity>

<Item Value=»-1″ X=»113″ Y=»300″ />

<Item Value=»-0.5″ X=»139″ Y=»302″ />

<Item Value=»0″ X=»166″ Y=»306″ />

<Item Value=»0.5″ X=»195″ Y=»302″ />

<Item Value=»1″ X=»221″ Y=»300″ />

</Nonlinearity>

<Delay PixelsPerSecond=»70″ />

</Shift>

</Element>

— <Element>

<Position X=»56″ Y=»162″ />

<Image Name=»agk_line.bmp» Luminous=»Yes» ImageSizes=»222,50,0,0″ />

— <Shift>

<Value>(L:goriz1,number)</Value>

<Scale Y=»2.4″ />

</Shift>

</Element>

— <Element>

<Position X=»0″ Y=»0″ />

<Image Name=»agk_upper.bmp» Luminous=»Yes» ImageSizes=»340,332,0,0″ />

</Element>

— <Element>

— <Select>

<Value>(L:goriz2,number) if{ (A:Attitude indicator pitch degrees,degrees) 11 + (>L:goriz3,number) (A:Attitude indicator bank degrees,radians) (>L:goriz4,number) }</Value>

</Select>

</Element>

— <Mouse>

— <Area Left=»10″ Right=»32″ Top=»260″ Bottom=»315″>

<Cursor Type=»DownArrow» />

<Click Repeat=»Yes»>(L:goriz1,number) -10 > if{ (L:goriz1,number) — (>L:goriz1,number) }</Click>

</Area>

— <Area Left=»32″ Right=»54″ Top=»260″ Bottom=»315″>

<Cursor Type=»UpArrow» />

<Click Repeat=»Yes»>(L:goriz1,number) 10 < if{ (L:goriz1,number) ++ (>L:goriz1,number) }</Click>

</Area>

— <Area Left=»3″ Right=»63″ Top=»3″ Bottom=»63″>

<Cursor Type=»Hand» />

<Click>(L:goriz2,number) ! (>L:goriz2,number)</Click>

</Area>

</Mouse>

</Gauge>

С термометром все просто. Например, вот такая строка:

 

 

 

 

— <Value Minimum=»-50″ Maximum=»60″>(A:Ambient Temperature,Celsius)</Value>

 

По авиагоризонту. Таки не увидел ни одной строчки, где было бы присвоение значения переменной L:AGK on, bool. Т.е. она инициализируется по умолчанию, в FALSE. Со всеми вытекающими отсюда последствиями в работе прибора. Где-то в пакете, откуда этот прибор был взят, был еще прибор, который операцию инициализации проводил.

Я бы посоветовал ввести в прибор отладочную строчку вывода значения переменных. Ее можно вписать в любую мышиную Area. Например:

— <Tooltip>%My_vart %( (L:My_var, number) )%!3d!</Tooltip>

И посмотреть, что происходит в приборе.

С термометром все просто. Например, вот такая строка:

 

 

 

 

— <Value Minimum=»-50″ Maximum=»60″>(A:Ambient Temperature,Celsius)</Value>

 

По авиагоризонту. Таки не увидел ни одной строчки, где было бы присвоение значения переменной L:AGK on, bool. Т.е. она инициализируется по умолчанию, в FALSE. Со всеми вытекающими отсюда последствиями в работе прибора. Где-то в пакете, откуда этот прибор был взят, был еще прибор, который операцию инициализации проводил.

Я бы посоветовал ввести в прибор отладочную строчку вывода значения переменных. Ее можно вписать в любую мышиную Area. Например:

— <Tooltip>%My_vart %( (L:My_var, number) )%!3d!</Tooltip>

И посмотреть, что происходит в приборе.

Большое Вам спасибо за помощь!

Сейчас буду пробовать.

Ребята!

А можно ли сделать так, чтобы КПП и НПП (условно называю приборы с директорами и курсо-глиссадными планками) при подходе к ВПП и захвате глиссады отрабатывали сответствующие сигналы? Причем сделать это минимальным изменением XML текста. Убрать при этом сведения о электропитании и т.п. и оставить только ту информацию, которыя нужна для работы этих элементов. Я пытаюсь заставить работать панель Ту-134 в самом примитивном ее исполненнии (в смысле упрощенном), чтобы не требовалосб включать, настраивать и т.п. всевозможные системы. В принципе все уже работает за исключением директоров и к-г планок. Да, еще вопрос аналогичного характера по стрелке КУР.

С уважением, Дмитрий.

И ещё ворос: Простейший прибор — Индикатор положения закрылков. Три лампочки, каждая горит при своём положении.

 

<Gauge Name=»L-410flaps» Version=»1.0″>

 

 

<Image Name=»flapsbgd.bmp» Luminous=»No»/>

 

 

<Element>

<Position X=»0″ Y=»0″/>

<Select>

<Value>(A:TRAILING EDGE FLAPS LEFT PERCENT,percent)</Value>

<Case Value=»0″>

<Image Name=»flaps0.bmp» Bright=»Yes»/>

</Case>

</Select>

</Element>

 

<Element>

<Position X=»0″ Y=»64″/>

<Select>

<Value>(A:TRAILING EDGE FLAPS LEFT PERCENT,percent)</Value>

<Case Value=»42″>

<Image Name=»flaps1.bmp» Bright=»Yes»/>

</Case>

</Select>

</Element>

 

<Element>

<Position X=»0″ Y=»128″/>

<Select>

<Value>(A:TRAILING EDGE FLAPS LEFT PERCENT,percent)</Value>

<Case Value=»100″>

<Image Name=»flaps2.bmp» Bright=»Yes»/>

</Case>

</Select>

</Element>

 

</Gauge>

 

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

Полагаю , нужно вставить строки:

— <Failures>

<SYSTEM_ELECTRICAL_PANELS Action=»0″ />

</Failures>

Но вот как правильно это сделать?

«В медицине все дискутабельно» © один ОЧЕНЬ хороший детский врач.

 

Я бы сделал иначе. Нарисовал бы фоновую битмапку со всеми погашенными лампочками (или сделал бы отдельно битмапки на все погашенные лампочки), а включенные отображал бы по условию включения электропитания

 

— <Element>

— <Visible>(A:Avionics master switch,bool)</Visible>

… код элемента поскипан …

— </Element>

 

Теперь этот элемент будет виден только если переменная (A:Avionics master switch,bool) станет TRUE (истинна), т.е. электропитание включено.

«В медицине все дискутабельно» © один ОЧЕНЬ хороший детский врач.

 

Я бы сделал иначе. Нарисовал бы фоновую битмапку со всеми погашенными лампочками (или сделал бы отдельно битмапки на все погашенные лампочки), а включенные отображал бы по условию включения электропитания

 

— <Element>

— <Visible>(A:Avionics master switch,bool)</Visible>

… код элемента поскипан …

— </Element>

 

Теперь этот элемент будет виден только если переменная (A:Avionics master switch,bool) станет TRUE (истинна), т.е. электропитание включено.

Так всё оно и есть:

 

 

<Image Name=»flapsbgd.bmp» Luminous=»No»/> — Битмап с погашенными лампами.

 

Следуя Вашему совету записал (для горящей лампы):

 

<Element>

— <Visible>(A:Avionics master switch,bool)</Visible>

<Position X=»0″ Y=»0″/>

<Select>

<Value>(A:TRAILING EDGE FLAPS LEFT PERCENT,percent)</Value>

<Case Value=»0″>

<Image Name=»flaps0.bmp» Bright=»Yes»/>

</Case>

</Select>

</Element>

 

Но она всё равно при выключенном питании горит!

 

а включенные отображал бы по условию включения электропитания

 

— <Element>

— <Visible>(A:Avionics master switch,bool)</Visible>

… код элемента поскипан …

— </Element>

 

Теперь этот элемент будет виден только если переменная (A:Avionics master switch,bool) станет TRUE (истинна), т.е. электропитание включено.

Всё заработало.

Только вместо — <Visible>(A:Avionics master switch,bool)</Visible> записал

<Visible>(A:Circuit general panel on,bool)</Visible>.

 

Спасибо Вам за помощь!

Всё заработало.

Только вместо — <Visible>(A:Avionics master switch,bool)</Visible> записал

<Visible>(A:Circuit general panel on,bool)</Visible>.

 

Спасибо Вам за помощь!

 

Проверьте значение A:Avionics master switch, например, через тултип. Если оно всегда истинно, то проверьте, нет ли в aircraft.cfg записи, что батарея ВСЕГДА включена. Такое иногда бывает.

Проверьте значение A:Avionics master switch, например, через тултип. Если оно всегда истинно, то проверьте, нет ли в aircraft.cfg записи, что батарея ВСЕГДА включена. Такое иногда бывает.

Но другое оборудование на самолёте ведёт себя нормально — При включении тумблера аккумулятора приборы начинают работать, при выключении отключаются. Добился я чего хотел и от индикатора закрылков — При выключении питания он полностью гаснет. В програмировании XML делаю только первые шаги и многое, о чём Вы говорите, мне понять пока сложно.

Коллега,

 

Я бы ОЧЕНЬ рекомендовал посмотреть, как работают эти приборы. Ну так, интереса ради…:sarcastic: Просто посмотреть код.

Подскажите пожалуйсто: Какую нужно вписать переменную, чтоб на табло загоралась лампа при открытии двери?

Подскажите пожалуйсто: Какую нужно вписать переменную, чтоб на табло загоралась лампа при открытии двери?

 

Коллега,

 

Чисто методическая рекомендация: читаем Panel SDK. Там сразу можно найти ответы на очень многие вопросы. Вы стали заниматься программированием приборов всерьез, так что пора поступать «профессионально».

 

Теперь собственно по вопросу. «Дверь» как таковая в МСФС отсутствует. Посмотрите в приборе annunciator_cabin_doors.xml из панели «Дугласа», как такая индикация реализована:

 

———————————————— линия отреза

 

<Gauge Name=»annunciator_cabin_doors» Version=»1.0″>

<Size X=»21″ Y=»28″/>

 

<Element>

<Select>

<Value>(A:Canopy Open,position) 0.5 ></Value>

<Failures>

<SYSTEM_ELECTRICAL_PANELS Action=»0″/>

</Failures>

<Case Value=»1″>

<Image Name=»annunciator_cabin_doors.bmp» Bright=»Yes» UseTransparency=»Yes»/>

</Case>

</Select>

</Element>

 

<Mouse>

<Tooltip ID=»TOOLTIPTEXT_CABIN_DOORS»/>

</Mouse>

</Gauge>

 

———————————————— линия отреза

Коллега,

 

Чисто методическая рекомендация: читаем Panel SDK. Там сразу можно найти ответы на очень многие вопросы. Вы стали заниматься программированием приборов всерьез, так что пора поступать «профессионально».

 

 

Спасибо Вам большое за помощь!

Не то чтобы я занялся порграммированием приборов всерьёз, скорее это мой первый опыт. Просто вот решил немного изменить кабину Л-410 (нравится мне эта машина). Сначало больше всего не устраивал указатель скорости — Поменял.

Дальше больше: Теперь это уже почти полная замена всего приборного оборудования. Ориентируюсь на РЛЭ и фотографии кабин самолётов, эксплуатируемых в России. Сейчас как раз занимаюсь переделкой световой сигнализации:

post-54262-0-84783000-1292698775_thumb.jpg

Я Вам был бы очень признателен, если «ткнёте носом», где можно прочесть Panel SDK. Безусловно Вы правы, что нужно изучать и читать. Но зачастую просто не хватает информации о том, что и где можно посмотреть.

«Ну… Это можно!» © Двое Из Ларца, Одинаковых С Лица («Вовка в Тридевятом царстве», мультфильм). :clapping:

 

Вот линки на SDK (Software Developer Kit) для МСФС2004:

 

http://jonpatch.wordpress.com/2007/03/16/links-to-flight-simulator-9-sdk/

 

Искать по строке «fs9 SDK» в Гугле. Или вот:

 

http://www.fsdeveloper.com/wiki/index.php?title=Special:Whatlinkshere/SDK_Toolset_(FS9)

 

Удачи!

 

Если возникнут вопросы — задавайте, поможем.

Просмотр сообщенияAlexander Belov (19 Декабрь 2010 — 01:15) писал:

«Ну… Это можно!» © Двое Из Ларца, Одинаковых С Лица («Вовка в Тридевятом царстве», мультфильм). :clapping:

Вот линки на SDK (Software Developer Kit) для МСФС2004:

http://jonpatch.word…imulator-9-sdk/

Искать по строке «fs9 SDK» в Гугле. Или вот:

http://www.fsdevelop…DK_Toolset_(FS9)

Удачи!

Если возникнут вопросы — задавайте, поможем.

Спасибо!