FlyWithLua — Программирование

Давно не читал раздел x-plane. Вот буквально только что наткнулся, что есть такой плагин. Это по сути тот же САСЛ. Как я давно хотел, что бы это случилось. 
Дело в том, что сасл сейчас используют практически во всех «модных» моделях. Естественно плагин в папке модели. Во времена гизмы это было хорошо, т.к. гизма крокозябила с сасл. Запускать 2 сасла (папка с самолетом и общая папка) естественно затея не очень хорошая :). В то же время очень часто хотелось бы иметь какой-нибудь глобальный скрипт, на все самолеты. Ну в общем это оно. Это свобода. 
По той же пьяной камере меня, как не програмера останавливало мучение (ну я же тупой) с вижуал студио (что только для винды). Правда родить, что хотел там получилось, но все равно это по сравнению с скриптом гемор.

Давайте тут писать идеи, сами скрипты. Обсуждать это. Это не сложно :)


Ответов: 32

А как создавать Lua? Я нашел такую строчку: set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio»,       0.8 ) . Куда её надо вписывать? Надо нажать в симе FlyWithLua Macros > Enter a line of code и вписать в появившуюся строчку?

Закину в облако, для не зарегеных на орге. Винь и линь. Мануалы в комплекте.
Для ленивых. Папку из архива закинуть в resources/plugins. В этой папке есть папка ваших скриптов scripts. Вот туда все прелести и кидать. 
Что такое скрипт. Это обычный текстовый файл с набором странных слов. Можно просто создать обычный текстовый документ .тхт ,впихнуть странный текст, сохранить и поменять расширение на .lua что бы плагин мог опознать эту чушь :)

 

Для сохранения видимости в тучках Евгений предоставил следующий странный текст

—used dadatef
dataref( «flighttime», «sim/time/total_flight_time_sec», «readonly» )
dataref( «sky_woic», «sim/private/controls/skyc/white_out_in_clouds», «writable» )
—function for timedepend set 0
function set_woic()
if (flighttime > 20) then
sky_woic = 0
end
end
do_sometimes(«set_woic()»)

Вот его и впихните в пустой документ. Ну и обзовите произвольно. Например fuck_them_all
в строчках, где стоит — два минуса означает, что это комментарий. Туда хоть Есенина можно вписать (в эту строчку)

https://dl.dropboxus…2.4_Win_Lin.zip

Сообщение отредактировал skyteacher: 08 March 2014 — 08:50

Закину в облако, для не зарегеных на орге. Винь и линь. Мануалы в комплекте.
Для ленивых. Папку из архива закинуть в resources/plugins. В этой папке есть папка ваших скриптов scripts. Вот туда все прелести и кидать. 
Что такое скрипт. Это обычный текстовый файл с набором странных слов. Можно просто создать обычный текстовый документ .тхт ,впихнуть странный текст, сохранить и поменять расширение на .lua что бы плагин мог опознать эту чушь :)

 

Для сохранения видимости в тучках Евгений предоставил следующий странный текст

—used dadatef
dataref( «flighttime», «sim/time/total_flight_time_sec», «readonly» )
dataref( «sky_woic», «sim/private/controls/skyc/white_out_in_clouds», «writable» )
—function for timedepend set 0
function set_woic()
if (flighttime > 20) then
sky_woic = 0
end
end
do_sometimes(«set_woic()»)

Вот его и впихните в пустой документ. Ну и обзовите произвольно. Например fuck_them_all
в строчках, где стоит — два минуса означает, что это комментарий. Туда хоть Есенина можно вписать (в эту строчку)

https://dl.dropboxus…2.4_Win_Lin.zip

Спасибо! А для того, чтобы сделать тень для облаков («sim/private/controls/clouds/cloud_shadow_lighten_ratio»,       0.8 ), где надо строчки поменять?

Просто добавьте ее где-нибудь в начале, сохраните. Ну и в меню flywithlua перезапустите плаг (верхняя строчка)

Было написано сделать так:

 

Нужно создать .lua со строчкой
set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio»,       0.8 )
только и всего.

 

Надо создать текстовой документ и вписать в него set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio»,       0.8 ) ?

Как хотите. Хотите, как и в предыдущий раз сделайте новый док, хотите впишите в существующий

Так:

set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio»,       0.8 )

function set_woic()
if (flighttime > 20) then
sky_woic = 0
end
end
do_sometimes(«set_woic()»)

 

Или так:

 

set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio» )

function set_woic()
if (flighttime > 20) then
sky_woic = 0.8
end
end
do_sometimes(«set_woic()»)

 

 

Значение вписывается в sky_woic?

:) К вышеприведенному тексту нужно было просто добавить сторку.

 

—used dadatef

set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio», 0.8 ) — вот она, моя строка
dataref( «flighttime», «sim/time/total_flight_time_sec», «readonly» )
dataref( «sky_woic», «sim/private/controls/skyc/white_out_in_clouds», «writable» )
—function for timedepend set 0
function set_woic()
if (flighttime > 20) then
sky_woic = 0
end
end
do_sometimes(«set_woic()»)
 

:) К вышеприведенному тексту нужно было просто добавить сторку.

 

—used dadatef

set( «sim/private/controls/clouds/cloud_shadow_lighten_ratio», 0.8 ) — вот она, моя строка
dataref( «flighttime», «sim/time/total_flight_time_sec», «readonly» )
dataref( «sky_woic», «sim/private/controls/skyc/white_out_in_clouds», «writable» )
—function for timedepend set 0
function set_woic()
if (flighttime > 20) then
sky_woic = 0
end
end
do_sometimes(«set_woic()»)
 

Спасибо. А той строке должно быть 7 пробелов? Или правильно как вы сделали?

Без разницы сколько. Хоть с новой строки :) Важна последовательность 

Сообщение отредактировал skyteacher: 08 March 2014 — 10:38

Ещё в теме про DatarefEditor была ссылка на форум с готовыми скриптами. Она не работает. У вас случайно нет рабочей?

Готовые скрипты есть в папке scripts(disabled), но я их не смотрел

Теней от облаков нет. Вот скрины текстового документа и папки. :dry: Вот скрины текстового документа и папки. Подскажите в чем ошибка.

Прикрепленный файл
 123456.png   110.55К
  6 Количество загрузок:Прикрепленный файл
 1234567.png   64.17К
  6 Количество загрузок:

 

Я не вижу расширение, оно точно lua?

Я не вижу расширение, оно точно lua?

Какое lua? Русским же по белому написано: «Текстовый докум…».

Верно, просто не был уверен, что винда так и скрипт обозвать может. У меня то расширения показываются и вправо не смотрю никогда
Накой я выше все это писал

Сообщение отредактировал skyteacher: 08 March 2014 — 22:43

Теперь в Lua, но результата нет.

Прикрепленный файл
 123456.png   97.61К
  7 Количество загрузок:Прикрепленный файл
 1234567.png   63.45К
  7 Количество загрузок:

Можете выложить скрин скрипта с тенью для облаков в качестве примера?

Ой, сразу не заметил теней. Результат оказался отличный! Спасибо, skyteacher, за помощь.

Сообщение отредактировал Alex_Temnyakov: 09 March 2014 — 16:52

В папке Scripts (disabled) есть скрипт bubble copilot. Кто знает за что он отвечает?

Можно ли с помощью LUA scripts осуществлять перехватыват кнопок джоя и назначение им различных действий?

Можно ли с помощью LUA scripts осуществлять перехватыват кнопок джоя и назначение им различных действий?

А смысл? Штатное назначение не катит?

А смысл? Штатное назначение не катит?

Катит, но не хватает :). Знаю, есть какая-то прога на LUA для панелей. Подумал, может и джой «за-энхансить» можно. Проги для управления видами разрабатывают парни, вовсю юзающие трекир и там все под него идет. Им, видать, фукциноал джоя до-фени…

Так есть вариант?

Можете написать что конкретно надо сделать?

Можете написать что конкретно надо сделать?

Да как бы — ответить на вопрос :). Но если сможете конкретно подсказать, буду очень благодарен!

Смысл таков. Сделать из кнопки джойстика (напр. «курок». кн.1) что-то вроде «shift»-а. При отжатой кн.1 назначение у остальных кнопок джоя одно, а при нажатии — меняется. Вообщем, из цепочки для правой руки «Стик — Мышь — Клава» хочу убрать клавиатуру…

Я вроде даже находил такую тему по джоям вообще, без привязки к симулятору, но там было что-то не то.

Купить Х52 — не предлагать!!! :)

Сообщение отредактировано Enzzo: 13 October 2014 — 19:28

Я понял. Постараюсь в двух словах и понятно. Если просто сделать так, чтобы при нажатии двух кнопок вызвалась какая-то третья команда можно. Но Плейн ведь все равно будет выполнять то что назначено кнопке «без шифта». Значит нам нужно делать полностью кастомную настройку кнопок джойстика. Для этого нужен более-менее приличный интерфейс. И не забываем что работать скорее всего надо будет напрямую с джойстиком для получения текущего статуса кнопок. Исходя из этого я бы писал отдельный плагин на С++.

Итого: необходим отдельный плагин на плюсах с UI для полной нстройки кнопок. Это не сложно технически, но тут довольно много работы (учитывая интерфейс  и то что команд в плейне дофига). Поэтому я бы оценил это в месяц работы. Увы, просто отделаться плагином написанным за пол часа тут вряд-ли получится.

Да, насчет конфликта управления я тоже думал. Но мне нужно что? Только кнопки. А их я могу и задизаблить в симуляторе. Вообще, я с программированием на Си не знаком, и как сделать Гуй — совсем не в курсе. Хотел по-быстрому накорябать скрипт, «на коленке». Если что, подправил бы в самом скрипте. Опробовал бы, а там можно и прогу писать.
Может и будет повод познакомиться с современным программированием :).
Спасибо за отзывчивость!

Итого: необходим отдельный плагин на плюсах с UI для полной нстройки кнопок.

Без плюсов будет неполный? Или UI не получится?
 

Увы, просто отделаться плагином написанным за пол часа тут вряд-ли получится.

Да, за полчаса может и не получиться, но за час на скрипте можно наваять вполне приличный прототип

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

Конечно не получится — дядька Страуструп карму испортит, всю жизнь потом будешь отлавливать AccessViolation и IndexOutOfRangeException ;)
Прототип может и можно. Я правда не знаю можно ли на Луа нормально перехватывать нажатия кнопок, но возможно есть какой-то workaround. Другое дело что это будет сырой Прототип и для того чтобы среднестатистический симмер мог нормально его юзать надо пилить мордочку и еще нормально так код педалить.

дядька Страуструп

Чур! (истово крестится) Труп страуса давно уже пора зарыть. Иначе от этих виолейшенов и не избавишся. (бурча под нос) Зомби проклятое…
 

Я правда не знаю можно ли на Луа нормально перехватывать нажатия кнопок

Если кнопки не распределены, то их перехватывать и не надо, просто использовать.

Хм, кстати да, я не подумал что в sim/joystick могут быть датарефы для кнопок. Да, так и есть, нашел в доках. Ну тогда согласен, сделать рабочий прототип не проблема.

В какой датареф пишутся значения положения железного РУДа?

Хочу написать скрипт, чтобы при положении железного руда Х РУД в симе находился в положении Y. Например, чтобы при крайнем верхнем положении железного РУДа самолет был не в TOGA, а во FLEX.

Уважаемые, добрый вечер, нужна ваша помощь, давным давно Андрей a.k.a Felis вместе с крафтом Ан-24РВ выпустил скрипт для SASL, который сглаживает движения управляющих поверхностей.Предназначен для поглощения шумов джойстика, удобства управления. Так вот, если это не сложно, перенести этот скрипт в вид пригодный для использования с FlyWithLUA. Ибо на Saitek pro flight yoke system в X-plane вообще летать не реально. Кто нибудь осилит?

Вот ссылка на данный скрипт https://drive.google…iew?usp=sharing

Сообщение отредактировано moter: 16 March 2015 — 23:29