USSR_Nic Posted November 22, 2017 Posted November 22, 2017 Не получается, хоть убейте, передать команду в DCS. Может кто-нить помочь с написанием скрипта export.lua для приема данных от сторонней программы? Данные принимаются и передаются из программы написанной на C#, с помощью класса DCSSocket(Где брал не помню). В export.lua есть раздел LuaExportBeforeNextFrame(). где как я понимаю и должен быть код приема команды и его обработка для LoSetCommand. Но как это написать... Может кто-нить из программистов поможет? DCSSocket класс прикладываю.DCSSocket.rar Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted November 22, 2017 Posted November 22, 2017 (edited) https://forums.eagle.ru/showpost.php?p=3058086&postcount=54 Ну и всю тему почитайте. Есть особенности, но всё работает. Я так из су-27 беспилотник делал Edited November 22, 2017 by BR=55=Sevas МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted November 22, 2017 Author Posted November 22, 2017 Блин.. Ну как так... Третий день рою форум и ничего!!! Поиск по форуму похоже ваще не работает. (Ну или я неспособен правильно спросить) Спасибо большое за наводку. Жаль завтра на работу не попаду. Послезавтра буду разбираться. Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
USSR_Nic Posted November 24, 2017 Author Posted November 24, 2017 У меня все заработало. Всем спасибо. Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
USSR_Nic Posted December 19, 2017 Author Posted December 19, 2017 Может кто-нить подсказать как вытащить из экспорта курсовой и глисадный директор. Есть-ли в принципе там позиция этих стрелок? Также интересует курсовой и глиссадный бленкеры. Как узнать выпущены они или убраны? Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 19, 2017 Posted December 19, 2017 Директора есть glide = LoGetGlideDeviation() side = LoGetSideDeviation() МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
ivan_sch Posted December 20, 2017 Posted December 20, 2017 (edited) Директора есть glide = LoGetGlideDeviation() side = LoGetSideDeviation() Только учитывая некоторые особенности реализации лучше писать как-то так local glide = LoGetGlideDeviation() or 0 local side = LoGetSideDeviation() or 0 чтоб значит это самое скрипт работал всегда, на любой модели. Если ожидается структура, то тогда приходиться так выкручиваться local HSI = LoGetControlPanel_HSI() if HSI ~= nil then ADF = HSI.ADF_raw or 0 RMI = HSI.RMI_raw or 0 Heading = HSI.Heading_raw or 0 end Edited December 20, 2017 by ivan_sch Начните с себя, насяльники. И со своих песиков-тролликов. 1.2 Forum members must treat each other with respect and tolerance.
ivan_sch Posted December 20, 2017 Posted December 20, 2017 Может кто-нить подсказать как вытащить из экспорта курсовой и глисадный директор. Есть-ли в принципе там позиция этих стрелок? Также интересует курсовой и глиссадный бленкеры. Как узнать выпущены они или убраны? Можно брать данные прямо с приборов кабины local MainPanel = nil if player_data then MainPanel = GetDevice(0) end function LuaExportBeforeNextFrame() local ADF = 0 -- АРК local RMI = 0 -- local Heading = 0 local HSI = LoGetControlPanel_HSI() if HSI ~= nil then ADF = HSI.ADF_raw or 0 RMI = HSI.RMI_raw or 0 Heading = HSI.Heading_raw or 0 end if Heading == 0 and MainPanel then if player_data.Name == 'L-39C' then Heading = MainPanel:get_argument_value(41)*math.pi*2.0 end end local PRS = LoGetBasicAtmospherePressure() or 0 if PRS == 0 and MainPanel then if player_data.Name == 'L-39C' then PRS = 670 + MainPanel:get_argument_value(56)*(826 - 670) end end Это для Элки. Цифирьки в формулах - коэффициенты масштабирования значения с прибора в нужное и понятное. ЗЫ. Большинство функций экспорта работают только для моделей из Горячих скал. Отсюда и все эти проверки на возвращаемое значение. Начните с себя, насяльники. И со своих песиков-тролликов. 1.2 Forum members must treat each other with respect and tolerance.
USSR_Nic Posted December 20, 2017 Author Posted December 20, 2017 (edited) :crash::doh:Попробовал оба способа. Толи лыжи не едут, то ли лето уже... Не могу сопоставить полученные циферки с положением стрелок хоть убейте... И даже если я неправильно перевожу циферки, то движение стрелок же должно соответствовать изменению циферок. А у меня стрелки двигаются - циферки стоят, циферки бегут - стрелки стоят и наоборот. Может я плохо обьяснил что мне надо и меня не поняли... Мне надо получить положение стрелок которые указаны зелеными стрелками на картинке. Плюс мне нужно получить положение выпадающих флажков на ПНП с маркерами Г и К. Они убираются когда входишь в глиссаду. Тестирую на Су-25 и Су-33 glide и side уверенно выдают -1 на любом режиме. прога от BR=55=Sevas запускается, но приборы не шевелятся. Пробовал посмотреть сто сыпется из экспорта своей прогой, но она говорит, что подключение есть, но данные не льются. вывод циферок такой: local glide = LoGetGlideDeviation() or 0 local side = LoGetSideDeviation() or 0 local HSI = LoGetControlPanel_HSI() local HSI = LoGetControlPanel_HSI() if HSI ~= nil then ADF = HSI.ADF_raw or 0 RMI = HSI.RMI_raw or 0 end socket.try(c:send(string.format("%+#5.2f %+#5.2f %+#5.2f %#+5.2f %#+5.2f %#+5.2f %#+5.2f %#+1.3f %#+5.2f %#+5.2f|\n", 57.3*bank, 57.3*pitch, 57.3*yaw, altBar, altRad, IAS, TAS, SBP, glide, side))) glide и side менял на ADF и RMI if end пробовал убирать не помогает... то я делаю не так???!!!:doh::doh::doh::doh::crash::crash::wallbash::wallbash::wallbash::wallbash::wallbash: Может у меня DCS какой-нить не такой? Edited December 20, 2017 by USSR_Nic Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
ivan_sch Posted December 21, 2017 Posted December 21, 2017 :crash::doh:Попробовал оба способа. Толи лыжи не едут, то ли лето уже... Коль, ты не совсем правильно понял смысл совета. Тебе показали куда копать и чем копать.. а вот дальше сам =))) Важно определиться для какой или каких моделей ты делаешь кабину. И от этого танцевать - определять какие функции экспорта работают, откуда и как брать данные с приборов в кабине. Начните с себя, насяльники. И со своих песиков-тролликов. 1.2 Forum members must treat each other with respect and tolerance.
BR55Sevas Posted December 21, 2017 Posted December 21, 2017 BR=55=Sevas запускается, но приборы не шевелятся. Пробовал посмотреть сто сыпется из экспорта своей прогой, но она говорит, что подключение есть, но данные не льются. Проверьте, что экспорт на месте. Saved Games\DCS\Scripts\export.lua Данные показываются и в панельке и в Xspider. Если у вас ни там, ни там, то что-то блокирует порты. может антивир. Проверяйте. МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 (edited) Экспорт на месте. Если я на это место кладу свой экспорт, то я получаю данные. Если кладу Ваш, то соединение происходит, а данные не сыпятся. То же самое происходит с панелькой от Mnemonica. В строке вывода: 57.3*bank, 57.3*pitch, 57.3*yaw, altBar, altRad, IAS, TAS, SBP, glide, side я получаю правильные данные кроме glide и side. Авиагоризонт показывает правильно крен, тангаж, шар, также правильно показывают высотомер и УС. А вот glide и side всегда показывают -1. В процессе экспериментов заметил такую штуку, что если я делаю какую-либо ошибку, хотябы для 1 данного, в экспорт луа, то происходит соединение, но НИКАКИЕ данные не приходят во внешнии программу... Может кто-нить подключить мой экспорт и посмотреть какие данные приходят от 9 и 10 значения. Это glide и side. Может у меня правда что-то с DCSом. По поводу куда копать я в принципе уже понял как вытаскивать и загонять данные. Проблема в том, что я хоть убей не понимаю как определить какие конкретно данные вытаскивать, вернее как они в экспорте называются. Мне не надо внутри экспорта подгонять данные под какой-нить вменяемый вид, я это делаю во внешней программе, но какие данные вытаскивать из DCSа, я не знаю. Например для ввода в DCS данные расписаны по пунктам в конце экспорта, и там вполне вменяемо, пусть и на вражеском языке, в коментариях описано что есто что. А как понять что я получу вытащив это: LoGetControlPanel_HSI() -- (args - 0,results - table) result = { ADF_raw, (rad) RMI_raw, (rad) Heading_raw, (rad) HeadingPointer, (rad) Course, (rad) BearingPointer, (rad) CourseDeviation, (rad) } как понять, сто в строке LoGetADIPitchBankYaw() -- (args - 0, results - 3 (rad)) я обратно получаю крен, тангаж и КОМПАС!!!!! Я долго не мог понять почему у меня шарик по кругу бегает... :) Ведь если перевести яндексом Yaw, то получим слово СКОЛЬЖЕНИЕ. А приходят данные от КОМПАСА.... Все это не укладывается в моей тупой башке.... Сделал красивый АГБ-96Д, электронику на него, написал прошивку и драйвер, а все уперлось в вывод данных из DCSа. Обидно... Edited December 21, 2017 by USSR_Nic Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 Мой экспортExport.lua Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 И еще. В моем экспорте написано так: LoGetControlPanel_HSI() -- (args - 0,results - table) result = { ADF_raw, (rad) RMI_raw, (rad) Heading_raw, (rad) HeadingPointer, (rad) Course, (rad) BearingPointer, (rad) CourseDeviation, (rad) } А в экспорте от BR=55=Sevas Написано так: HSI.ADF*57.3, HSI.RMI*57.3, HSI.Compass*57.3 Я пробовал в своем экспорте если я пишу так: HSI.ADF то данные перестают поступать вообще. А если пишу так: HSI.ADF_raw то данные сыпятся, тока непонятно что это такое... Где искать что есть что? Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 21, 2017 Posted December 21, 2017 LoGetADIPitchBankYaw() -- (args - 0, results - 3 (rad)) я обратно получаю крен, тангаж и КОМПАС!!!!! Я долго не мог понять почему у меня шарик по кругу бегает... :) Ведь если перевести яндексом Yaw, то получим слово СКОЛЬЖЕНИЕ. А приходят данные от КОМПАСА.... Все это не укладывается в моей тупой башке.... Ну, яндекс не обязан знать спецтермины. pitch roll yaw -так принято обозначить углы в глобальной СК мира. Во всяком случае так в книжках видел. Ну, и метод тыка никто не отменял. Вызвали один параметр и анализируете по арматуре игровой кабины, пока не поймето что это такое. Углы иногда нужно переводить из радиан в градусы. Тонкостей тут хватает, всего не описать. Вечером посмотрю экспорт в игре. Кстати, поубирайте из него все не нужное, то что закоментировано. Ноги поломать же можно. Оставьте только ваш код, намного проще будет читать. МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 Читать согласен проще, только где потом брать новые команды с коментариями??? Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 21, 2017 Posted December 21, 2017 DCS\Scripts\export.lua МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 Да я уже сообразил, что нужно оригинал переименовать в ExportOriginal.lua и в него смотреть. Чета я туплю. И уже давно. В отпуск пора. Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 21, 2017 Posted December 21, 2017 Не нужно этого делать. Оригинальный экспорт пусть лежит на своём месте в папке игры. Ваш экспорт с которым боритесь лежит в сохраненных играх. МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 (edited) Оригинальный экспорт пусть лежит на своём месте в папке игры. Ваш экспорт с которым боритесь лежит в сохраненных играх. Далеко из папки в папку бегать. Так удобнее. С вложенным экспортом панелька BR=55=Sevas заработала. Но понимания как в этой панельке ходят директора не пришло. Смотрю своей прогой что приходит от этого экспорта там glide и side уверенно показывают -1. А директора на панельке бегают правильно... И что это значит????:wallbash::wallbash::wallbash: Зависимость хода директора с какой-нить циферкой найти не удается.... В строке вывода это: HSI.Compass*57.3 заменено на это: 360-yaw*57.3 и еще по мелочам. HSI.Compass - этого нет в описании моего экспорта и при наличии этой строки экспорт вообще ничего не выдает.Export.lua Edited December 21, 2017 by USSR_Nic Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
USSR_Nic Posted December 21, 2017 Author Posted December 21, 2017 (edited) Вот скрин с прог. Стрелки где-то в промежуточном положении, а glide и side -1... Убейте меня, чтоб не мучился. Edited December 21, 2017 by USSR_Nic Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 21, 2017 Posted December 21, 2017 Это уже не наша проблема, а Советского Рика. Похоже эти функции экспорта сломаны. Попробуйте решение Иваныча, вытащить эти планки из аргументов анимации, только их номера не знаю. МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 22, 2017 Author Posted December 22, 2017 Но Ваши планки двигаются правильно!!!!! КАК?????? Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
BR55Sevas Posted December 22, 2017 Posted December 22, 2017 (edited) У меня двигаются директора, которые за шариком ИЛСа следят. Не помню уже правильных названий. в экспорте это navi.Requirements Насколько понимаю вам требуются другие планки, которые формируют перекрестие на компасе, они отслеживают отклонение от глиссады. Вот они у меня тоже перестали работать. Это уже или баг экспорта или их отключили. Edited December 22, 2017 by BR=55=Sevas МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl
USSR_Nic Posted December 22, 2017 Author Posted December 22, 2017 (edited) Хорошо. Я временно согласен на те директора, которые работают. Но navi.Requirements.pitch*57.3,navi.Requirements.roll*57.3 не дают понимания о положении стрелок. И вообще, никакие циферки из Вашего экспорта не дают этого понимания. Такое ощущение, что Вы используете несколько параметров для получения этих данных. Я уже даже попробовал все параметры на все поделить, умножить, сложить и вычесть. Но формула вычисления видимо посложнее... Дальше я не понимаю куда копать... 2 Блин... Теперь все заработало... glide и side начинают работать с пол глиссады. Вчера не работали никак... В navi.Requirements.pitch,navi.Requirements.roll убрал *57.3 И стало что-то похожее, но отдаленно... Пока не очень понимаю сопоставление. Edited December 22, 2017 by USSR_Nic Выпитая водка не влияет на ТТХ истребителей!!! Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!
Recommended Posts