Jump to content
Sign in to follow this  
Tory

SOS: вопросы по приборам на XML

Recommended Posts

А почему в примере из архива использована переменная (A:Eng1 manifold pressure,inHg)?

 

сим не читает переменную....я уверен что неправильно пишу...

 

 

ради интереса поменял переменную ..работает но глючно

 

на примере прибора Як-а 12-ого понял..спасибо...а можете мне пояснить как задавать направление стрелки с помощью градусов вместо координат?

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

спасибо всем кто помогает)

Share this post


Link to post
Share on other sites

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

Сам я ФСпанелом не пользуюсь, мне вполне хватает линеек фотожопа и блокнота для расстановки приборов на панели

Share this post


Link to post
Share on other sites

..посмотрите пожалуйста что я не так сделал...

 

Что сделано не так: ( могу ошибаться, если что поправьте пожалуйста)

За Value уже было сказано. Размеры битмапов: ну очень уж большие...

Для стрелки прибора: Position X, Y - это координаты её центра вращения на CARBHEAT.bmp ( у Вас это что-то другое), Axis X, Y - координаты оси вращения на самой стрелке.

И без Luminous не будет подсветки.

post-56751-0-50918600-1311787014_thumb.jpg

Edited by DT-75
  • Upvote 1

Share this post


Link to post
Share on other sites

спасибо за столь подробный ответ...по тихоньку осваиваю...как я понял он у вас заработал? можете залить или скинуть на мыло...

буду весьма благодарен...спасибо!

 

iudjin.total90@gmail.com

Edited by JeKKa3XX

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, как обойти проблему с некорректно работающей глобальной переменной TIME OF DAY. Вместо заявленных

TIME OF DAY General time of day (enum: 1=Day, 2=Dusk/Dawn, 3=Night) . Выдаёт всегда 1, ночью 3. Двойки нет... Как результат приведённая ниже конструкция правильно работает только днём и ночью. В сумерках при включении освещения подсвечивается дневная текстура.

 

<Gauge Name="A_340_SmallOverheadl" Version="1.0">

<Element>

<Select>

<Value>(A:LIGHT PANEL,bool) 1 == (E:TIME OF DAY,enum) 1 != and</Value>

<Case Value="0">

<Image Name="electro_day.bmp" ImageSizes="1600,108,1600,108"/>

</Case>

<Case Value="1">

<Image Name="electro_night.bmp" ImageSizes="1600,108,1600,108"/>

</Case>

</Select>

</Element>

 

А может кто знает какая L: у Вилки в Айрбасах используется для блокирования загрузки ночных текстур панели днём?

Edited by AndrewAE

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

...

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites
Как вариант решения проблемы: если надо сделать два независимых высоотомера, то надо будет самому рассчитывать давление на уровне аэродрома. Это несложно, давление нарожного воздуха известно, барометрическая формула - тоже. И все будет в наших руках, без привязки к числу прописанных высотомеров.

 

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

 

 

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

Share this post


Link to post
Share on other sites

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

 

 

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

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

завел флажок авиагоризонта на некий тумблер 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

Share this post


Link to post
Share on other sites

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

 

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

__(L:MyVar1, number) 1 ==

__if{

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

__}

__els{

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

__}

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Edited by DmitryKz

Share this post


Link to post
Share on other sites

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Kirill Konovalov

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...