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

рисую панель на як 18т

прошу помощи по следующим вопросам

все написано в хмл и подогнано с помощью фспанел.

значит стоят на панели два высотомера один футовый ,другой метровый оба в хмл , работают они от переменной симулятора,kohlsmann setting MB,mbar

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

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

другой вопрос : стоит прибор АДФ,почему-то когда кручу шкалу курса его шкала крутится вместе с шкалой курса то есть от переменной мышки GYRO_DRIFT_INC ,GYRO_DRIFT_DEC

,посоветуйте другую переменную к прибору.

пока все ,спасибо

рисую панель на як 18т

прошу помощи по следующим вопросам

…

 

какой сим? в десятке два штатных высотомера вроде, прописываются в конфиге

Уй… Попробуем разобраться в «неформатированном потоке вопросов».

 

Как вариант решения проблемы: если надо сделать два независимых высоотомера, то надо будет самому рассчитывать давление на уровне аэродрома. Это несложно, давление нарожного воздуха известно, барометрическая формула — тоже. И все будет в наших руках, без привязки к числу прописанных высотомеров.

 

По авиагоризонту. Прописываем САМИ, куда должна уходить шкала при выключении питания. «Рабочую» шкалу отрисовываем при включенном питании, а «нерабочую» — при выключенном. Направление движения задаем сами, скорость движения, к примеру, по таймеру.

 

С ADF надо код смотреть. Навскидку не скажешь.

Как вариант решения проблемы: если надо сделать два независимых высоотомера, то надо будет самому рассчитывать давление на уровне аэродрома. Это несложно, давление нарожного воздуха известно, барометрическая формула — тоже. И все будет в наших руках, без привязки к числу прописанных высотомеров.

 

Не смогли бы Вы показать пример такого кода либо указать на действующий хмл прибор такого типа.

 

 

панель для девятки

Не смогли бы Вы показать пример такого кода либо указать на действующий хмл прибор такого типа.

 

 

панель для девятки

 

Мужики, не в обиду, но в библиотеке авсимкома такого добра море. Поищите в разделе панелей и приборов по запросу Altimeter и всё. (на avsim.com)

можно вопрос?

завел флажок авиагоризонта на некий тумблер AGB1 (L переменная)

теперь хочу чтоб авиагоризонт в целом работал от этого,допустим условие если АГБ 1 не включен то шкала не двигается и стоит «намертво» на дне))))либо прост стоит где стоит Бог с ней и никаких эволюции не происходят

спасибо за помощь, за шкалу тангажа отвечает eho_inside_card ,а за крен eho_ outside_card

 

 

 

<Gauge Name=»Electric horizon1″ Version=»2.0″>

<Image Name=»eho_bkg.bmp»/>

 

<!— ======================= Outside Card ========================== —>

<Element>

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

<Image Name=»eho_outside_card.bmp»>

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

</Image>

<Rotate>

<Value>(A:Attitude indicator bank degrees,radians)</Value>

</Rotate>

</Element>

 

<!— ======================= Inside Card ========================== —>

<Element>

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

<MaskImage Name=»eho_mask.bmp»>

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

</MaskImage>

<Image Name=»eho_inside_card.bmp»>

<Axis X=»100″ Y=»64″/>

</Image>

<Shift>

<Value Minimum=»-25″ Maximum=»25″>(A:Attitude indicator pitch degrees,degrees) /-/</Value>

<Scale Y=»1.65″/>

</Shift>

<Rotate>

<Value>(A:Attitude indicator bank degrees,radians)</Value>

</Rotate>

</Element>

 

<!— ======================= Shadow ========================== —>

<Element>

<Select>

<Value>(L:AGB1,bool)</Value>

<Case Value=»1″>

<Image Name=»eho_sdw_1.bmp» Alpha=»Yes»/>

</Case>

<Case Value=»0″>

<Image Name=»eho_sdw_2.bmp» Alpha=»Yes»/>

</Case>

</Select>

</Element>

 

<!— ======================= Horizon ========================== —>

<Element>

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

<Image Name=»eho_ref.bmp» Alpha=»Yes»>

<Axis X=»70″ Y=»6″/>

</Image>

<Shift>

<Value>(L:EV97_Horiz_ref_knob1,position)</Value>

<Nonlinearity>

<Item Value=»0″ X=»150″ Y=»150″/>

<Item Value=»1″ X=»150″ Y=»147″/>

<Item Value=»2″ X=»150″ Y=»144″/>

<Item Value=»3″ X=»150″ Y=»141″/>

<Item Value=»4″ X=»150″ Y=»138.5″/>

<Item Value=»5″ X=»150″ Y=»136.5″/>

<Item Value=»6″ X=»150″ Y=»134.75″/>

<Item Value=»7″ X=»150″ Y=»133.25″/>

<Item Value=»8″ X=»150″ Y=»132.5″/>

<Item Value=»9″ X=»150″ Y=»132.25″/>

<Item Value=»10″ X=»150″ Y=»132.5″/>

<Item Value=»11″ X=»150″ Y=»133.25″/>

<Item Value=»12″ X=»150″ Y=»134.75″/>

<Item Value=»13″ X=»150″ Y=»136.5″/>

<Item Value=»14″ X=»150″ Y=»138.5″/>

<Item Value=»15″ X=»150″ Y=»141″/>

<Item Value=»16″ X=»150″ Y=»144″/>

<Item Value=»17″ X=»150″ Y=»147″/>

<Item Value=»18″ X=»150″ Y=»150″/>

<Item Value=»19″ X=»150″ Y=»153″/>

<Item Value=»20″ X=»150″ Y=»156″/>

<Item Value=»21″ X=»150″ Y=»159″/>

<Item Value=»22″ X=»150″ Y=»161.25″/>

<Item Value=»23″ X=»150″ Y=»163.5″/>

<Item Value=»24″ X=»150″ Y=»165.25″/>

<Item Value=»25″ X=»150″ Y=»166.5″/>

<Item Value=»26″ X=»150″ Y=»167.5″/>

<Item Value=»27″ X=»150″ Y=»167.75″/>

<Item Value=»28″ X=»150″ Y=»167.5″/>

<Item Value=»29″ X=»150″ Y=»166.5″/>

<Item Value=»30″ X=»150″ Y=»165.25″/>

<Item Value=»31″ X=»150″ Y=»163.5″/>

<Item Value=»32″ X=»150″ Y=»161.25″/>

<Item Value=»33″ X=»150″ Y=»159″/>

<Item Value=»34″ X=»150″ Y=»156″/>

<Item Value=»35″ X=»150″ Y=»153″/>

</Nonlinearity>

</Shift>

</Element>

 

<Element>

<Position X=»146″ Y=»150″/>

<Image Name=»eho_sdw.bmp» Alpha=»Yes»>

<Axis X=»70″ Y=»6″/>

</Image>

<Shift>

<Value>(L:EV97_Horiz_ref_knob1,position)</Value>

<Nonlinearity>

<Item Value=»0″ X=»150″ Y=»150″/>

<Item Value=»1″ X=»150″ Y=»147″/>

<Item Value=»2″ X=»150″ Y=»144″/>

<Item Value=»3″ X=»150″ Y=»141″/>

<Item Value=»4″ X=»150″ Y=»138.5″/>

<Item Value=»5″ X=»150″ Y=»136.5″/>

<Item Value=»6″ X=»150″ Y=»134.75″/>

<Item Value=»7″ X=»150″ Y=»133.25″/>

<Item Value=»8″ X=»150″ Y=»132.5″/>

<Item Value=»9″ X=»150″ Y=»132.25″/>

<Item Value=»10″ X=»150″ Y=»132.5″/>

<Item Value=»11″ X=»150″ Y=»133.25″/>

<Item Value=»12″ X=»150″ Y=»134.75″/>

<Item Value=»13″ X=»150″ Y=»136.5″/>

<Item Value=»14″ X=»150″ Y=»138.5″/>

<Item Value=»15″ X=»150″ Y=»141″/>

<Item Value=»16″ X=»150″ Y=»144″/>

<Item Value=»17″ X=»150″ Y=»147″/>

<Item Value=»18″ X=»150″ Y=»150″/>

<Item Value=»19″ X=»150″ Y=»153″/>

<Item Value=»20″ X=»150″ Y=»156″/>

<Item Value=»21″ X=»150″ Y=»159″/>

<Item Value=»22″ X=»150″ Y=»161.25″/>

<Item Value=»23″ X=»150″ Y=»163.5″/>

<Item Value=»24″ X=»150″ Y=»165.25″/>

<Item Value=»25″ X=»150″ Y=»166.5″/>

<Item Value=»26″ X=»150″ Y=»167.5″/>

<Item Value=»27″ X=»150″ Y=»167.75″/>

<Item Value=»28″ X=»150″ Y=»167.5″/>

<Item Value=»29″ X=»150″ Y=»166.5″/>

<Item Value=»30″ X=»150″ Y=»165.25″/>

<Item Value=»31″ X=»150″ Y=»163.5″/>

<Item Value=»32″ X=»150″ Y=»161.25″/>

<Item Value=»33″ X=»150″ Y=»159″/>

<Item Value=»34″ X=»150″ Y=»156″/>

<Item Value=»35″ X=»150″ Y=»153″/>

</Nonlinearity>

</Shift>

</Element>

 

<!— ======================= Bank Pointer ========================== —>

<Element>

<Position X=»140″ Y=»25″/>

<Image Name=»eho_bank_pointer.bmp» Alpha=»Yes»/>

</Element>

 

<!— ======================= Flag ========================== —>

<Element>

<Visible>(L:AGB1,bool) 0 ==</Visible>

<Position X=»203″ Y=»39″/>

<Image Name=»eho_flag.bmp» Alpha=»Yes»/>

</Element>

 

<!— ======================= Lower ========================== —>

<Element>

<Position X=»21″ Y=»202″/>

<Image Name=»eho_lower.bmp»/>

</Element>

 

<!— ======================= Horizontal Reference Knob ========================== —>

<Element>

<Position X=»150″ Y=»269″/>

<Image Name=»eho_knob.bmp»>

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

</Image>

<Rotate>

<Value>(L:EV97_Horiz_ref_knob,enum) 10 * dgrd </Value>

</Rotate>

</Element>

 

<!— ======================= Mouse ========================== —>

<Mouse>

 

<!— ============= Horizontal Reference Knob ============= —>

<Area Left=»125″ Top=»242″ Width=»25″ Height=»50″>

<Cursor Type=»UpArrow»/>

<Click Repeat=»Yes»>(L:EV97_Horiz_ref_knob1,enum) 35 == if{ 0 (>L:EV97_Horiz_ref_knob1,enum) } els{ (L:EV97_Horiz_ref_knob1,enum) 1 + (>L:EV97_Horiz_ref_knob1,enum) }</Click>

</Area>

<Area Left=»150″ Top=»242″ Width=»25″ Height=»50″>

<Cursor Type=»DownArrow»/>

<Click Repeat=»Yes»>(L:EV97_Horiz_ref_knob1,enum) 0 == if{ 35 (>L:EV97_Horiz_ref_knob1,enum) } els{ (L:EV97_Horiz_ref_knob1,enum) 1 — (>L:EV97_Horiz_ref_knob1,enum) }</Click>

</Area>

 

<Area Left=»0″ Top=»0″ Width=»300″ Height=»150″>

<Cursor Type=»Hand»/>

<Click>43 (>K:PANEL_ID_TOGGLE)</Click>

</Area>

 

</Mouse>

</Gauge>

 

 


Edited by JeKKa3XX

Так все просто: в <Value>…</Value> можно не только одну переменную выводить, но и расчеты делать, логические выражения вычислять. Например:

 

<… поскипано …>

__(L:MyVar1, number) 1 ==

__if{

____ выполняемое действие, если переменная равна 1 (например, загрузка какого-либо значения на стек, хоть другой переменной)

__}

__els{

____выполняемое действие, если переменная НЕ равна 1

__}

<… поскипано …>

помогите понять логику этой строки,спасибо

 

<Visible>(L:KN62OnOff,bool) (A:Circuit general panel on, bool) && (A:CIRCUIT AVIONICS ON, bool) &&</Visible>

Все просто: последующий код будет виден, если совпадут три условия: (L:KN62OnOff,bool) будет истинно, будет включено питание авионики (A:CIRCUIT AVIONICS ON, bool) и будет включено общее питание (A:Circuit general panel on, bool).

Ребята, помогите понять, что делает эта строка в приборе:

<Click>0 (>K:TOGGLE_AFTERBURNER2) 0 (>K:TOGGLE_AVIONICS_MASTER)</Click>

Это из 9-ки, где самолет исправно трудится. При переносе в 10-ку при переключении любого тумблера (именно мышью, где в коде присутствует (а она присутствует почти во всех тумблерах) строка K:TOGGLE_AFTERBURNER2 РУД правого двигателя (второго, я так понимаю) передвигается полностью вперед).

Соответственно, хотелось бы узнать, что делает эта строка и как ее корректно оформить, чтобы она работала в 10-ке.

SDK почитал, но ясности большой (конкретной) не получил — насколько я понял — посылается значение 0 (возможно, False) в переключатели???

А с какой это панели взято, если не секрет? Скорее всего, на эвент (K:TOGGLE_AFTERBURNER2) повешан звук щелчка тумблера, можете его стереть:

<Click>0 (>K:TOGGLE_AVIONICS_MASTER)</Click>

Да знаете, эта TOGGLE_AFTERBURNER2 почти везде присутствует, потому что где ни щёлкни тумблер, на любой панели — правый рычаг перемещается вперёд. Я все тумблеры, конечно, код не проверял — но выборочно глянул несколько — присутствует.

Я предполагал, что эта фишка связана с озвучиванием (тем более, что в 9-ке щелчок есть, а в 10- нет, т. е. событие куда-то утехает). Даже убирал ее — действительно, это помогает. Но хотелось бы понять, почему в 10-ке это не работает (да и щелчок хотелось бы сохранить) всё-таки тублеров и других переключателей сотня наверно наберётся — просто слепо убирать одно событие не хотелось бы, мало ли чем аукнется…


Edited by DmitryKz

Но хотелось бы понять, почему в 10-ке это не работает (да и щелчок хотелось бы сохранить)

Для этого нужен прибор озвучки, имеется ли оный в FSX?

Ничем кроме исправления глюков. Тоггле Афтербернер- это событие, которое в 9-ке генерило «Щелчек», когда звуковая Гауга была примитивной и было ограничено количество переменных по которым можно озвучку было прицепить.

 

Убрать можно совершенно безболезненно- все равно прибор озвучки этот в Х не работает- нужно новый писать.

Ребята, спасибо за прояснение ситуации

Kirill Konovalov

А Вы не могли бы подсказать, в каком направлении копать по написанию прибора озвучки? Или SDK будет вполне достаточно? Я программист, но с симовскими гаугами еще не работал…

Пропадает ли у кого-нибудь еще прорисовка прибора в Preview в AceXML в Windows 7? У меня довольно часто бывает так, что достаточно изменить какой-либо параметр, чтобы на месте прибора появился черный квадрат. Помогает только перезапуск программы. Оформление роли не играет — и в Aero, и в Basic, и в Classic. Забавно еще то, что упоминания об этой проблеме не нашел в Инете — такое ощущение, что это у меня что-то глючит…

Еще такого кода не могу понять:

(A:Circuit avionics on,bool) 1 >= if{ 0 (L:AdfVor,bool) ! (>L:AdfVor,bool) 1 }

а именно того, что выделено красным. То, что происходит инвертирование переменной AdfVor, ясно, но что означают обрамляющие это выражение первый 0 и последняя 1?

Инвертированное значение переменной (L:AdvVor, bool) сохраняется в ней же, затем на стек загружается единичка.

Инвертированное значение переменной (L:AdvVor, bool) сохраняется в ней же, затем на стек загружается единичка.

Т. е. в стеке остаются 0 и 1 (то, что обрамляет отрицание), а что они там остаются делать?

Вопросы, наверное, глупые, но я не могу понять логику никак…….

ребят, подскажите, какая переменная используется для перестановки стабилизатора? в частности в модели Ил-76… очень надо)

В Модели Ил-76 ВИЗУАЛЬНАЯ перекладка стабилизатора привязана на закрылки. А в динамике, все как обычно.

так… или я не понял, или вы меня)

хочу написать прибор при котором в нулевом положении будет гореть индикация «проверь стабилизатор», а если отклонить стабилизатор на угол -2 и более  индикация гаснет, т.к. на текущий момент получается, что только при установке угла -5.5 гаснет индикация и умолкает сирена.

покопался в поисках… нашел, что вроде переменная ELEVATOR_TRIM отвечает за перестановку стабилизатора, ну это по дефолту в симе, как в Ил-76 не знаю…

поэтому и вопрос, может все-таки другая переменная? или ELEVATOR_TRIM это самое то?

A:ELEVATOR TRIM POSITION, radians
Только сирена будет все равно орать. потому что комплекс от Ил-62…

спасибо большое! Проверил, все получилось)

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

Ну думаю решаемо, буду пробовать.

Эээ, а паттерн печати дробного числа правильный? Вот это вот %!0.4f!%

Просто это всё пришло из С, а там печать числа типа 0.123 будет через паттерн %5.3f , где 5 — это общее число знаков включая разделитель, 3 — кол-во знаков после запятой, ну и f — это собсно float. Попробуйте %!5.3f!%

Попробовал. Поэксперементировал.

Пришёл к выводу, что общее количество знаков (включая точку) задаётся в «Length=5».

А в %!5.3f!%  — 5 это пять знаков перед точкой, а 3 это три знака после точки.

В Вашем предложении должно быть «Length=9«.

Прикрепленные изображения

  • AP_m.jpg