Интересно: Почему при переносе строк с операторами из одного прибора в другой получается следующее:
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку «Обновить»или повторите попытку позднее.
———————————————————————————
Имя начинается с ошибочного знака. Ошибка при обработке ресурса »file:///D:/MFS 2004/Aircraft/CVA_L410_UVPE/panel/410GAU/P…
В результате — Ошибка. Никак не пойму, в чём причина.
Alexander Belov
19.12.2010 в 17:43
Насколько я понял, прибор открывали в Эксплорере. Честно говоря, сам эти способом проверки не пользуюсь. А что происходит в симуляторе? Прибор виден?
Kazachek
19.12.2010 в 17:46
Alexander Belov (19 Декабрь 2010 — 22:43) писал:
Насколько я понял, прибор открывали в Эксплорере. Честно говоря, сам эти способом проверки не пользуюсь. А что происходит в симуляторе? Прибор виден?
Нет, прибор пропадает.
Kazachek
19.12.2010 в 19:59
Ничего не понимаю!
Стоит только ввести в код прибора эти самые операторы, как он отказывается работать (всё та же ошибка).
Вот теперь ещё не получается сделать сигнализацию аварийного остатка топлива.
Подскажите пожалуйсто — В чём проблема?
Alexander Belov
19.12.2010 в 21:07
ИМХО, для начала стоит оставить только существенные части:
Не уверен, что секцию FAILURES можно вставлять внутрь селектора. Обязательно надо проверить наличие пробелов между тегами и скобками в наименованиии переменных. Если ошибка будет повторяться, то можно отключать части кода тегами комментария <!— (открывающий) и (закрывающий) —>. Очень важно, чтобы в приборе не было никакой кириллицы!
Wishmaster
20.12.2010 в 03:56
Считаем количество тегов, если есть <xxx> то должен быть и </xxx> если внутри одного есть другой, то закрываться он должен до закрытия первого итд…
Kazachek
21.12.2010 в 09:32
Всем спасибо за ответы.
Проблема была в разночтении.
То, что в Internet Explorer записано как &&, в Блокноте (где я редактирую XML) должно записыватся как &&.
Прошу прощения за внесённую путаницу и потраченное Вами время.
Alexander Belov
21.12.2010 в 12:40
Коллега,
Для редактирования XML-файлов лучше, ИМХО, использовать UltraEdit — он и синтаксис подсвечивает и все теги отображает правильно.
Буторин
22.12.2010 в 07:19
Как написать,что бы прибор при включении,через конкретное время, отображал конкретное число,не смотря на условия? В частности за это время стрелка и должна передвигаться на это число.
Kazachek
22.12.2010 в 13:09
Вот есть ещё один вопрос: Возможно ли написать тумблер для определённого прибора?
Например: Есть три авиагоризонта (два основных и один резервный). Все они работают от бортовой сети. Возможно ли сделать так, чтобы резервный авиагоризонтгоризонт включался — выключался отдельным тумблером.
Или вот радиовысотомер, снятый с другого самолёта. В нём всё работает (бленкер, установка высоты, лампа опасной высоты) при наличии электропитания. Можно ли отключить его отдельным тумблером?
Вот код прибора:
Если возможно, опишите пожалуйсто (хотя бы на простом примере) как создавать такие тумблеры именно для конкретных приборов.
P.S. Спасибо всем, кто помогает и делится своим опытом! Без Вашей помощи я, наверное, давно забросил бы свою работу.
Alexander Belov
22.12.2010 в 13:45
Отдельный тумблер выключения питания к отдельному уже готовому прибору не написать. Нужно вводить новую переменную и «включать» эту переменную. А в приборе анализировать ее, а не стандартную аварию SYSTEM_ELECTRICAL_PANELS.
То есть, если наша вспомогательная переменная не установлена, то прибор «не работает».
Kazachek
22.12.2010 в 16:51
Alexander Belov (22 Декабрь 2010 — 18:45) писал:
Отдельный тумблер выключения питания к отдельному уже готовому прибору не написать. Нужно вводить новую переменную и «включать» эту переменную. А в приборе анализировать ее, а не стандартную аварию SYSTEM_ELECTRICAL_PANELS.
То есть, если наша вспомогательная переменная не установлена, то прибор «не работает».
Какие можно создавать L-переменные?
Например: У меня в основном авиагоризонте и его тумблере записано (L:AGK on, bool).
При попытке использовать подобное значение в резервном авиагоризонте, я его изменил и записал как (L:AGK1 on, bool).
Получилась полная ерунда: Тумблер резервного авиагоризонта на мышь реагирует, но не включается. Зато щёлкают сами собой тумблеры обоих генераторов.
Вероятней всего L-переменные можно записывать только определёнными именами? B SDK я таких не нашел.
Alexander Belov
22.12.2010 в 18:01
L-переменные описаны в Panel SDK, файл Panels SDK.doc, стр 83, раздел «Calculated Expressions in XML Gauges». Надо просто внимательно контролировать, чтобы имена в разных приборах были уникальны.
Kazachek
22.12.2010 в 18:09
Alexander Belov (22 Декабрь 2010 — 23:01) писал:
L-переменные описаны в Panel SDK, файл Panels SDK.doc, стр 83, раздел «Calculated Expressions in XML Gauges». Надо просто внимательно контролировать, чтобы имена в разных приборах были уникальны.
Спасибо за подсказку!
Сейчас буду смотреть и пробовать заново.
Kazachek
23.12.2010 в 10:43
Добрый день!
Выключение резервного авиагоризонта отдельным тумблером осилил.
Но снова вынужден просить помощи.
Продолжаю собирать электропанель для Л-410 и установил на неё тумблеры включения прослушивания сигналов АРК1, АРК2, приёмника NAV и маркерного приёмника.
Установил так же тумблеры влючения COM1 и COM2 (тоесть получается замена дефолтной аудиопанели), но тут возникла трудность. Код сейчас выглядит так:
Как видете в Mouse не хватает секции <Click>. Тумблеры сейчас просто «щёлкают» от нажатия кнопок в дефолтной панели.
Пересмотрел коды множества приборов связного радио, но так и не смог определить, какой должна быть секция <Click>.
Подскажите пожалуйсто — Как сделать, чтобы тумблеры плноценно заработали?
Wishmaster
23.12.2010 в 11:07
смотреть надо не приборы, а тумблеры
вопрос тут скорее в другом. в симе нет возможности выключения радиостанций по отдельности, так что эти тумблеры скорее всего будут мебелью или будут вырубать всю авионику сразу
Kazachek
23.12.2010 в 11:55
Wishmaster (23 Декабрь 2010 — 16:07) писал:
смотреть надо не приборы, а тумблеры
вопрос тут скорее в другом. в симе нет возможности выключения радиостанций по отдельности, так что эти тумблеры скорее всего будут мебелью или будут вырубать всю авионику сразу
Я немного не правильно выразился: я и искал тумблеры в радиоприборах.
А эти два тумблера, что я поставил, должны выполнять роль кнопок COM1 и COM2 в дефолтной аудиопанели (там же они работают).Собственно тумблеры сейчас перещалкиваются синхронно с кнопкаим COM1 и COM2, только не нажимаются, потому как я не знаю, какую нужно записать секцию Click.
Kazachek
23.12.2010 в 12:15
Я прошу прощеня. Вопрос снимается, поиски принесли результаты.
Там должна быть строка:
Ещё раз прошу прощения, что поспешил задать вопрос.
Wishmaster
23.12.2010 в 16:48
Вот так, ковыряясь в других приборах постепенно дойдешь до всего остального, чем-то мы поможем, и появится у нас еще один панелестроитель :о)
Sins452
10.05.2011 в 22:25
У меня такое не проходит. После сборки нового CAB файла и перезагрузке самолета мой прибор просто исчезает с панели. Помогает только перезагрузка сима. FS2004
Попробуйте тогда распаковать CAB в папку с таким же именем. Сим будет работать с папкой точно так же, как с CAB архивом, то есть брать оттуда XML и BMP.
Только сегодня работал так в FSX. Правил в блокноте XML, сохранял, даже не закрывал блокнот, перезагружал в симе самолёт, всё обновлялось.
В FS2004 — не знаю…
В любом случае, пока идёт процесс отладки и не готова окончательная версия, удобнее работать с папкой, а в CAB запаковывать уже когда всё готово.
P.S. Может быть ещё поможет выбрать из меню другой самолёт, потом снова этот.
Edited by Sins
JeKKa3XX240
14.05.2011 в 10:00
Скачал СДК для девятки.много инфы. можно по подробнее где искать список А: переменных?? или здесь под споилер кинуть если не трудно…спасибо!
Alexander Belov921
14.05.2011 в 11:18
Скачал СДК для девятки.много инфы. можно по подробнее где искать список А: переменных?? или здесь под споилер кинуть если не трудно…спасибо!
Список переменных в файле Parameters.doc. P:-переменные — это глобальные переменные МСФС, они описываются в самом конце (время и дата).
Казачок699
29.05.2011 в 18:57
Здравствуйте, уважаемые коллеги!
Не знаю, может где уже задавался подобный вопрос (я не нашел):
Подскажите пожалуйсто, как написать XML нескольких, отдельно друг от друга работающих тумблеров-пустышек?
Заранее признателен за ответ.
Alexander Belov921
29.05.2011 в 19:03
На пример:
———————————— линия отреза
<Gauge Name=»Dummy» Version=»1.0″>
<Element>
<Select>
<Value>(L:Dummy, enum)</Value>
<Case Value=»0″>
<Image Name=»switch_off.bmp» />
</Case>
<Case Value=»1″>
<Image Name=»switch_on.bmp» />
</Case>
</Select>
</Element>
<Mouse>
<Tooltip ID=»»>Your string here</Tooltip>
<Help ID=»»/>
<Cursor Type=»Hand» />
<Click>(L:Dummy, enum) ! (>L:Dummy, enum)</Click>
</Mouse>
</Gauge>
———————————— линия отреза
Использованы битмапки «switch_on.bmp» и «switch_off.bmp». Они могут быть любыми. Текст подсказки «Your string here» также может быть заменен любым, только не стоит использовать кириллицу.
Если нужен еще такой же прибор, то заменяем переменную на (L:DummyA,enum), (L:DummyB,enum) и так далее. Можно заменить L-переменную на (G:Var1). По вкусу.
Казачок699
29.05.2011 в 19:08
На пример:….
Если нужен еще такой же прибор, то заменяем переменную на (L:DummyA,enum), (L:DummyB,enum) и так далее. Можно заменить L-переменную на (G:Var1). По вкусу.
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку «Обновить»или повторите попытку позднее.
———————————————————————————
Имя начинается с ошибочного знака. Ошибка при обработке ресурса »file:///D:/MFS 2004/Aircraft/CVA_L410_UVPE/panel/410GAU/P…
<Value>(A:GEAR TOTAL PCT EXTENDED, percent) 0 == (A:FLAPS HANDLE INDEX, number) 2 == &&</Value>
——…
Элемент включает сигнальную лампу «ВЫПУСТИ ШАССИ» при полностью выпущенных закрылках.
Взял стороки из аналогичного прибора:
— <Element>
<Position X=»19″ Y=»64″ />
— <Select>
<Value>(A:GEAR TOTAL PCT EXTENDED, percent) 0 == (A:FLAPS HANDLE INDEX, number) 2 == &&</Value>
— <Case Value=»1″>
<Image Name=»gearwarn.bmp» Bright=»Yes» />
</Case>
</Select>
</Element>
Поставил в свой:
— <Element>
<Position X=»155″ Y=»200″ />
— <Select>
<Value>(A:GEAR TOTAL PCT EXTENDED, percent) 0 == (A:FLAPS HANDLE INDEX, number) 2 == &&</Value>
— <Failures>
<SYSTEM_ELECTRICAL_AVIONICS Action=»0″ />
</Failures>
— <Case Value=»1″>
<Image Name=»lamp10_on.bmp» Bright=»Yes» />
</Case>
</Select>
</Element>
В результате — Ошибка. Никак не пойму, в чём причина.
Нет, прибор пропадает.
Стоит только ввести в код прибора эти самые операторы, как он отказывается работать (всё та же ошибка).
Вот теперь ещё не получается сделать сигнализацию аварийного остатка топлива.
Подскажите пожалуйсто — В чём проблема?
<Element>
<Position X=»155″ Y=»200″ />
<Select>
<Value> (A:GEAR TOTAL PCT EXTENDED, percent) 0 == (A:FLAPS HANDLE INDEX, number) 2 == && </Value>
<Case Value=»1″>
<Image Name=»lamp10_on.bmp» Bright=»Yes» />
</Case>
</Select>
</Element>
Не уверен, что секцию FAILURES можно вставлять внутрь селектора. Обязательно надо проверить наличие пробелов между тегами и скобками в наименованиии переменных. Если ошибка будет повторяться, то можно отключать части кода тегами комментария <!— (открывающий) и (закрывающий) —>. Очень важно, чтобы в приборе не было никакой кириллицы!
Проблема была в разночтении.
То, что в Internet Explorer записано как &&, в Блокноте (где я редактирую XML) должно записыватся как &&.
Прошу прощения за внесённую путаницу и потраченное Вами время.
Для редактирования XML-файлов лучше, ИМХО, использовать UltraEdit — он и синтаксис подсвечивает и все теги отображает правильно.
Например: Есть три авиагоризонта (два основных и один резервный). Все они работают от бортовой сети. Возможно ли сделать так, чтобы резервный авиагоризонтгоризонт включался — выключался отдельным тумблером.
Или вот радиовысотомер, снятый с другого самолёта. В нём всё работает (бленкер, установка высоты, лампа опасной высоты) при наличии электропитания. Можно ли отключить его отдельным тумблером?
Вот код прибора:
— <Gauge Name=»Radio Altimeter» Version=»1.0″>
<Image Name=»RV_BG.bmp» ImageSizes=»312,312″ />
— <Element>
<Position X=»165″ Y=»154″ />
— <Image Name=»RV_NeedleDH.bmp» ImageSizes=»23,165″>
<Axis X=»11.5″ Y=»133″ />
</Image>
— <Rotate>
<Value Minimum=»0″ Maximum=»750″>(A:Decision height, meters)</Value>
— <Failures>
<SYSTEM_ELECTRICAL_PANELS Action=»0″ />
</Failures>
— <Nonlinearity>
<Item Value=»0″ Degrees=»0″ />
<Item Value=»20″ Degrees=»31″ />
<Item Value=»40″ Degrees=»62″ />
<Item Value=»60″ Degrees=»93″ />
<Item Value=»80″ Degrees=»126″ />
<Item Value=»100″ Degrees=»159″ />
<Item Value=»300″ Degrees=»208″ />
<Item Value=»500″ Degrees=»255″ />
<Item Value=»700″ Degrees=»303″ />
</Nonlinearity>
</Rotate>
</Element>
— <Element>
<Position X=»165″ Y=»154″ />
— <Image Name=»RV_Needle.bmp» ImageSizes=»23,165″>
<Axis X=»11.5″ Y=»110″ />
</Image>
— <Rotate>
<Value Minimum=»0″ Maximum=»750″>(A:Radio height, meters)</Value>
— <Failures>
<SYSTEM_ELECTRICAL_PANELS Action=»0″ />
</Failures>
— <Nonlinearity>
<Item Value=»0″ Degrees=»0″ />
<Item Value=»20″ Degrees=»31″ />
<Item Value=»40″ Degrees=»62″ />
<Item Value=»60″ Degrees=»93″ />
<Item Value=»80″ Degrees=»126″ />
<Item Value=»100″ Degrees=»159″ />
<Item Value=»300″ Degrees=»208″ />
<Item Value=»500″ Degrees=»255″ />
<Item Value=»700″ Degrees=»303″ />
</Nonlinearity>
<Delay DegreesPerSecond=»90″ />
</Rotate>
</Element>
— <Element>
<Position X=»0″ Y=»0″ />
<Image Name=»RV_UP.bmp» ImageSizes=»312,312″ />
</Element>
— <Element>
<Position X=»0″ Y=»0″ />
— <Select>
<Value>(A:Radio height, meters) s0 20000 > if{ 0 } els{ l0 (A:Decision height, meters) < if{ 1 } els{ l0 750 > 2 + } }</Value>
— <Failures>
<SYSTEM_ELECTRICAL_PANELS Action=»0″ />
</Failures>
— <Case Value=»1″>
<Image Name=»RV_LightRed.bmp» Bright=»Yes» ImageSizes=»312,312″ />
</Case>
— <Case Value=»2″>
<Image Name=»RV_LightGreen.bmp» Bright=»Yes» ImageSizes=»0,0″ />
</Case>
— <Case Value=»3″>
<Image Name=»RV_blenker.bmp» Bright=»Yes» ImageSizes=»312,312″ />
</Case>
</Select>
</Element>
— <Mouse>
— <Area Bottom=»250″>
<Tooltip>Radio Altitude (%((A:Radio height, meters))%!d! m)</Tooltip>
</Area>
— <Area Left=»60″ Top=»250″>
<Tooltip>Radio Altitude (%((A:Radio height, meters))%!d! m)</Tooltip>
</Area>
— <Area Left=»0″ Right=»60″ Top=»250″ Bottom=»312″>
<Tooltip>Decision Height (%((A:Decision height, meters))%!d! m)</Tooltip>
— <Area Right=»30″>
<Cursor Type=»DownArrow» />
<Click Repeat=»Yes»>(A:Decision height, meters) 10 >= if{ (>K:DECREASE_DECISION_HEIGHT) }</Click>
</Area>
— <Area Left=»30″>
<Cursor Type=»UpArrow» />
<Click Repeat=»Yes»>(A:Decision height, meters) 700 < if{ (>K:INCREASE_DECISION_HEIGHT) }</Click>
</Area>
</Area>
</Mouse>
</Gauge>
Если возможно, опишите пожалуйсто (хотя бы на простом примере) как создавать такие тумблеры именно для конкретных приборов.
P.S. Спасибо всем, кто помогает и делится своим опытом! Без Вашей помощи я, наверное, давно забросил бы свою работу.
То есть, если наша вспомогательная переменная не установлена, то прибор «не работает».
То есть, если наша вспомогательная переменная не установлена, то прибор «не работает».
Какие можно создавать L-переменные?
Например: У меня в основном авиагоризонте и его тумблере записано (L:AGK on, bool).
При попытке использовать подобное значение в резервном авиагоризонте, я его изменил и записал как (L:AGK1 on, bool).
Получилась полная ерунда: Тумблер резервного авиагоризонта на мышь реагирует, но не включается. Зато щёлкают сами собой тумблеры обоих генераторов.
Вероятней всего L-переменные можно записывать только определёнными именами? B SDK я таких не нашел.
Спасибо за подсказку!
Сейчас буду смотреть и пробовать заново.
Выключение резервного авиагоризонта отдельным тумблером осилил.
Но снова вынужден просить помощи.
Продолжаю собирать электропанель для Л-410 и установил на неё тумблеры включения прослушивания сигналов АРК1, АРК2, приёмника NAV и маркерного приёмника.
Установил так же тумблеры влючения COM1 и COM2 (тоесть получается замена дефолтной аудиопанели), но тут возникла трудность. Код сейчас выглядит так:
<Gauge Name=»COM1″ Version=»1.0″>
<Element>
<Select>
<Value>(A:COM1 TRANSMIT, bool)</Value>
<Case Value=»0″>
<Image Name=»tumb_on.bmp» ImageSizes=»25,61″ />
</Case>
<Case Value=»1″>
<Image Name=»tumb_off.bmp» ImageSizes=»25,61″ />
</Case>
</Select>
</Element>
<Mouse>
<Cursor Type=»Hand» />
<Click> </Click>
</Mouse>
</Gauge>
Как видете в Mouse не хватает секции <Click>. Тумблеры сейчас просто «щёлкают» от нажатия кнопок в дефолтной панели.
Пересмотрел коды множества приборов связного радио, но так и не смог определить, какой должна быть секция <Click>.
Подскажите пожалуйсто — Как сделать, чтобы тумблеры плноценно заработали?
вопрос тут скорее в другом. в симе нет возможности выключения радиостанций по отдельности, так что эти тумблеры скорее всего будут мебелью или будут вырубать всю авионику сразу
вопрос тут скорее в другом. в симе нет возможности выключения радиостанций по отдельности, так что эти тумблеры скорее всего будут мебелью или будут вырубать всю авионику сразу
Я немного не правильно выразился: я и искал тумблеры в радиоприборах.
А эти два тумблера, что я поставил, должны выполнять роль кнопок COM1 и COM2 в дефолтной аудиопанели (там же они работают).Собственно тумблеры сейчас перещалкиваются синхронно с кнопкаим COM1 и COM2, только не нажимаются, потому как я не знаю, какую нужно записать секцию Click.
Там должна быть строка:
<Click>(A:COM1 TRANSMIT, bool) 0 == if{ 0 (>K:COM1_TRANSMIT_SELECT) } els{ 0
(>K:COM2_TRANSMIT_SELECT) }</Click>
Ещё раз прошу прощения, что поспешил задать вопрос.
Попробуйте тогда распаковать CAB в папку с таким же именем. Сим будет работать с папкой точно так же, как с CAB архивом, то есть брать оттуда XML и BMP.
Только сегодня работал так в FSX. Правил в блокноте XML, сохранял, даже не закрывал блокнот, перезагружал в симе самолёт, всё обновлялось.
В FS2004 — не знаю…
В любом случае, пока идёт процесс отладки и не готова окончательная версия, удобнее работать с папкой, а в CAB запаковывать уже когда всё готово.
P.S. Может быть ещё поможет выбрать из меню другой самолёт, потом снова этот.
Edited by Sins
Скачал СДК для девятки.много инфы. можно по подробнее где искать список А: переменных?? или здесь под споилер кинуть если не трудно…спасибо!
Список переменных в файле Parameters.doc. P:-переменные — это глобальные переменные МСФС, они описываются в самом конце (время и дата).
Здравствуйте, уважаемые коллеги!
Не знаю, может где уже задавался подобный вопрос (я не нашел):
Подскажите пожалуйсто, как написать XML нескольких, отдельно друг от друга работающих тумблеров-пустышек?
Заранее признателен за ответ.
На пример:
———————————— линия отреза
<Gauge Name=»Dummy» Version=»1.0″>
<Element>
<Select>
<Value>(L:Dummy, enum)</Value>
<Case Value=»0″>
<Image Name=»switch_off.bmp» />
</Case>
<Case Value=»1″>
<Image Name=»switch_on.bmp» />
</Case>
</Select>
</Element>
<Mouse>
<Tooltip ID=»»>Your string here</Tooltip>
<Help ID=»»/>
<Cursor Type=»Hand» />
<Click>(L:Dummy, enum) ! (>L:Dummy, enum)</Click>
</Mouse>
</Gauge>
———————————— линия отреза
Использованы битмапки «switch_on.bmp» и «switch_off.bmp». Они могут быть любыми. Текст подсказки «Your string here» также может быть заменен любым, только не стоит использовать кириллицу.
Если нужен еще такой же прибор, то заменяем переменную на (L:DummyA,enum), (L:DummyB,enum) и так далее. Можно заменить L-переменную на (G:Var1). По вкусу.
Александр, Большое спасибо за помощь!
Вопрос полностью исчерпан.