Улучшенное управление джойстиками
Привет всем!
Тема такая. Я, как фанат джойстиков (хотя громко сказано), любитель многомоторных самолётов... испытываю некоторые неудобства пользования обычным джоем. Поэтому иногда собираю для себя, а потом дарю, джойстики и штурвалы. Вот моя последняя идея. Собрать штурвал. Но играть им не в самой игре, а через девайслинк-программу, написанную для ила. Она будет опрашивать Н-ное количество джойстиков и обработав их посылать команды игре. Что даст? Например можно будет поставить на ось любую команду. Даже радиатор. Можно управлять каждым двигателем отдельными осями шаг-тяга, поставить на ось другие параметры двигателя (смесь, например). Ну и совсем уж читерское, да простят меня асы, это на ось поставить просто команды, типа сброса бомб или ручного выпуска шасси. Ось будет регулировать периодичность нажатия команды. Прикольно будет например смотреться мигающий АНО или штрихпунктирный дым. Делается это просто делением диапазона значений оси между командами. В таком-то положении рукоятки даётся такая-то команда илу. Это не мод. Это сторонняя программа типа НьюВью. И ей будет не важно, с модами игра или нет. Ваше мнение на эту тему? Писать буду в Делфи. Сложность в том, что я ещё не писал программы для сети, поэтому нужна будет помощь в этой области от знатоков. Джойстики уж как-нибудь прочитаю. |
Вещь будет, я думаю.
|
Решил писать в сях :) Сейчас изучаю С++ на предмет работы с джойстиками. Моя программа уже умеет видеть джойстик и говорит, сколько у неё кнопок :) Учтите, Си я вообще не знаю. Примерно как и Яву :)
|
Может кто-нибудь составит код, который работает с Девайслинк?
|
Могу показаться ребёнком, но так радостно :)
Код хоть и не мой, но я добился того, чтоб программа видела мой джойстик. Говорила, сколько кнопок, показывала их работу и двигала кружочег по полю, повинуясь рукоятке моего лохотеха |
Маладец :)
Ииэх млин... Пойду дальше курочить свою АСУ... |
Принцип работы с джоем освоен.
Переходим к работе с сетью. Что там с Девайс-линком? Потом это объединим и создадим окно для настроек. И запускаться она должна вместе с илом |
Вложений: 1
Так, сеть освоена... Двигаемся дальше.
Закончил сетевую часть программы. Она посылает текстовую строку на порт 10000 по адресу localhost. Строка генерируется с учётом показаний скролбара. Пока настроил на изменение тяги. Будем двигаться дальше. Потом скролбары заменю на показания осей джойстиков. Но тут у меня проблем оказалось больше, чем я ожидал... Для начала проверю мою теорию, смогу ли я вообще реализовать разнотяг. Создам ещё один скролбар и буду двигать их одновременно, а таймер будет записывать их значения и посылать команды илу типа: выбран первый двигатель, тяга такая-то, выбран второй двигатель, тяга такая-то... Если работает, продолжу свои мучения. Вот демоверсия. Джойстики пока не поддерживает. Для работы необходимо дописать в conf.ini: [DeviceLink] port=10000 IPS=127.0.0.1 |
Цитата:
|
Может я команду неправильно отправляю?
Только что проверил. С ноута отправил этой прогой комаду вырубить двигатель. :) И самолёт беспомощно повиновался :) А ползунок не работает... Не знаю почему, надо будет исправить... Нашёл ошибку. Из-за какой-то запятой. Исправил. Ух и геморойно :) пришлось с текстами возиться. Новая версия может работать с удалённой машины. 100% рабочая. Можно не только управлять тягой, но и давать другие команды, используя поле ввода текста. Описание команд дано в инструкции по девайслинку в папке с илом. Для ДеСад: Не сразу понял слово не "работают", выложу у себя на яндексе :) Готовится ещё одна демоверсия. Регулирует тягу отдельно правых и левых двигателей, с возможностью регулировать их одновременно, добавил функцию запуска-гашения движков раздельными кнопками. Джойстики пока не поддерживаются. Не разобрался до конца с ними, В этом нужна помощь. Пишу в Делфи, как в привычной мне среде. AltControl.rar |
Еду на юг. Вернусь, буду продолжать этот проект
|
пилотажникам удобный разнотяг просто необходим_даешь прогу в народ...
|
Jareny, как то прозевал темку.А всё что задумал интересно, но часть работы уже сделана тут:http://www.sukhoi.ru/forum/showthread.php?t=43471
|
подскажите как совместить шаг винта с газом? слышал что можно,а вот как?
|
Цитата:
AXE_Z JoystickDevice0=-power JoystickDevice0 AXE_Z=pitch |
Кстати,не подскажете - в обучающих роликах Ил-2 ЗС видно как плавно изменяется тяга,например, 47,48,49...% а не дискретно - 50-55%. как это можно сделать?
|
Вложений: 1
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Да, а что значит изменений нет? Ты глянул, ОБЕ рукоятки стали ДВИГАТЬСЯ или нет? И это, еще, я не спец, но вродеб разные знаки должны быть у ШАГ и -ГАЗ... Нет? |
Совмещение осей газа и шага винта.
Для начала заходим в директорию ИЛа и находим там папку USERS, в этой папке выбираем папку Вашего пользователя, если он один, то это папка 0. Открываем в блокноте файл settings.ini и находим параметр [HotKey move]. Вот как он выглядит по умолчанию: [HotKey move] AXE_RZ JoystickDevice0=rudder AXE_X JoystickDevice0=aileron AXE_Y JoystickDevice0=elevator AXE_Z JoystickDevice0=-power Для того что бы добавить на рычаг газа возможность управления и шагом винта, необходимо добавить скопированную строку, которая отвечает за управление газом. В данном примере это строка AXE_Z JoystickDevice0=-power и слегка ее изменить: JoystickDevice0 AXE_Z=-power. Естественно теперь необходимо изменить значение данной функции, если раньше оно равнялось-power, то теперь правняем ее -pitch В итоге получаем (добавленная строка выделена жирным): [HotKey move] JoystickDevice0 AXE_Z=-pitch AXE_RZ JoystickDevice0=rudder AXE_X JoystickDevice0=aileron AXE_Y JoystickDevice0=elevator AXE_Z JoystickDevice0=-power Естественно буковки осей X, Y могут отличаться в зависимости от настроек осей джоя |
Текущее время: 07:19. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot