Bublik Posted October 25, 2005 Share Posted October 25, 2005 Сделал простенького робота через экспорт данных. Пока что умеет делать "плавные" виражи с заданным креном. Изображает человека, летающего с сервера. Этого было бы достаточно для тренировки ведомых в ГП и разворотов (для живого ведущего задача неинтересная). Все бы хорошо, но export.lua передается с сервера всем клиентам, а это значит, что клиенты тоже будут летать по программе этого "робота", хотят они того или нет :D (управление идет через LoSetCommand) Возможно ли это как-нибудь обойти? Например, разрешить клиентам свои export.lua или управлять из этого скрипта только самолетом с определенным ID? WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Dronas Posted October 25, 2005 Share Posted October 25, 2005 Сделал простенького робота через экспорт данных. Пока что умеет делать "плавные" виражи с заданным креном. Изображает человека, летающего с сервера. Этого было бы достаточно для тренировки ведомых в ГП и разворотов (для живого ведущего задача неинтересная). Все бы хорошо, но export.lua передается с сервера всем клиентам, а это значит, что клиенты тоже будут летать по программе этого "робота", хотят они того или нет :D (управление идет через LoSetCommand) Возможно ли это как-нибудь обойти? Например, разрешить клиентам свои export.lua или управлять из этого скрипта только самолетом с определенным ID? Прикольно, дай поглазеть то ;) DimAss Coljo Yappo Link to comment Share on other sites More sharing options...
ED Team Valery Blazhnov Posted October 25, 2005 ED Team Share Posted October 25, 2005 Сделал простенького робота через экспорт данных. Пока что умеет делать "плавные" виражи с заданным креном. Изображает человека, летающего с сервера. Этого было бы достаточно для тренировки ведомых в ГП и разворотов (для живого ведущего задача неинтересная). Все бы хорошо, но export.lua передается с сервера всем клиентам, а это значит, что клиенты тоже будут летать по программе этого "робота", хотят они того или нет :D (управление идет через LoSetCommand) Возможно ли это как-нибудь обойти? Например, разрешить клиентам свои export.lua или управлять из этого скрипта только самолетом с определенным ID? Все в руках сервера. Если на нем исключить файл export.lua из списка навязываемых всем клиентам файлов, то каждый клиент будет использовать свой export.lua. Отредактируй на сервере таблицу serverFiles в файле Config/Network/Config.lua. Valery Blazhnov Eagle Dynamics Veteran Link to comment Share on other sites More sharing options...
Ulrich Posted October 25, 2005 Share Posted October 25, 2005 Сделал простенького робота через экспорт данных. Пока что умеет делать "плавные" виражи с заданным креном. Изображает человека, летающего с сервера. Прикольно, мой пока научился только взлетать и удерживать высоту/скорость, а также использовать механизацию. :) Когда будет время - хочу попробовать объяснить ему, что такое "цель" и как с ней бороться. ;) Link to comment Share on other sites More sharing options...
WR259Leonid Posted October 25, 2005 Share Posted October 25, 2005 Лучше попробуйте "заскриптовать" строй. ну и банальные "10 градусов по УА за 5-7 секунд" ;) 8831px.ru ну и vfat, конечно же) Link to comment Share on other sites More sharing options...
Bublik Posted October 25, 2005 Author Share Posted October 25, 2005 Все в руках сервера. Если на нем исключить файл export.lua из списка навязываемых всем клиентам файлов, то каждый клиент будет использовать свой export.lua. Отредактируй на сервере таблицу serverFiles в файле Config/Network/Config.lua. О, спасибо :) Кстати, как корректнее удалять export.lua из списка, удалить строку с элементом таблицы совсем или присвоить пустое значение? Вот http://n210.nm.ru/files/export.rar трек (на качество пилотажа не обращайте внимания, записал по быстрому в окошке 800х600) http://n210.nm.ru/files/netbot.rar Ничего сложного там нет, умеет включать автоматы высоты и скорости и делать развороты. Взлетать и садиться не умеет :) WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Bublik Posted October 25, 2005 Author Share Posted October 25, 2005 Лучше попробуйте "заскриптовать" строй. ну и банальные "10 градусов по УА за 5-7 секунд" ;) Нее, выполнять "10 градусов по УА за 5-7 секунд" точно так же, как живой ведущий, робота сложно научить. Да и незачем :D WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Dmut Posted October 26, 2005 Share Posted October 26, 2005 О, спасибо :) Кстати, как корректнее удалять export.lua из списка, удалить строку с элементом таблицы совсем или присвоить пустое значение? лучше удалить строку и перенумеровать индексы, что бы по порядку шли. я не уверен, но скорее всего там идет чтение файлов до первого пустого значения. "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 More sharing options...
NAEMNIK Posted October 26, 2005 Share Posted October 26, 2005 Кто может сделать так, чтобы все боты строго держали заданную скорость? И в режиме полета по маршруту «писали» плавные крены. Кто может сделайте PLZ. [sIGPIC]http://forums.eagle.ru/signaturepics/sigpic3427_40.gif[/sIGPIC] Windows se7en | Intel™ C2D E6850 3.00GHz | 4GB RAM | ATi RADEON™ HD 4870 Sonic 512Mb DDR5 | Saitek X52 | TrackIR4 | VKB. Link to comment Share on other sites More sharing options...
vitaliska Posted October 26, 2005 Share Posted October 26, 2005 А можно подробнее описать как включается бот. Не то, как пишется файл export.lua, а как после его замены в дир игры настроить все внутри lockona. WR=251=Vitaliska http://white-ravens.com/ Link to comment Share on other sites More sharing options...
Bublik Posted October 26, 2005 Author Share Posted October 26, 2005 А можно подробнее описать как включается бот. Не то, как пишется файл export.lua, а как после его замены в дир игры настроить все внутри lockona. Сделать сетевую миссию, в которой один из клиентских самолетов начинает в воздухе. Запустить сервер с этой миссией и занять этот самолет. Войти в миссию. Да, еще надо подредактировать Config/Network/Config.lua (убрать export.lua из serverfiles), как было написано выше. WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
vitaliska Posted October 26, 2005 Share Posted October 26, 2005 Запустить сервер с этой миссией и занять этот самолет. Войти в миссию. Я занял этот самолет, но я хотел бы полетать за ботом, а не смотреть, как самолет управляется без меня. Сегодня керосин подвезут к 22:00? WR=251=Vitaliska http://white-ravens.com/ Link to comment Share on other sites More sharing options...
KORD Posted October 26, 2005 Share Posted October 26, 2005 вопрос к знатокам 1) как в export.lua узнать высоту? 2) как в export.lua узнать высоту, на которой должен лететь самолет по маршруту? Я белый и пушистый :music_whistling: Link to comment Share on other sites More sharing options...
ED Team Valery Blazhnov Posted October 27, 2005 ED Team Share Posted October 27, 2005 Кстати, как корректнее удалять export.lua из списка, удалить строку с элементом таблицы совсем или присвоить пустое значение? Удалить. Впрочем, и пустое значение сработает. Главное, чтобы сервер не знал, что export.lua нужно всем навязывать. Valery Blazhnov Eagle Dynamics Veteran Link to comment Share on other sites More sharing options...
Bublik Posted November 28, 2005 Author Share Posted November 28, 2005 Научил выходить на заданный угол атаки (и удерживать). Через две недели может быть научу (если время будет) делать нормальную петлю :) Но на человека все равно не похоже. Трек http://n210.nm.ru/files/fbw_test.zip Бот пытается удержать угол 10. Я управляю с клавиатуры по крену и РУДами, а у (ро)бота управление по тангажу. WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
vitaliska Posted November 29, 2005 Share Posted November 29, 2005 to Bublik Ждем петли и бочки...8-) WR=251=Vitaliska http://white-ravens.com/ Link to comment Share on other sites More sharing options...
Bublik Posted December 1, 2005 Author Share Posted December 1, 2005 Update: Трек с испытаний новой САУ для модифицированного робота, стабилизирует скорость и высоту (ну не нравятся мне встроенные локоновские автоматы, особенно с кренами больше 30 :)) http://n210.nm.ru/files/acstest.zip В треке я управляю только по крену (с клавы), остальное робот. Высоту держит, наверно, слишком хорошо, надо подрезать, чтобы на человека был похож. До крена 60, при умеренной скрости ввода в вираж, РУДами тоже нормально работает. 2 vitaliska Постепенно может быть до более сложного доберусь. Почти как у людей, сначала ГП и виражи, потом простой и сложный пилотаж :D WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Bublik Posted December 3, 2005 Author Share Posted December 3, 2005 Вроде понял, как сделать фантома. Но почему-то результат не сходится, за 7-минутный полет набегает ошибка метров 20. Солюшен :D Заходим в ЛО, создаем сервер, летаем чего хотим, записываем трек. Прописываем в modeltimer.lua TraceOn = true TraceCommandsDiscreteOn = true TraceCommandsAnalogOn = true Запускаем проигрывание трека только что записанного с сервера. В Temp появляется файл TrackPlay.log Обрабатываем скриптом типа такого while (<>) { if (m/activity: 30.+ T:(.+?) C:(\d+?)\(.*\)/) { $t=$1; $c=$2; if (m/V:(.+?)$/) {print "$t $c $1\n"} else {print "$t $c 100\n"}; } } на вход даем TrackPlay.log, выход направляем в mtrack в папке Temp. Возвращаем modeltimer.lua в исходное состояние, а export.lua подменяем на такой function LuaExportStart() local file = io.open("./Temp/mtrack", "r") if file then io.input(file) end cmnd = 1 cvalue = 0 end function LuaExportBeforeNextFrame() end function LuaExportAfterNextFrame() end function LuaExportStop() io.close() end function LuaExportActivityNextEvent(t) local tNext = t local s = io.read() if cvalue < 100 then LoSetCommand(cmnd, cvalue) else LoSetCommand(cmnd) end _, _, mt, cmnd, cvalue = string.find(s, "(-*%d+.%d+) (%d+) (-*%d+.*%d+)") mt = tonumber(mt) cmnd = tonumber(cmnd) cvalue = tonumber(cvalue) tNext = mt return tNext end Снова запускаем ЛО в режиме сервера и выбираем ту же миссию и тот же самолет. Вопрос: Почему такой "трек" не сходится? Сам долго не разбирался (пару часов), может быть упустил чего-нить. WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Bublik Posted December 18, 2005 Author Share Posted December 18, 2005 В общем, так и не понял, почему не сходится. Если начинать с земли, то ошибка после выруливания на ВПП уже градуса 3. Если с воздуха и не пользоваться педалями, то получается по крайней мере похоже на оригинал. Но минут через 10 разница все равно очень заметная. Попытка пролететь ведомым за своим "фантомом-ведущим" http://lockon-vpg.nm.ru/files/phantom_test.zip (680 кб) Получилось хреново. Наверное, потому что за собой никогда не летал (ведущий из меня никакой) или непривычно, что нет голосовых команд. А может, потому что не тренировались давно :D Кто-нибудь знает как из луа-скрипта вызвать внешнюю программу? Тогда можно было бы прикрутить фантому голос. Почему-то execute не работает. WR=210=Vladimir http://lockon-vpg.nm.ru http://whiteravens.nm.ru http://white-ravens.com Link to comment Share on other sites More sharing options...
Dmut Posted December 19, 2005 Share Posted December 19, 2005 os.execute (command) пробовал? "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 More sharing options...
NAEMNIK Posted December 19, 2005 Share Posted December 19, 2005 Bublik, сделай пожалуйста просто чтобы все боты в ЛО держали постоянную скорость! Я тебя умоляю! PLZ Хотел через редактор треков полетать за твоим ботом, но не получилось… [sIGPIC]http://forums.eagle.ru/signaturepics/sigpic3427_40.gif[/sIGPIC] Windows se7en | Intel™ C2D E6850 3.00GHz | 4GB RAM | ATi RADEON™ HD 4870 Sonic 512Mb DDR5 | Saitek X52 | TrackIR4 | VKB. Link to comment Share on other sites More sharing options...
ED Team Laivynas Posted December 19, 2005 ED Team Share Posted December 19, 2005 NAEMNIK =RAF=, не флуди! 3.4 Best Regards, Dmitry. "Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак Link to comment Share on other sites More sharing options...
Mishel Posted December 19, 2005 Share Posted December 19, 2005 Кто-нибудь знает как из луа-скрипта вызвать внешнюю программу? Тогда можно было бы прикрутить фантому голос. Почему-то execute не работает. Это работает. Приведите строчку кода, которую используете. Link to comment Share on other sites More sharing options...
NAEMNIK Posted December 19, 2005 Share Posted December 19, 2005 NAEMNIK =RAF=, не флуди! 3.4 Я разговариваю с человек и прошу у него пояснений или рекомендаций по теме, и не вижу в этом флуда. А пункт 3.4 относится к твоему посту, не обоснованному и бессмысленному. ======================= С пост скриптумом ознакомился, ответил в привате. (Если ты заметил, содержимое твоих постов на месте - слито в одно сообщение. ;) ) [sIGPIC]http://forums.eagle.ru/signaturepics/sigpic3427_40.gif[/sIGPIC] Windows se7en | Intel™ C2D E6850 3.00GHz | 4GB RAM | ATi RADEON™ HD 4870 Sonic 512Mb DDR5 | Saitek X52 | TrackIR4 | VKB. Link to comment Share on other sites More sharing options...
ThomL Posted December 19, 2005 Share Posted December 19, 2005 лучше удалить строку и перенумеровать индексы, что бы по порядку шли. я не уверен, но скорее всего там идет чтение файлов до первого пустого значения. А почему было не сделать, изначально, сбор данных в массив, удаление пустых значений и сортировку по индексам, со сбросом существующих, т.е. из: array1( 1=>"first", 2=>null, 3=>"третий" ); превратить в array2( 1=>"first", 2=>"третий" ); unset(array1); Это же элементарно. Не подумали или еще какая-то причина. Вопрос из чистого любопытства. Link to comment Share on other sites More sharing options...
Recommended Posts