AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   Ил-2 Штурмовик: Забытые Сражения (http://forum.aviaskins.com/forumdisplay.php?f=15)
-   -   Улучшенное управление джойстиками (http://forum.aviaskins.com/showthread.php?t=801)

Jareny 04.07.2009 13:01

Улучшенное управление джойстиками
 
Привет всем!
Тема такая. Я, как фанат джойстиков (хотя громко сказано), любитель многомоторных самолётов... испытываю некоторые неудобства пользования обычным джоем. Поэтому иногда собираю для себя, а потом дарю, джойстики и штурвалы.
Вот моя последняя идея.
Собрать штурвал. Но играть им не в самой игре, а через девайслинк-программу, написанную для ила. Она будет опрашивать Н-ное количество джойстиков и обработав их посылать команды игре.
Что даст?
Например можно будет поставить на ось любую команду. Даже радиатор. Можно управлять каждым двигателем отдельными осями шаг-тяга, поставить на ось другие параметры двигателя (смесь, например). Ну и совсем уж читерское, да простят меня асы, это на ось поставить просто команды, типа сброса бомб или ручного выпуска шасси. Ось будет регулировать периодичность нажатия команды. Прикольно будет например смотреться мигающий АНО или штрихпунктирный дым.
Делается это просто делением диапазона значений оси между командами. В таком-то положении рукоятки даётся такая-то команда илу.

Это не мод. Это сторонняя программа типа НьюВью. И ей будет не важно, с модами игра или нет.
Ваше мнение на эту тему?

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

chameleon 04.07.2009 15:07

Вещь будет, я думаю.

Jareny 04.07.2009 19:21

Решил писать в сях :) Сейчас изучаю С++ на предмет работы с джойстиками. Моя программа уже умеет видеть джойстик и говорит, сколько у неё кнопок :) Учтите, Си я вообще не знаю. Примерно как и Яву :)

Jareny 04.07.2009 20:10

Может кто-нибудь составит код, который работает с Девайслинк?

Jareny 04.07.2009 21:36

Могу показаться ребёнком, но так радостно :)
Код хоть и не мой, но я добился того, чтоб программа видела мой джойстик. Говорила, сколько кнопок, показывала их работу и двигала кружочег по полю, повинуясь рукоятке моего лохотеха

chameleon 04.07.2009 21:40

Маладец :)

Ииэх млин...
Пойду дальше курочить свою АСУ...

Jareny 05.07.2009 17:23

Принцип работы с джоем освоен.
Переходим к работе с сетью. Что там с Девайс-линком?
Потом это объединим и создадим окно для настроек.
И запускаться она должна вместе с илом

Jareny 05.07.2009 19:42

Вложений: 1
Так, сеть освоена... Двигаемся дальше.
Закончил сетевую часть программы. Она посылает текстовую строку на порт 10000 по адресу localhost. Строка генерируется с учётом показаний скролбара. Пока настроил на изменение тяги. Будем двигаться дальше. Потом скролбары заменю на показания осей джойстиков. Но тут у меня проблем оказалось больше, чем я ожидал... Для начала проверю мою теорию, смогу ли я вообще реализовать разнотяг. Создам ещё один скролбар и буду двигать их одновременно, а таймер будет записывать их значения и посылать команды илу типа: выбран первый двигатель, тяга такая-то, выбран второй двигатель, тяга такая-то... Если работает, продолжу свои мучения.

Вот демоверсия. Джойстики пока не поддерживает. Для работы необходимо дописать в conf.ini:
[DeviceLink]
port=10000
IPS=127.0.0.1

deSAD 06.07.2009 00:17

Цитата:

Сообщение от Jareny (Сообщение 28830)
Вот демоверсия...

Вложения на данный момент не "работают" :(

Jareny 06.07.2009 18:14

Может я команду неправильно отправляю?
Только что проверил. С ноута отправил этой прогой комаду вырубить двигатель. :) И самолёт беспомощно повиновался :) А ползунок не работает... Не знаю почему, надо будет исправить...

Нашёл ошибку. Из-за какой-то запятой.
Исправил. Ух и геморойно :) пришлось с текстами возиться. Новая версия может работать с удалённой машины. 100% рабочая. Можно не только управлять тягой, но и давать другие команды, используя поле ввода текста. Описание команд дано в инструкции по девайслинку в папке с илом.

Для ДеСад: Не сразу понял слово не "работают", выложу у себя на яндексе :)

Готовится ещё одна демоверсия. Регулирует тягу отдельно правых и левых двигателей, с возможностью регулировать их одновременно, добавил функцию запуска-гашения движков раздельными кнопками. Джойстики пока не поддерживаются. Не разобрался до конца с ними, В этом нужна помощь. Пишу в Делфи, как в привычной мне среде.

AltControl.rar

Jareny 11.07.2009 01:01

Еду на юг. Вернусь, буду продолжать этот проект

Reisen 04.04.2010 03:41

пилотажникам удобный разнотяг просто необходим_даешь прогу в народ...

Karan 06.04.2010 17:04

Jareny, как то прозевал темку.А всё что задумал интересно, но часть работы уже сделана тут:http://www.sukhoi.ru/forum/showthread.php?t=43471

seaman 08.04.2010 14:49

подскажите как совместить шаг винта с газом? слышал что можно,а вот как?

lacota 08.04.2010 17:15

Цитата:

Сообщение от seaman (Сообщение 51906)
подскажите как совместить шаг винта с газом? слышал что можно,а вот как?

Примерно так -
AXE_Z JoystickDevice0=-power
JoystickDevice0 AXE_Z=pitch

mishapilot 08.04.2010 19:40

Кстати,не подскажете - в обучающих роликах Ил-2 ЗС видно как плавно изменяется тяга,например, 47,48,49...% а не дискретно - 50-55%. как это можно сделать?

seaman 08.04.2010 20:56

Вложений: 1
Цитата:

Сообщение от lacota (Сообщение 51909)
Примерно так -
AXE_Z JoystickDevice0=-power
JoystickDevice0 AXE_Z=pitch

спасибо.но изменений нет.

Koleso 09.04.2010 01:28

Цитата:

Сообщение от mishapilot (Сообщение 51916)
Кстати,не подскажете - в обучающих роликах Ил-2 ЗС видно как плавно изменяется тяга,например, 47,48,49...% а не дискретно - 50-55%. как это можно сделать?

А речь-то, хоть о чем? О джойстике или клавиатуре?

Цитата:

Сообщение от seaman (Сообщение 51926)
спасибо.но изменений нет.

Пробуй еще. Мужик дал тебе верный ответ. В свое время я себе это настраивал именно таким образом.

lacota 09.04.2010 08:49

Цитата:

Сообщение от seaman (Сообщение 51926)
спасибо.но изменений нет.

А у твоего джоя ось-то такая есть - Z ? Может она у тебя называется U , например... :rolleyes:
Да, а что значит изменений нет? Ты глянул, ОБЕ рукоятки стали ДВИГАТЬСЯ или нет? И это, еще, я не спец, но вродеб разные знаки должны быть у ШАГ и -ГАЗ... Нет?

berkac 09.04.2010 10:24

Совмещение осей газа и шага винта.
Для начала заходим в директорию ИЛа и находим там папку 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