Jump to content
NobbyNobbs

Программирование джойстиков CH Products

Recommended Posts

Я у себя zoom повесил...

 

ага, влево/вправо - зум, а вверх/вниз радиаторы (мертвые зоны прописал большие, чтобы одновременно было сложно нажать).

Share this post


Link to post
Share on other sites

Управление общим и раздельными тормозами с помошью микростика

 

Ось X микростика - общий тормоз
Y вверх - левый, Y вниз - правый
Работают "качелями". Т.е. Увеличиваем левый - уменьшаем правый, и наоборот...
В силу "линейной" арифметики достаточно большая мертвая зона при большом отклонении по X и высокая чувствительность по Y при малых отклонениях X.
Для большего комфорта, можно "поиграть" с откликами в GUI
Большее торможение соответствует большему значению оси... т.е. инвертирование в игре не требуется...
Поскольку двигаются сразу 3 оси, имеются некоторые неудобства при настройке в игре... Сначала "определите" левый и правый тормоза, затем в при ~среднем отклонении по X и Y попробуйте поймать общий...
 
//     Game Title: Общее и раздельное управление тормозами
//
script
//
cms.a5 = 255-js1.a1*2; // тормаза на советские самолеты,
cms.a6 = 512-(js1.a1+js1.a2)*2; // левый тормоз у немцев
cms.a7 = (js1.a2-js1.a1)*2; // правый тормоз
//
endScript
Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

а зачем все три оси связаны, если в игре "советский" тормоз прекрасно работает и на немцах?

я бы сделал чуть проще: вниз - советский тормоз, влево - левый, вправо - правый. 

 

cms.a1 = js1.a2*2-255; // тормоза на советские самолеты,

cms.a2 = 255-js1.a1*2; // левый тормоз 
cms.a3 = js1.a1*2-255; // правый тормоз
 
эффект тот же, но настроить проще.
Edited by saatanaperkele

Share this post


Link to post
Share on other sites
А вместе то как? Хотя если общий и на немцах работает??? тогда нет вопросов... чесговоря не посмотрел :)

 

Хотя, справедливости ради надо сказать, что за немцев торможу педалями, а вот за наших - удобно на микростике! Вот где раздолье на 2-х колесах ездить ;)

А Ось Х зарезервировал для "перекоса" по газу для 2-х моторных самолетов (в расчете на будущие 2-х моторники). Пока же испытал в РОФ. Очень помогает на Готе взлетать...

Не знаю, какие будут разворачивающие моменты на Пешке и Хешке, может и не понадобится... Потому, как в РОФ актуально только на взлете... как "подрулька"

Пробовал 3 варианта. Остановился на простом уменьшении газа только у одного двигателя, в сторону которого отклоняю микростик... 

js1.a3 - Общий газ, js1.a2 - осьY

 


//     Game Title: Раздельное управление двигателями

//

script

cms.a5 = js1.a3 + (128-js1.a2)*(255-js1.a2)/128; // ось газа левого двигателя 

cms.a6 = js1.a3 + (js1.a2-128)*js1.a2/128; // ось газа правого двигателя

endScript

 

...и ещё пару наблюдений по программированию:

1. При делении на 0 - не виснет, а заменяет 0 на 1. Т.е. 64/0 = 64!, а 0/0 = 0!

2. Выражение выполняется с конца строки к началу (стековая запись). Если нет приоритетов по операциям и скобкам, то считает так:

100 - 50 + 50 будет равно... 0! (сначала сложит 50 и 50) 

128/8*2 = 8!, 128*2/8 = 0!

3. Последний пример иллюстрирует особенность целочисленной арифметики. Всегда выполняется целочисленное деление!

Переменная a1 = 16 * js1.a1 / 16 будет принимать не исходные 256, а 16 дискретных значений...

Эта целочисленная особенность может быть использована. Например результат выражения а1/(а1/2+n), где n число от 1 до 255, будет равняться 0 для значений а1<n и 1 при а1>n...

4. В редакторе можно ввести максимально только 4-х значное число (9999)

Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

Фиксированные значения на микростике

Если Вы настроили с помошью микростика какую либо ось (например zoom, или триммера), и хотите, чтобы это значение сохранилось после отпускания его в центр, можно воспользоваться следующим способом:

Сценарий:

Заведем две переменные a1 и a2 и зададим для них расчет так, чтобы при отклонении микростика "вперед" от центрального положения (в примере ось Х) значение а1 менялось от 0 до 255, а при отклонении "назад", уже a2 менялось от 255 до 0. Затем будем присваивать значение нашей оси, если микростик отклонен "вперед" и на большую величину, чем эта ось имеет. А при отклонении назад - минимальное. Таким образом ось будет оставаться в положении максимального или минимального отклонения микростика. Для дополнительного удобства будем сбрасывать ось в среднее положение при отклонении "влево или вправо".

Выглядит такой скрипт так:

 //     Title: Fix-MJoy

SCRIPT
a1 = 2*(js1.a1-128); // верхняя полуось по Х
a2 = 2*js1.a1; // нижняя полуось по Х
IF ([js1.a1 > 128]) THEN // при отклонении mj вперед
  IF ([a1 > cms.a1]) THEN // фиксируется максимум
      cms.a1 = a1;
  EndIf
ELSE
  IF ([a2 < cms.a1]) THEN // при отклонении mj на себя
      cms.a1 = a2; // фиксируется минимум
  EndIf
EndIf
IF ([js1.a2 < 30] or [js1.a2 > 220]) THEN//если отклонить в стороны
  cms.a1 = 128; // присваивается среднее значение
EndIf
EndScript
 
Попробовал... получается удобней, быстрей и точней управлять зумом, чем "кнопками" ;)
Edited by =J13=Moroka
  • Upvote 1

Share this post


Link to post
Share on other sites

 

Фиксированные значения на микростике

 

 

Если Вы настроили с помошью микростика какую либо ось (например zoom, или триммера), и хотите, чтобы это значение сохранилось после отпускания его в центр, можно воспользоваться следующим способом:

Сценарий:

Заведем две переменные a1 и a2 и зададим для них расчет так, чтобы при отклонении микростика "вперед" от центрального положения (в примере ось Х) значение а1 менялось от 0 до 255, а при отклонении "назад", уже a2 менялось от 255 до 0. Затем будем присваивать значение нашей оси, если микростик отклонен "вперед" и на большую величину, чем эта ось имеет. А при отклонении назад - минимальное. Таким образом ось будет оставаться в положении максимального или минимального отклонения микростика. Для дополнительного удобства будем сбрасывать ось в среднее положение при отклонении "влево или вправо".

Выглядит такой скрипт так:

 

 

 //     Title: Fix-MJoy

SCRIPT
a1 = 2*(js1.a1-128); // верхняя полуось по Х
a2 = 2*js1.a1; // нижняя полуось по Х
IF ([js1.a1 > 128]) THEN // при отклонении mj вперед
  IF ([a1 > cms.a1]) THEN // фиксируется максимум
      cms.a1 = a1;
  EndIf
ELSE
  IF ([a2 < cms.a1]) THEN // при отклонении mj на себя
      cms.a1 = a2; // фиксируется минимум
  EndIf
EndIf
IF ([js1.a2 < 30] or [js1.a2 > 220]) THEN//если отклонить в стороны
  cms.a1 = 128; // присваивается среднее значение
EndIf
EndScript

 

 

 
Попробовал... получается удобней, быстрей и точней управлять зумом, чем "кнопками" ;)

 

 

 

АААААААААААААААА! Камераден! 

Я пытался написать подобный скрипт, долго пытался... Но так и не написал  :dash:  :dash:  :dash:

Edited by saatanaperkele

Share this post


Link to post
Share on other sites

:salute:

...Ooooпссс неточность нашел...

В первой формуле надо поменять 128 на 127... а то максимальных 255и не получается :(

Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

:salute:

...Ooooпссс неточность нашел...

В первой формуле надо поменять 128 на 127... а то максимальных 255и не получается :(

 

ну да, 1 отсчет из 256 это очень критично  :biggrin:

 

кстати,  а вы "режимами" на руде пользуетесь? зеленый, красный, желтый которые.

Edited by saatanaperkele

Share this post


Link to post
Share on other sites

...кстати,  а вы "режимами" на руде пользуетесь? зеленый, красный, желтый которые.

Нет ещё :( Хотя мысли на этот счет имеются... Когда через GIU, вроде просто и удобно, а через скрипты - боюсь запутаться :)

Я когда Хатка-Энкодер програмировал, столько дров наломал, что до сих пор не понимаю, почему чуть отличные от этого,скрипты не работали...

Share this post


Link to post
Share on other sites

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

Вопрос к знатокам програмирования.

Купила мне жена на 23 февраля геймпад Gembird JPD-ST03, но запустив его в War Thunder выявилась неполноценная работа осей мини джойстиков, отколняя их на 2/3 от центра;на калибровке в устройствах показывает что ось отклонена до упора, хотя есть еще немалый запас хода. 

Можно ли как то устранить эту неполадку???

Заранее благодарен за ответ.

Share this post


Link to post
Share on other sites

ну да, 1 отсчет из 256 это очень критично  :biggrin:

 

кстати,  а вы "режимами" на руде пользуетесь? зеленый, красный, желтый которые.

Для БЗС режимами на РУДе удобно переставлять, например, для BFа обычный газ, боевой, чрезвычайный. Т.е. написать скрипт, что при макс. значении рычага обороты 2300, нажал кнопку они 2500 при этом положении РУДа, нажал второй-2700. А лампочки вам подскажут-на каком режиме сейчас находитесь.

Share this post


Link to post
Share on other sites

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

Вопрос к знатокам програмирования.

Купила мне жена на 23 февраля геймпад Gembird JPD-ST03, но запустив его в War Thunder выявилась неполноценная работа осей мини джойстиков, отколняя их на 2/3 от центра;на калибровке в устройствах показывает что ось отклонена до упора, хотя есть еще немалый запас хода. 

Можно ли как то устранить эту неполадку???

Заранее благодарен за ответ.

Здравствуйте! Эта тема про очень узкий спектр устройств одного единственного производителя - CH Products, поэтому лично я ничем вам помочь не могу - с Gamebird никогда не сталкивался. Ну во всяком случае попробуйте откалибровать его средствами виндовс, если с ним в комплекте родной софт не идет.

 

 

Для БЗС режимами на РУДе удобно переставлять, например, для BFа обычный газ, боевой, чрезвычайный. Т.е. написать скрипт, что при макс. значении рычага обороты 2300, нажал кнопку они 2500 при этом положении РУДа, нажал второй-2700. А лампочки вам подскажут-на каком режиме сейчас находитесь.

 

у меня реализована отсечка на газе с помощью чуть-чуть видоизмененного скрипта из самого первого поста (сделаны ограничения 1.3, 1.2 и 1.15 ATA).

изменений два:

1. сейчас в игре поменялись соотношения между значением оси и наддувом, поэтому цифры стали другими;

2. скрипт теперь работает наоборот - по умолчанию ограничения выключены.

 

использовать для этого режимы я подумывал, но все-таки решил, что это стрельба из пушки по воробьям. 

хотя не использовать их совсем, как я, тоже не слишком то рационально  :biggrin:  :)

Share this post


Link to post
Share on other sites

Обращаюсь к владельцам CH Pro Throttle. Никак не получается повесить на ось микростика Руль направления... Помогите пожалуйста. (педалями CH Pro пользоваться временно не могу)...

Share this post


Link to post
Share on other sites

Обращаюсь к владельцам CH Pro Throttle. Никак не получается повесить на ось микростика Руль направления... Помогите пожалуйста. (педалями CH Pro пользоваться временно не могу)...

 

Привет! А в чем загвоздка? Сейчас попробовал у себя - назначается без всякого колдунства: отклонили вправо, вернули в центр, отклонили влево все назначилось. В  миссии посмотрел - в ответ на перемещение стика Лагг приветливо машет рулем направления. 

Edited by saatanaperkele

Share this post


Link to post
Share on other sites

Привет, saatanaperkele. А CH устройства у тебя в Direct mode-е или в mapped mode-е? Ты новую карту в CH Control manager для этого сима делал? Или просто установил дрова/CHCM и напрямую используешь устройства? Возможно, из-за того что я свои CH педали удалил теперь у меня какой-то глюк...  :dash:

Edited by 358Gann

Share this post


Link to post
Share on other sites

Привет, saatanaperkele. А CH устройства у тебя в Direct mode-е или в mapped mode-е? Ты новую карту в CH Control manager для этого сима делал? Или просто установил дрова/CHCM и напрямую используешь устройства? Возможно, из-за того что я свои CH педали удалил теперь у меня какой-то глюк...  :dash:

 

в mapped, потому как макросами активно пользуюсь. 

Share this post


Link to post
Share on other sites

Обращаюсь к владельцам CH Pro Throttle. Никак не получается повесить на ось микростика Руль направления... Помогите пожалуйста. (педалями CH Pro пользоваться временно не могу)...

...Эх, нам бы ваши проблемы :)...

 

Сейчас ломаю голову, как в режиме HOTAS управиться с доп. вооружением (ракетницы, пистолет - 6-7 команд), командами стрелкам и ведомым (всего 23 команды), и жестами (6 команд). Ну если не со всеми, то хотя бы с частью самых востребованных... :rolleyes:

Есть мысли какие нибудь на эту тему?

Кстати, сюда же и использование нескольких режимов пригодилось бы.. Жаль что в программном режиме лампочки не переключаются :(

Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

Привет, saatanaperkele. А CH устройства у тебя в Direct mode-е или в mapped mode-е? Ты новую карту в CH Control manager для этого сима делал? Или просто установил дрова/CHCM и напрямую используешь устройства? Возможно, из-за того что я свои CH педали удалил теперь у меня какой-то глюк...  :dash:

А остальное на твоем руде работает? (Оси, кнопки)... А то может ты его из конфигурации совсем "вывел"?

Share this post


Link to post
Share on other sites

...Эх, нам бы ваши проблемы :)...

 

Сейчас ломаю голову, как в режиме HOTAS управиться с доп. вооружением (ракетницы, пистолет - 6-7 команд), командами стрелкам и ведомым (всего 23 команды), и жестами (6 команд). Ну если не со всеми, то хотя бы с частью самых востребованных... :rolleyes:

Есть мысли какие нибудь на эту тему?

Кстати, сюда же и использование нескольких режимов пригодилось бы.. Жаль что в программном режиме лампочки не переключаются :(

 

а какие кнопки свободны?

Share this post


Link to post
Share on other sites

...да в том то и дело, что почти все заняты! 

Я для себя само направление "поиска" определить не могу :(

...к тому же столько кнопок все равно не найдешь...

Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

...да в том то и дело, что почти все заняты! 

Я для себя само направление "поиска" определить не могу :(

...к тому же столько кнопок все равно не найдешь...

 

ну как сказать... а что если превратить кнопки которые под мизинцем, безымянным и средним пальцами в lshift, lctrl и lalt? 3 четырехпозиционных хатки дадут 3*4*4=48 кнопок. не знаю правда, сколько нужно времени чтобы такие настройки запомнить и к ним привыкнуть. 

сочетания тех-же самых кнопок можно превратить в правые shift, ctrl и alt, тогда будет 3*4*7=84 кнопки, но это уже совсем аппликатуры для гитаристов получатся.

Share this post


Link to post
Share on other sites

...вот-вот... "аппликатура для гитаристов", точно подмечено :)

курю ещё варианты... может не такие прямые...

Share this post


Link to post
Share on other sites

А остальное на твоем руде работает? (Оси, кнопки)... А то может ты его из конфигурации совсем "вывел"?

Только что перевоткнул джои и переставил CH Control manager (на всякий случай)... Все остальные кнопки на обеих устройствах работают без проблем, и только треклятая ось РН не назначается на микростик:

 

http://postimg.org/image/obvgb7wxb/

 

P.S.: самое забавное, что в Ил-2 ЗаСра все назначается без проблем... :(

Share this post


Link to post
Share on other sites

Только что перевоткнул джои и переставил CH Control manager (на всякий случай)... Все остальные кнопки на обеих устройствах работают без проблем, и только треклятая ось РН не назначается на микростик:

 

http://postimg.org/image/obvgb7wxb/

 

P.S.: самое забавное, что в Ил-2 ЗаСра все назначается без проблем... :(

 

то есть получается, что в утилите по калибровке все хорошо, а игра не видит эту ось в принципе? 

 

ps. и пардон за бестактный вопрос, но вы точно при назначении отклоняете стик в обе стороны от центра?

Share this post


Link to post
Share on other sites

версия менеджера 4.5?

 

4.55 должна быть по идее.

Share this post


Link to post
Share on other sites

то есть получается, что в утилите по калибровке все хорошо, а игра не видит эту ось в принципе? 

 

ps. и пардон за бестактный вопрос, но вы точно при назначении отклоняете стик в обе стороны от центра?

Вот именно, что именно БзС не видит эту ось в принципе. В Ил-2ЗС все работает. В утилите при калибровке тоже и т.д. Где-то валялся диск с РоФ, можно ради эксперимента поставить. но я уверен, что и там все будет ок...

Да, при назначении отклоняю стик, и даже вращаю им, у меня игра его не видит.

Версия КонтролМенеджера 4.55a (крайняя)...

С горя назначил РН на три кнопки на ручке Throttle, но это изврат... 

 

P.S.: saatanaperkele, ты в Директ моде используешь устройства свои CH?  Или у тебя все три сведены в CH Device 1,2,3?

P.S.2: только что попробовал: в меню настроек на микростик не только ось РН, а вообще ничего не могу назначить... Ерунда какая-то...

Edited by 358Gann

Share this post


Link to post
Share on other sites

Сейчас специально залез в игру (БЗС). Проверил - всё назначается без проблем! По очереди отклоняем в обе стороны... и всё!

 

Пробовал и в Директ моде и в "Мап" - моде (без объединения в одно устройство)

Edited by =J13=Moroka
  • Upvote 1

Share this post


Link to post
Share on other sites

Сейчас специально залез в игру (БЗС). Проверил - всё назначается без проблем! По очереди отклоняем в обе стороны... и всё!

так и есть.

 

Ганн, раз уж не выходит каменный цветок, может попробуешь в файле current.actions, что лежит в папке IL-2 Sturmovik Battle of Stalingrad\data\input руками добавить строку 

 

rpc_yaw,                                          joyN_axis_x,                                      0|

 

где вместо N будет номер под которым игра определяет Pro Throttle.

просто я не знаю, чем может быть вызвана возникшая у тебя проблема.

Share this post


Link to post
Share on other sites

...

P.S.2: только что попробовал: в меню настроек на микростик не только ось РН, а вообще ничего не могу назначить... Ерунда какая-то...

В любом случае убедиться, что в самом CH менеджере, в test/calibrate все видно и все работает... Для простоты в Директ режиме

Edited by =J13=Moroka

Share this post


Link to post
Share on other sites

В любом случае убедиться, что в самом CH менеджере, в test/calibrate все видно и все работает... Для простоты в Директ режиме

Вот, пожалуйста:

http://s26.postimg.org/p4zx7se2h/Clip4.jpg

Edited by 358Gann

Share this post


Link to post
Share on other sites

так и есть.

 

Ганн, раз уж не выходит каменный цветок, может попробуешь в файле current.actions, что лежит в папке IL-2 Sturmovik Battle of Stalingrad\data\input руками добавить строку 

 

rpc_yaw,                                          joyN_axis_x,                                      0|

 

где вместо N будет номер под которым игра определяет Pro Throttle.

просто я не знаю, чем может быть вызвана возникшая у тебя проблема.

 

saatanaperkele, ты просто умница!

После прописывания вручную (в блокноте) в настройках появилось долгожданное движение:

http://s26.postimg.org/uj3at2t6h/Clip6.jpg

Еще раз спасибо! :salute: 

Edited by 358Gann

Share this post


Link to post
Share on other sites

saatanaperkele, ты просто умница!

После прописывания вручную (в блокноте) в настройках появилось долгожданное движение:

http://s26.postimg.org/uj3at2t6h/Clip6.jpg

Еще раз спасибо! :salute:

 

рад помочь. но хотелось бы понять, почему без костылей не получилось.

зы. а руль направления то работает?

Share this post


Link to post
Share on other sites

рад помочь. но хотелось бы понять, почему без костылей не получилось.

зы. а руль направления то работает?

Столкнулся с другой проблемой: РН работает, но отклоняется едва-едва (причем влево больше чем вправо, хотя микростик уже 3 раза калибровал).

С таким небольшим отклонением (это - максимум) на мессе попросту не взлететь...

 

http://s26.postimg.org/n4dz0p7ax/Clip7.jpg

Edited by 358Gann

Share this post


Link to post
Share on other sites

Столкнулся с другой проблемой: РН работает, но отклоняется едва-едва (причем влево больше чем вправо, хотя микростик уже 3 раза калибровал).

С таким небольшим отклонением (это - максимум) на мессе попросту не взлететь...

 

http://s26.postimg.org/n4dz0p7ax/Clip7.jpg

 

а настройки кривых дефолтные?

 

post-14111-0-64364400-1395493407_thumb.png

Share this post


Link to post
Share on other sites

а настройки кривых дефолтные?

 

attachicon.gifsensitivity.png

Ну, да... Естественно.

http://s26.postimg.org/uln6fwwu1/Clip8.jpg

 

P.S.: мне кажется, для адекватной работы микростика в качестве РН нужно чувствительность делать где-то 150% от исходной... Или что-то вроде того... Вот только больше 100 выбрать не получается...

Edited by 358Gann

Share this post


Link to post
Share on other sites

Ну, да... Естественно.

http://s26.postimg.org/uln6fwwu1/Clip8.jpg

 

P.S.: мне кажется, для адекватной работы микростика в качестве РН нужно чувствительность делать где-то 150% от исходной... Или что-то вроде того... Вот только больше 100 выбрать не получается...

 

неа, я же пробовал, рули отклоняются до упора в обе стороны.

вот даже видео снял

 

 

попробуй вот чего:

1. создать новую карту map wizard-ом, не объединяя устройства, оставив поддержку скриптов

2. откалибровать pro throttle

3. нажать кнопку download

4. нажать кнопку mapped mode

5. еще раз потестить микростик в роли руля направления.

 

все должно получиться, правда настройки могут слететь.

 

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

Edited by saatanaperkele

Share this post


Link to post
Share on other sites

Спасибо за видео. Эх-х... У меня при макс. чувствительности (0,5) только до середины хода отклоняется... :(

Сейчас попробую проделать с новой картой (map)...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...