Jump to content

lua-скрипты


Recommended Posts

А в чем проблема конкретней ' date=' желательно с кодом[/quote']

Ок, с кодом, так с кодом.

 

Собственно желание: перехватывать команды осей и обрабатывать их на свой лад. По аналогии с кнопками делаем:

1. В файл MJoy16_macros_commands.lua добавляем табличку:

AxisCommands { -- Пробовал и axisCommands
      {action = 99999999}, -- Пробовал и command = 99999999
}

2. В default.lua джойстика добавил в таблицу axisCommands:

action = 99999999, name = 'Test Axis'

3. Собственно отлавливаем в MJoy16_macros.lua команды (у меня пишется в файл)

4. Настраиваем новую ось в интерфейсе игры, н-р на SLAIDER1

 

В итоге со всеми перепробованными вариантами ничего не вышло - команда не приходит (хотя команды от кнопок - приходят)

Мне кажется, ошибка в первом же шаге, т.к. я просто не знаю, какое имя дать таблице и командам.

 

Во вложении - измененные файлы.

MJOY16_InputMOD.zip

Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде.

Мой блог | My blog

Link to comment
Share on other sites

  • Replies 308
  • Created
  • Last Reply

Top Posters In This Topic

  • ED Team
Ок, с кодом, так с кодом.

 

Собственно желание: перехватывать команды осей и обрабатывать их на свой лад. По аналогии с кнопками делаем:

1. В файл MJoy16_macros_commands.lua добавляем табличку:

AxisCommands { -- Пробовал и axisCommands
      {action = 99999999}, -- Пробовал и command = 99999999
}

2. В default.lua джойстика добавил в таблицу axisCommands:

action = 99999999, name = 'Test Axis'

3. Собственно отлавливаем в MJoy16_macros.lua команды (у меня пишется в файл)

4. Настраиваем новую ось в интерфейсе игры, н-р на SLAIDER1

 

В итоге со всеми перепробованными вариантами ничего не вышло - команда не приходит (хотя команды от кнопок - приходят)

Мне кажется, ошибка в первом же шаге, т.к. я просто не знаю, какое имя дать таблице и командам.

 

Во вложении - измененные файлы.

 

Регистрация комманд на устройство не зависит от того ось это или нет

соответсвенно в MJoy16_macros_commands.lua таблица axisCommands не нужна

 

надо просто добавить строчку {command = 99999999}

в таблицу KeyCommands вот так

 

KeyCommands =
{
{ command = 40020000}, 
{ command = 40021000}, 
       ...... остальные команды
       ......  
      {command = 99999999},-- зарегистрировали получение этой команды
}

sigpic2354_5.gif
Link to comment
Share on other sites

Регистрация комманд на устройство не зависит от того ось это или нет

соответсвенно в MJoy16_macros_commands.lua таблица axisCommands не нужна

 

надо просто добавить строчку {command = 99999999}

в таблицу KeyCommands вот так

Всё равно не работает. Вызова SetCommand даже не происходит, когда я двигаю ось на джое.

Вроде всё проверил.

Пара вопросов:

- в default.lua в секции axisCommand надо именно "action = ..." писать ?

- в файле обработки, именно процедура SetCommand отвечает в том числе и за оси?

 

В файле error только одна запись хоть как-то относящаяся к делу: "avLuaDevice release : attempt to call a nil value". Но она там всегда появлялась, может даже до того, как я свой собственый девайс завел, при этом кнопки работают отлично.

 

В файле CockpitCommandsLog.log только события от кнопок.

Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде.

Мой блог | My blog

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...

Или сюда вопрос ... Сорри , запутался нафиг , где Ло , где DCS , где можно вопросы задавать , где уже поздно .

 

Итак , вопрос разработчикам :

У меня не работают ряд функций из секции Export.lua

такие , например как :

 

LoGetControlPanel_HSI()

LoGetEngineInfo()

LoGetMechInfo()

 

Причем , если в ЛО первые две функции работают , то механический перенос в файлик Export.lua приводит к появлению сообщений об ошибках ( в файле error ) . Полное устранение запросов этих параметров решает проблему , но тогда в экспорте остается скорость , крен , тангаж , и ещё немножко ...

 

Подскажите , что я не так делаю , или если это проблема симулятора - можно ли как нибудь решить её самостоятельно ?

 

С уважением Андрей .

Link to comment
Share on other sites

  • ED Team

Присоединяюсь к предыдущей просьбе, большинство данных по

приборам и сигнальным табло в экспорте получить не удается. :helpsmilie:

Link to comment
Share on other sites

FreemanRU, вот к моду в инструкции у тебя записано:

Удалить все файлы из папок "\Config\Input\Aircrafts\ka-50\keyboard\" and "\Config\Input\Aircrafts\ka-50\joystick\", кроме default.lua.
загрузив игру вижу что всё управление пустое, ну на джой назначить не долго, а вот на клаву!!!:doh: Решил оставить один фаил на клавиатуру. Всё работает, а чем грозит не удаление оного? Заметил, что на неё просто не повесишь новые функции в меню и всё.

:joystick: на глиссаде .. :pilotfly:

Link to comment
Share on other sites

FreemanRU, вот к моду в инструкции у тебя записано:

загрузив игру вижу что всё управление пустое, ну на джой назначить не долго, а вот на клаву!!!:doh: Решил оставить один фаил на клавиатуру. Всё работает, а чем грозит не удаление оного? Заметил, что на неё просто не повесишь новые функции в меню и всё.

Не очень понял, что именно ты не удалил.

Если оставишь файлы Клавиатура.lua - просто не сможешь назначить кнопки на неё.

 

Если удалишь - управление на клаве сбросить в значения по умолчанию (как сразу после установки игры)

Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде.

Мой блог | My blog

Link to comment
Share on other sites

У меня не работают ряд функций из секции Export.lua

 

Присоединяюсь к предыдущей просьбе....

 

+1 крен тангаж и скорость этого явно недостаточно!

 

Курим: http://forums.eagle.ru/showpost.php?p=582405&postcount=43

Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде.

Мой блог | My blog

Link to comment
Share on other sites

Не очень понял, что именно ты не удалил.

Если оставишь файлы Клавиатура.lua - просто не сможешь назначить кнопки на неё.

 

Если удалишь - управление на клаве сбросить в значения по умолчанию (как сразу после установки игры)

Да именно про клавиатура. луа. Как вернуть тогда дефолтные настройки на клавиатуру (кроме ручного забивания)

:joystick: на глиссаде .. :pilotfly:

Link to comment
Share on other sites

Что ж , курим , курим ..

Обнадеживает , что разработчики обращают всё же внимание

на наши скромные просьбы . Ну а подобная ситуация - весьма распространенная в больших проектах .

Один программист делает свой кусочек кода , у него всё работает .

Второй правит своё кусочек , и убирает всякие лишние строчки ...

Потом - аврал , протестировать всё некогда , бегом , бегом ...

 

Кстати , есть вопрос / предложение . Насколько я знаю , существует большое количество бета-тестеров , сотрудничающих с ED .

Можно ли предложить уважаемым разработчикам свою скромную персону на предмет тестирования экспортных функций DCS ?

 

С уважением Андрей .

Link to comment
Share on other sites

  • ED Team

Кстати , есть вопрос / предложение . Насколько я знаю , существует большое количество бета-тестеров , сотрудничающих с ED .

Можно ли предложить уважаемым разработчикам свою скромную персону на предмет тестирования экспортных функций DCS ?

 

С уважением Андрей .

http://forums.eagle.ru/showthread.php?t=37995

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Послал такой вот запрос Юричу ( если праально транскрибировал ):

 

Доброго времени суток .

Подскажите , пожалуйста , возможно ли принять участие в бета-тестировании

нового патча к DCS применительно к модулю Export .

Имею большой опыт работы с вводом-выводом данных в МСФС , ЛОкОН , Ил-2 .

Проживаю в ближнем подмосковье , по требованиям к бета-тестерам прохожу.

С уважением Андрей .

 

После чего - продолжаю курить , курить ....

Link to comment
Share on other sites

Присоединяюсь к предыдущей просьбе, большинство данных по

приборам и сигнальным табло в экспорте получить не удается. :helpsmilie:

 

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

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Как вернуть тогда дефолтные настройки на клавиатуру (кроме ручного забивания)

Удалить "Клавиатура.lua" :)

После этого в момент запуска игра считает настройки из default.lua

Всё сказанное автором - вымесел, и не может быть использовано как доказательство в суде.

Мой блог | My blog

Link to comment
Share on other sites

да оно и читается, только там практически ничего не назначено!

 

Да и вот второй вопрос (мазахиский): можно ли изменить мод так что бы на оси джоя можно б было привезать такие функции: 1 размер базы цели 2 настройки шквала по яркости констрактности 3 яркость ОВН, 4 яркость АБРИС

вроде реально..

:joystick: на глиссаде .. :pilotfly:

Link to comment
Share on other sites

Извиняюсь что не по теме, но у меня возникла проблема при редактировании файла StrucTable.SHT.

Редактирую его Notepad++, кодировка стоит ANSI, проблема заключается в том что при любом изменении (например просто добавил 0 к "жизни" како-нибудь сооружения или добавил новый статический объект ) игра при запуске выдает ошибку "EROR SHAPES", причем и в ЛО и в DCS.

Я использовал так же HEX Editоr для редактирования, кодировка ANSI, режим редактирования - вставка (INS), результат все равно тот же.

Помогите советом, что я делаю не так? Может в винду требуются какие-нибудь дополнения типа Framework или что-то еще?

Link to comment
Share on other sites

  • ED Team

Ставь "без BOM" в первую очередь.

  • Like 1

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

FreemanRU, это косяк или не доделки (про мод):

например есть команда пос винтов (тумблеры имеют обе команды - положения), а пос дв-ля и ПЗУ и среднее положение (тумблер только одно положение-команды на все три позиции сразу). На ув-26 тумблер левый оба правый борт тоже одна команда на все три действия.

:joystick: на глиссаде .. :pilotfly:

Link to comment
Share on other sites

  • 5 weeks later...
  • ED Team

С разрешения Alex O'kean решил перенести некоторые посты из ветки про патч 1.0.1.

http://forums.eagle.ru/showthread.php?t=38870&page=19

 

Изменения по экспорту (будут доступны в патче):

 

Большинство старых функций работать НЕ БУДЕТ !

Весь экспорт систем будет через функции вида

 

some_device = GetDevice(devices.DEVICE_ID)
    if some_device then 
       some_device:get_some_exported_value() 

Например СУО

 

dofile("Scripts/Aircrafts/Ka-50/Cockpit/devices.lua")

     local weapon_system = GetDevice(devices.WEAP_INTERFACE)

    if weapon_system then
    weapon_system:get_weapon_type_on_station(station_number)    
    weapon_system:get_weapon_count_on_station(station_number);    
    weapon_system:get_selected_weapon_stations();    
    weapon_system:get_selected_gun_ammo();            
    weapon_system:get_selected_gun_ammo_count();    

   end

   local main_panel = GetDevice(0)

  if main_panel then
     main_panel:update_arguments() -- на всякий случай если мы давно не рисовали кабину например на внешних видах
     main_panel:get_argument_value(166) -- лампочка конец маршрута , аргументы все в mainpanel_init.lua
  end 

Показания всех стрелочных приборов и лампочек в кабине могут быть восстановлены через:

 

local main_panel = GetDevice(0)

  if main_panel then
     main_panel:update_arguments() -- на всякий случай если мы давно не рисовали кабину например на внешних видах
     main_panel:get_argument_value(166) -- лампочка конец маршрута , аргументы все в mainpanel_init.lua
  end 

GetDevice(0) это запрос девайса за номером 0. По умолчанию за номером 0 закреплена сама кабина (вернее то устройство которое отвечает за отрисовку кабины)

Главное правильно указать номер аргумента , возвращает соответсвенно флоат , размерность - попугаи , реальные величины могут быть восстановлены путем вдумчивого изучения mainpanel_init.lua

 

Часть приборов будет иметь свои функции доступа , в нормальных величинах.


Edited by LISA
Link to comment
Share on other sites

  • 4 months later...

FreemanRU, после установки патча мод перестал работать! У кого нибудь есть такая же проблема? Или у меня просто руки кривые?

:joystick: на глиссаде .. :pilotfly:

Link to comment
Share on other sites

  • 1 month later...

Уважаемые, если я рассковыряю miz файл и, к примеру, в строке описаний

conditions =

[3] = "return(c_flag_is_false(\"1\") and c_flag_is_false(\"2\") )",

заменю на

[3] = "return(c_flag_is_false(\"1\") or c_flag_is_false(\"2\") )",

Или в такой вот строке

[6] = "return(c_group_dead(\"Мишень\") and c_group_dead(\"Мишень 1\") and c_group_dead(\"Мишень 2\") and c_group_dead(\"Мишень 3\") )",

Заменим and на or

[6] = "return(c_group_dead(\"Мишень\") or c_group_dead(\"Мишень 1\") or c_group_dead(\"Мишень 2\") or c_group_dead(\"Мишень 3\") )",

 

Ну и в поле условий trigfunc =

[4] = "if c_unit_in_zone(\"3\", \"Зона стрельб\") and c_flag_is_false(\"1\") and c_flag_is_false(\"2\") then a_set_flag(\"1\");a_activate_group(\"Мишень\"); mission.trigfunc[4]='';end;",

"AND" менять на "OR"

 

И обратно запакую будет условие "или" отрабатываться (LUA вроде с логическими элементами дружит, или у вас естьограничения какие нибудь?

 

А то у меня сейчас ситуация, когда проверять нужно 8 юнитов, а 256 комбинаций описывать через "И" это как то муторно... (вы же нам функцию ИЛИ подрезали :)

 

 

Длинный ПыСы... Сам проверил, все работает, одно плохо, что после правки в редакторе ДКС придется все править обратно ручками незабывать... Если миссию в редакторе ДКС не править и не сохранять то летается корректно. Стои сохранить - все слетает... С одной стороны защита от дурака, но слишком мало функций иногда...


Edited by edwardpashkov
  • Like 1

[sIGPIC][/sIGPIC]

АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП)

Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время

Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики.

Link to comment
Share on other sites

ура! наконец фанаты начали экспериментировать с текстом миссии напрямую! =)

 

условие ИЛИ конечно будет отрабатываться нормально, потому что это обычный LUA код.

 

но! условие ИЛИ не понимается редактором, поэтому если такую миссию открыть-сохранить в редакторе, то он снова на выходе сформирует оригинальные строки, потому что работает с блоком trigrules{}, где триггеры описаные в неком формальном виде, и из которого и формируются нужные строки.

 

но! этот момент мы конечно предусмотрели, поэтому есть блок custom {}, который не интерпретируется редактором и напрямую сохраняется из миссии в миссию. вот через него и можно сделать нужную пачку триггеров )))

пробуй, сообщай о результатах )

"There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu

[sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic]

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...