В помощь пилотажникам - создание роботов своими руками.
Итак, думаю, всем будет интересно прочитать о том, как можно самостоятельно, при наличии двух компьютеров в одной сети, создать пилотажного бота и фантома, научить их синхронизировать действия с игроком и говорить.
Для начала немного истории и терминологии.
По сути, все пилотажные примочки разрабатывались большим энтузиастом виртуального пилотажа - WR=210=Vladimir, более известного на данном форуме под ником Bublik. Именно его перу принадлежат "памятка для ведомых", создание и разработка автоматизированных комплексов типа "Бот", "Фантом", "Раз". Все эти прекрасные вещи создавались для свободного распространения в мире виртуальной авиации. Но, к сожалению, разработка была остановлена, а инструкции по вводу роботов в эксплуатацию неточны, что непозволяло неискушённым пользователям заставить их работать... Возьму на себя смелость продолжить дело Владимира, и продолжу нести знание в массы.
Итак, разберёмся, что есть что.
"Бот" - пилотажный робот, который выдерживает заданные высоту и скорость, и совершает заданные крены в обе стороны поочередно. Очень помогает начинающим пилотам осваивать азы группового пилотажа, поскольку, для живого ведущего, подобная тренировка из кренов скучна и утомительна.
"Фантом" - продвинутый пилотажный робот. По сути, призрак реального человека, поскольку в основе своих действий держит ранее записанный трек живого ведущего, который повторяет с высокой точностью.
"Раз" - программа синхронизации действий группы, посылает звуковой сигнал, который звучит в один момент времени на всех клиентских машинах. Позволяет свести на нет паразитное действие пинга и добиться высокой синхронности выполняемых действий.
Теперь, коснусь того, что нам понадобится для комфортной работы.
http://www.autohotkey.com/ - программа, которая умеет имитировать действия пользователя по запуску программ, нажатия кнопок, кликов мышкой и многое другое, настоятельно рекомендую (свободно распространяемая).
http://nncron.ru/ - мощный планировщик, может пригодится в обычной жизни или при создании полностью автоматизированного сервера (бесплатен для жителей СНГ, подробнее на сайте).
http://www.asnr47.dsl.pipex.com/files/bubl/Raz/RazClient.zip - "раз" клиент (клиентская часть, то, что будет издавать звук)
http://www.asnr47.dsl.pipex.com/files/bubl/Raz/RazServer.zip - "раз" сервер (серверная часть, которая и выполняет синхронизацию)
http://www.asnr47.dsl.pipex.com/files/bubl/LOPhantom04alpha.zip - программа управления "фантомом" (для установки понадобится Loman 2.1 Final)
http://slil.ru/25614472 - скрипты для создания "раз" меток фантома (для отработки скриптов понадобится перл, думаю, найти его не станет проблемой)
http://forums.eagle.ru/attachment.php?attachmentid=18699&d=1218115317 - программа управления "ботом"
Для начала. хотелоcь бы коснуться условий запуска роботов в самом Локоне. Бот всегда стартует в воздухе, и в отношении скорости и высоты полёта будет придерживаться параметров, заданных миссией. О других настройках напишу позднее. Фантому желательно стартовать в той же миссии, в которой записывался оригинальный трек - погодные условия, запас топлива, его расход (ограниченное/неограниченное), тогда фантом получится весьма точным.
В папке ~1C\Lock On 1.1\Config\Export есть файлик config.lua, необходимо проследить, что-бы в нём следующие функции имели такой вид:
EnableExportScript = true
EnableExportScript = true
Далее, идём в панель управления, заходим в "язык и региональные стандарты", на первой же вкладке жмём кнопку "настройка" и меняем разделитель целой и дробной части с "," на ".". Сохраняем.
Начнём с бота. Берём архив, распаковываем его в корневую папку локона, на вопрос о замене файлов соглашаемся. В папке ~1C\Lock On 1.1\Config\Export найдём несколько новых файлов:
export.lua~tcp_bot_m_t - экспорт для подмены;
exportbot_new.bat - собственно, батничек, который заменяет оригинальный export.lua на ботовский;
TCPBotM_Project2.exe - вот оно, сердце бота, то, что и руководит его слепыми действиями;
tcp_bot.ini - параметры конфигурации бота.
В tcp_bot.ini можно найти следующий блок:
[banks]
bank1 = 60
bank2 = 45
это и есть крены на которые будет поочерёдно выходить робот.
Алгоритм запуска следующий:
exportbot_new.bat - подменяем экспорт;
TCPBotM_Project2.exe - запускаем управляющую программу;
запускаем Локон, заходим в сеть, создаём сервер. Выбираем ранее сделанную мисcию, где борт, которым будет управлять бот, стартует в воздухе. Выбираем этот борт, стартуем. После загрузки миссии отжимаем "S" и, если всё хорошо, самолёт должен качнуться вниз-вверх, фиксируя высоту.
Теперь перейдём к фантому.
Также, как и для бота (будем считать, что фантом был корректно установлен с помощью Loman), фантому требуется подмена экспорта, что, собственно, и вдыхает жизнь в кучку программного кода. Экспорт подменяется управляющей программой, без участия пользователя.
Для начала, нужен записанный трек. Перед записью трека нужно запустить Phantomcontrol и убедиться в том, что все чекбоксы находятся в положении OFF. Записываем трек, сохраняем. Далее, запускаем Phantomcontrol, ставим чекбокс Trace в положение ON, остальные OFF, закрываем программу, запускаем Локон, проигрываем трек. Выходим из ЛО, запускаем Phantomcontrol, нажимаем CONVERT, вводим имя файла (.phtrk), нажимаем SAVE. Закрываем PhantomControl.
Ну вот мы плавно и подошли к запуску призрака. Запускаем PhantomControl, выбираем нужный ph-трек (по умолчанию стоит крайний использованный), нажимаем USE, в чекбоксах ставим Phantom ON, остальные OFF. Закрываем Phantomcontrol.
Теперь запускаем ЛО, создаём сервер, выбираем машину, на которой писался трек (обычно, для удобства это первый слот), жмём СТАРТ, отжимаем "S" после загрузки, и, ничего не трогаем - фантом должен начать действовать в соответствии с треком.
Всё, что касается технологий "Раз", вполне доступно описано ридмишках, которые идут с ними, думаю, освоить их труда не составит.
Теперь расскажу о том, как помочь фантому обрести голос. Суть достаточно простаи базируется на понимании работы микшера звоковой карты и функции в голосовом клиенте "активация голосом". Например, если мы возьмём любой музыкальный файл, предварительно настроив "активацию голосом" и выставив в микшере нормальный уровень записи wave (называется по разному, стереомикс, "то, что вы слышите"), то, как только компьютер начнёт воспроизводить любой звук, произойдёт активация и этот звук станут слышать все, кто находится в канале.
Надеюсь, после всего вышенаписанного, понятно, для чего применяется автохоткей?