Jump to content

Профайлер джойстика для LockOn


USSR_Rik

Recommended Posts

  • ED Team

Написал небольшую программку для смены профилей джойстика (актуально для кривых отклика AFM-SFM).

 

Работа программы основана на том, что LockOn позволяет безболезненно заменять файлы настройки джойстиков и перечитывает настройки устройств ввода перед стартом миссии. Вкратце - настраиваем один вариант кнопок-кривых - сохраняем, другой - опять сохраняем, третий... Потом скармливаем игре тот профиль, с которым быдем летать. Перезапуск игры не требуется (только переключение по Alt+Tab из профайлера в игру при смене профиля).

 

Это, конечно, не полноценный профайлер - но как костыль пойдет.

 

В архиве три файла - собственно программа, ini-файл к ней и readme.

Profiler.zip

Profiler.jpg.e3ee2b5899c8a09f445c881f22b00031.jpg

  • Like 1

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

  • ED Team

Если не лень - просьба отзывы в студию. Я не профессиональный программист (о чем, собсно, в Отмазке и написал) - но во-первых, что-то подправить смогу, а во-вторых - может кто-нибудь из профи сделает качественнее.

[шепот]..и в-третьих, может сами-знаете-кому станет стыдно и мы увидим это сами-знаете-где[/шепот]

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

  • ED Team

Кстати - маленький баг. Если открыли диалог выбора файла настройки джойстика (кнопка "File...") - нужно ОБЯЗАТЕЛЬНО выбрать файл, а не закрывать окно по кнопке "Отмена". Если отменить - в профайлере затрется наименование исходного файла. Ничего страшного не произойдет, физически-то файл не удаляется, просто назначения профилей не сработают.

 

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

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

  • 4 weeks later...

Вот ведь бляха муха! "Работа программы основана на том, что LockOn позволяет безболезненно заменять файлы настройки джойстиков и перечитывает настройки устройств ввода перед стартом миссии" - пачему раньше никто не сказал?!?

Знач так. Мне очень захотелось написать версию этой програмульки которая бы переключала профайлы не выходя из ЛО. Т.е. нажимаем комбинацию клавиш, скажем Ctrl+Shift+F1 - профайл №1. И т.д. Для подтверждения активизации профайла можно использовать звук - проигрывать небольшой wav ...

Рик - что ты там из реестра используеш? Давай - выкладывай секреты ;)

Link to comment
Share on other sites

Вот ведь бляха муха! "Работа программы основана на том, что LockOn позволяет безболезненно заменять файлы настройки джойстиков и перечитывает настройки устройств ввода перед стартом миссии" - пачему раньше никто не сказал?!?

Знач так. Мне очень захотелось написать версию этой програмульки которая бы переключала профайлы не выходя из ЛО. Т.е. нажимаем комбинацию клавиш, скажем Ctrl+Shift+F1 - профайл №1. И т.д. Для подтверждения активизации профайла можно использовать звук - проигрывать небольшой wav ...

Рик - что ты там из реестра используеш? Давай - выкладывай секреты ;)

 

Посмотри http://www.autohotkey.com/

Ресурсов ест пренебрежимо мало. Такой скрипт на три строки получится :)

  • Like 1
Link to comment
Share on other sites

  • ED Team

Да что реестр? Я оттуда беру только путь на папку игры - и все. Ты только учти, что "на лету" игра не перечитывает настройки (т.е. измененный ini-файл), хотя и допускает его подмену. Так что все равно - как минимум из полета выйти придется.

Щас по ссылке Bublik'а схожу, кажется, интересно выйдет, спасибо, Bublik.

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

Ага, эт я понял. Что и нормально поскоку для смены крафта все равно нада в меню выйти...

Кстати там несколько файлов манять надо на самом деле. Интерество все они подгружаются перед стартом миссии? Какие конкретно не помню - приду домой, посмотрю...

Link to comment
Share on other sites

Вот, накропал тестовый скрипт для AutoHotkey:

AutoHotkey.ini

 

^!+F1::

FileCopyDir, F_Src1 , F_Dest , 1

SoundPlay, %SystemRoot%\Media\ringin.wav

return

 

^!+F2::

FileCopyDir, F_Src2 , F_Dest , 1

SoundPlay, %SystemRoot%\Media\ringout.wav

return

 

Вместо F_Dest подставляет ЛО папку, вместо F_Src1 и F_Src2 папки с нужными файлами и вуаля! :)

Бублику - слава! :)

Link to comment
Share on other sites

Опля! Отличненько! И звуки могет проигрывать ;) То что доктор прописал.

 

И менюшки может показывать :)

Тока есть одна проблема, через AH в ЛО почему-то работают только кнопки джоя, поэтому если назначать клавиатурные комбинации, то все равно придется переключаться из ЛО (хотя бы на рабочий стол) и уже там нажимать.

 

Исправлено: Если я правильно понял, подменять надо только один файл, который называется так же, как модель джойстика. В моем случае "MicrosoftSideWinderPrecisionProUSB.ini"

 

Ctrl+Alt+F1 сохранить профиль для АФМ

Ctrl+Alt+F2 сохранить профиль для СФМ

Ctrl+Shift+F1 загрузить профиль АФМ

Ctrl+Shift+F2 загрузить профиль СФМ

 

Исправленный вариант скрипта см. ниже (тут http://forum.lockon.ru/showpost.php?p=137567&postcount=16).

 

В SetWorkingDir путь к папке надо подменить на свой, JoyProfile на соответствующий вашему джою файл (если кто-нить захочет воспользоваться скриптом). Вроде работает.

Link to comment
Share on other sites

И менюшки может показывать :)

Тока есть одна проблема, через AH в ЛО почему-то работают только кнопки джоя, поэтому если назначать клавиатурные комбинации, то все равно придется переключаться из ЛО (хотя бы на рабочий стол) и уже там нажимать.

Есть такая проблема. Обходится путем прописывания ~ перед комбинацией клавиш. Мой окончательный скриптец (обновлено):

 

#SingleInstance ignore

 

LO_Folder = D:\Games\Lock On\

 

~^!+F1::

FileCopyDir, %LO_Folder%Config_Su25T, %LO_Folder%Config, 1

FileCopyDir, %LO_Folder%Input_Su25T, %LO_Folder%Input, 1

SoundPlay, %SystemRoot%\Media\ringin.wav

return

 

~^!+F2::

FileCopyDir, %LO_Folder%Config_Su27, %LO_Folder%Config, 1

FileCopyDir, %LO_Folder%Input_Su27, %LO_Folder%Input, 1

SoundPlay, %SystemRoot%\Media\ringin.wav

return

 

~^!+F3::

FileCopyDir, %LO_Folder%Config_F15, %LO_Folder%Config, 1

FileCopyDir, %LO_Folder%Input_F15, %LO_Folder%Input, 1

SoundPlay, %SystemRoot%\Media\ringin.wav

return

Link to comment
Share on other sites

Теперь работает из ЛО, не надо переключаться из ЛО на рабочий стол. Надо было добавить директиву #UseHook

 

SetWorkingDir, E:\Program Files\Ubisoft\Eagle Dynamics\Lock On\Input
JoyProfile = MicrosoftSideWinderPrecisionProUSB.ini

[b]#UseHook[/b]

^+F1::
FileCopy, %JoyProfile%~afm, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

^+F2::
FileCopy, %JoyProfile%~sfm, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

^!F1::
FileCopy, %JoyProfile%, %JoyProfile%~afm, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

^!F2::
FileCopy, %JoyProfile%, %JoyProfile%~sfm, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

Link to comment
Share on other sites

Есть такая проблема. Обходится путем прописывания ~ перед комбинацией клавиш. Мой окончательный скриптец:

 

А что означает тильда перед хоткием? По документации - оставляет родную функцию клавиши (одновременно со скриптовой). Видимо, есть еще какие-то побочные эффекты :)

Link to comment
Share on other sites

  • ED Team
Если я правильно понял, подменять надо только один файл, который называется так же, как модель джойстика.
Точно. Это я проверял давно.

Я не копал глубоко AH - из реестра он может получить строку? Тогда бы в скрипте заменить SetWorkingDir

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

Проблемы с джостиком

 

Помогите кото ни будь ???

Купил джостик MaxFighter F-31U Vibration, столкнулся с проблемой следующего характера: он переодически отключается во время игри, иногда на пару секунд, а иногда и вообще.

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

Помогите !!!???

Link to comment
Share on other sites

Точно. Это я проверял давно.

Я не копал глубоко AH - из реестра он может получить строку? Тогда бы в скрипте заменить SetWorkingDir

 

Да, реестр читать умеет. Вот обновленный скрипт. Извиняюсь за читабельность кода, писал сходу, не глядя :biggrin:

 

RegRead, LODir, HKEY_LOCAL_MACHINE, SOFTWARE\Ubisoft\Eagle Dynamics\Lock On, Path

FileReadLine, JoyProfile, ahkprofiler.ini, 1
if JoyProfile =
 {
 FileSelectFile, JoyProfile, SM1, %LODir%\Input , Select your joystick's profile, *.ini
 if JoyProfile =
   {
       MsgBox, Please start AHKProfiler again and choose your joystick's profile
       ExitApp
   }
 else            
   {
FileDelete, ahkprofiler.ini
FileAppend, %JoyProfile%, ahkprofiler.ini
JoyProfile = %JoyProfile%
   }	
 } 
else
   JoyProfile = %JoyProfile%

~^+F1::
FileCopy, %JoyProfile%~afm, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

~^+F2::
FileCopy, %JoyProfile%~sfm, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

~^+F3::
FileCopy, %JoyProfile%~usr1, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

~^+F4::
FileCopy, %JoyProfile%~usr2, %JoyProfile%, 1
SoundPlay, %SystemRoot%\Media\ding.wav
return

~^!F1::
FileCopy, %JoyProfile%, %JoyProfile%~afm, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

~^!F2::
FileCopy, %JoyProfile%, %JoyProfile%~sfm, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

~^!F3::
FileCopy, %JoyProfile%, %JoyProfile%~usr1, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

~^!F4::
FileCopy, %JoyProfile%, %JoyProfile%~usr2, 1
SoundPlay, %SystemRoot%\Media\chimes.wav
return

~^!F10::
FileSelectFile, SelJoyProfile, SM1, %LODir%\Input , Select your joystick's profile, *.ini
if SelJoyProfile =
   return
else            
   {
FileDelete, ahkprofiler.ini
FileAppend, %SelJoyProfile%, ahkprofiler.ini
   }	
return

 

Имя профайла пишет ahkprofiler.ini (через меню).

 

Типа ридми

Если установлен AutoHotkey, то ahkprofiler.exe не нужен.

Ctrl+Alt+F10  Вызвать диалог выбора модели джойстика (обязательно после первого запуска)

Ctrl+Alt+F1  сохранить профиль для АФМ
Ctrl+Alt+F2  сохранить профиль для СФМ
Ctrl+Alt+F3  сохранить пользовательский профиль 1
Ctrl+Alt+F4  сохранить пользовательский профиль 2

Ctrl+Shift+F1  загрузить профиль АФМ
Ctrl+Shift+F2  загрузить профиль СФМ
Ctrl+Shift+F3  загрузить пользовательский профиль 1
Ctrl+Shift+F4  загрузить пользовательский профиль 2

 

Тут в готовом к употреблению виде

http://lockon-vpg.nm.ru/files/ahkprofiler.zip

 

Как обчно, автор ни за что ответственности не несет и ни за что не отвечает.

  • Like 1
Link to comment
Share on other sites

  • ED Team

Стал копать потихоньку - он и кнопки джоя мапить умеет и много чего ещё (интересно, кофе сварить сможет? или там за пивом сгонять?). Надо изучать, точно пригодится.

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

  • ED Team

А у тебя какая версия ЛО, западная? У меня в реестре путь другой - HKCU\Software\Eagle Dynamics\Lock On 1.1 - я так в своем профайлере вытаскивал Path. Никаких Ubi и в помине нет.

Вообще это как-то неправильно, по-моему - разные ветки реестра в разных вариантах локализации (хотя шут его знает, я тут "не Копенгаген").

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

А у тебя какая версия ЛО, западная? У меня в реестре путь другой - HKCU\Software\Eagle Dynamics\Lock On 1.1 - я так в своем профайлере вытаскивал Path. Никаких Ubi и в помине нет.

Вообще это как-то неправильно, по-моему - разные ветки реестра в разных вариантах локализации (хотя шут его знает, я тут "не Копенгаген").

 

Действительно, такой ключ у меня тоже есть

HKCU\Software\Eagle Dynamics\Lock On 1.1

 

Наверно, HKLM\Software\Ubisoft\Eagle Dynamics\Lock On остался от установки ЛО 1.02 (западная локализация идет как аддон поверх "ваниллы"), а второй появился после инсталяции ЛО ГС.

 

ЗЫ Исправил, новая версия там же (подменил архив) http://lockon-vpg.nm.ru/files/ahkprofiler.zip

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...