Эддиенпут
Eddienput (произносится как «edd-input») — это программируемый виртуальный контроллер, в основном предназначенный для улучшения режима обучения для всех файтингов на ПК.
Предпосылки:
Установите ViGEmBusSetup_x64.msi (поставляется с программой)
Инструкции по сборке:
- Примечание . Эта часть предназначена в основном для разработчиков. Пользователи могут просто загрузить последнюю версию со страницы выпусков.
- Клонировать репо в какую-нибудь локальную папку
- Установите Python 3.12
- Установить Поэзию
-
cd
в корневой каталог клонированного репозитория - Запустить
poetry shell
- Запустите
./build.bat
Каталог распространяемого файла, содержащий исполняемый файл Eddienput, должен находиться в /dist/Eddienput
Использование:
Наиболее распространенным сценарием использования было бы определение воспроизведений/миксов в файле воспроизведения, загрузка файла и его воспроизведение. Вы можете сделать это, выполнив следующие действия:
- Запустите Eddienput.exe с уже подключенным собственным контроллером (второй виртуальный контроллер должен быть подключен при запуске программы)
- Определите воспроизведения/миксы в файле воспроизведения (формат txt) в соответствии с синтаксисом, описанным ниже, сохраните его и загрузите файл воспроизведения в программу (перетаскиванием)
- Теперь войдите в режим обучения в своей игре и выберите «контроллер» в качестве фиктивного действия. Если игра попросит нажать «Старт» на контроллере P2, нажмите клавишу «Домой» на клавиатуре, чтобы имитировать нажатие «Старт» на виртуальном контроллере (требуется в некоторых играх).
- Теперь вы можете нажать F3 на клавиатуре или назначенную кнопку на контроллере, чтобы воспроизвести воспроизведение, имитируя нажатия кнопок на контроллере P2.
Вы также можете поделиться своими файлами воспроизведения с другими игроками в вашем сообществе, чтобы делиться комбо, миксами и многим другим. Вы можете найти несколько примеров файлов воспроизведения в папке воспроизведения.
Горячие клавиши:
- Сторона игрока 1 — F1
- Сторона игрока 2 — F2
- Последовательность воспроизведения — F3 / Пользовательский
- Остановить последовательность — F4
- Перезагрузить скрипт — F5
- Уменьшить количество повторений — F6
- Увеличить количество повторений — F7
- Переключить звук начала/конца последовательности — F8
- Кнопка воспроизведения карты — F9
- Нажмите «Пуск» на контроллере P2 — клавиша «Домой».
- Нажмите «Выбрать» на контроллере P2 — клавиша завершения.
- Переключить ручное управление P2 (для сопоставления) — вставить ключ
Хой-клавиши можно подавить, переключив Suppress Hotkeys
в окне графического интерфейса.
Обозначение:
- # - Начать строку комментария
- Число W — подождать определенное количество кадров ( число является положительным целым числом)
- X — нажмите X и отпустите следующий кадр.
- [ X ] — Удерживайте X
- ] X [ - Выпуск X
- Примечание. Если вы хотите напрямую переключиться с удерживаемого направления на другое удерживаемое направление, не отпускайте удерживаемое направление между ними. Например, если вы хотите перейти снизу вверх, просто выполните
[2] W10 [6]
вместо [2] W10 ]2[+[6]
- **Вышеупомянутое не действует, если направления сопоставлены с клавишами клавиатуры (экспериментально).
- + - Добавить ввод в тот же кадр
Пример:
configsgg.json
# <- Indicates this line is a comment and is ignored by the parser
# The assumed game for this example is Guilty Gear XRD Rev2
# The first line (configgg.json) indicates that we use the symbols and mappings defined in that file (that fit Guilty Gear notation)
# In the next line, we tell the dummy to perform a Gunflame (Asumming Sol Badguy is selected as P2), and then wait 60 frames (one second)
2 3 6+P W60
# Now dash forward (tap forward, wait one frame, then hold forward) for 20 frames and then stop (release forward)
6 W1 [6] W20 ]6[
# Now enter IK mode
K+P+S+H
Путаницы:
- Миксапы состоят из нескольких определяемых пользователем вариантов, один из которых выбирается случайным образом в зависимости от веса вариантов.
- Строка, состоящая из ключевого слова startmix, указывает на начало определения микса.
- Опции определяются строкой, состоящей из ключевого слова option , за которым может следовать вес (неотрицательное целое число).
- Вес опции по умолчанию равен 1.
- Действия в строках, следующих за опцией, будут выполнены, если опция выбрана.
- Закройте определение миксапа строкой, состоящей из ключевого слова endmix.
- Вложенные миксы не поддерживаются.
Пример:
configsgg.json
# Classic Eddie high/low mixup (assuming Guilty Gear Accent Core +R)
# Fixed Mawaru setup (always performed)
2 3 6 H W4 [K] W11 ]K[ W20
# Start defining a mixup (Indentation is optional but recommended for readability)
startmix
# Now one of the following options will be performed:
# 1) dash 6K option (overhead) - 60% to be performed:
option 60
6 W1 [6] W10 K
# 2) dash 5K option (low) - 40% to be performed:
option 40
6 W1 [6] W10 ]6[ W9 K
endmix
# Can now add more actions to be performed after the initial mixup ended (including other mixups)
Цикл:
- Действия можно повторять несколько раз, определив цикл.
- Строка, состоящая из ключевого слова startloop, за которым следует количество повторений (положительное целое число), указывает на начало определения цикла.
- Действия в строках, следующих за определением цикла, будут повторяться заданное количество повторений.
- Закройте определение цикла строкой, состоящей из ключевого слова endloop.
- Миксапы, определенные внутри цикла, должны быть закрыты перед выходом из цикла.
- Циклы могут быть определены внутри миксапов, если миксап не заканчивается внутри цикла.
- Вложенные циклы не поддерживаются.
Пример:
configssf.json
# The assumed game for this example is Street Fighter 5 with Ken as P2
# Perform heavy tatsu 5 times waiting 180 frames (3 seconds) between each:
# Indentation is optional (recommended for readability)
loop 5
2 1 4+HK W180
endloop
# End with an ex shoryuken
6 2 3+MP+HP
Конфигурационные файлы:
Вы можете определять символы, переназначать символы другим кнопкам и настраивать макросы в файле конфигурации JSON (пример см. в configsgg.json).
Первой строкой файла воспроизведения всегда должен быть путь (абсолютный или относительный) к используемому файлу конфигурации.
Зарезервированные символы:
- номер W
- +
- Стартмикс
- вариант
- конечная смесь
- [
- ]
- петля
- конечный цикл
Поддерживаемые кнопки виртуального контроллера для сопоставления символа:
Нажмите, чтобы развернуть
- "Бтна"
- "БтнБ"
- "БтнХ"
- "БтнЙ"
- "БтнШоулдерР"
- "БтнШоулдерЛ"
- "БтнБэк"
- "БтнСтарт"
- «ТриггерР»
- "ТриггерЛ"
- { "Dpad": "вниз" }
- { "Dpad": "влево" }
- { "Dpad": "право" }
- { "Dpad": "вверх" }
- { "Dpad": "down_left" }
- { "Dpad": "down_right" }
- { "Dpad": "up_left" }
- { "Dpad": "up_right" }
Поддерживаемые кнопки виртуальной клавиатуры для сопоставления символа (экспериментально):
Нажмите, чтобы развернуть
- 'сдвиг'
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- 'а'
- 'б'
- 'с'
- 'д'
- 'е'
- 'ф'
- 'г'
- 'час'
- 'я'
- 'Дж'
- 'к'
- 'л'
- 'м'
- 'н'
- 'о'
- 'п'
- 'к'
- 'р'
- 'с'
- 'т'
- 'ты'
- 'в'
- 'ч'
- 'х'
- 'й'
- 'з'
- 'numpad_enter'
- 'numpad_1'
- 'numpad_2'
- 'numpad_3'
- 'numpad_4'
- 'numpad_5'
- 'numpad_6'
- 'numpad_7'
- 'numpad_8'
- 'numpad_9'
- 'numpad_0'
- '-'
- '+'
- 'левый'
- 'вверх'
- 'верно'
- 'вниз'
- 'космос'
- 'входить'
Запись:
Программа может прослушивать входные сигналы контроллера и генерировать файлы воспроизведения Eddienput. Для включения этой функции контроллер должен быть подключен при запуске программы.
Запись инициируется нажатием F10 на клавиатуре. После остановки нажатием кнопки выбора на контроллере записанные входные данные будут записаны в файл воспроизведения. Загруженный JSON-файл конфигурации записи определяет символы, в которые будет преобразована каждая кнопка, которые должны соответствовать символам, определенным в файле конфигурации для сгенерированного файла воспроизведения. Если загруженный файл конфигурации записи не определяет сопоставление между кнопкой и символом, эта кнопка игнорируется. Примеры см. в rec_configs/rec.json
или rec_configs/rec_bb.json
.
Другие:
Воспроизведение звуков
- «beep» — воспроизводит звуковой сигнал.
Пример:
configsgg.json
# Assuming Guilty Gear Accent Core +R with Eddie as P2, Perform Eddie's reversal super and beep right when a slashback should be inputted
6 3 2 1 4 6+H W63 beep
Чтобы связать символ с некоторым звуковым сигналом, в файле конфигурации добавьте сопоставление символа с соответствующим .wav
файлом (пример см. в configsgg.json
).
Общий файл конфигурации
В дополнение к конкретному файлу конфигурации plyaback, Eddienput также загружает некоторые настройки из общего файла конфигурации в свой каталог config.json
при запуске. Параметры, которые можно настроить:
-
playback
: путь к файлу воспроизведения, который будет загружаться при запуске программы. -
playback_start_end_sound
: установлено значение true
или false
, определяет, воспроизводить ли звук при начале/окончании воспроизведения. -
hot_reload
: значение true
или false
определяет, будет ли файл воспроизведения автоматически перезагружаться при воспроизведении. -
side
: установлено значение P1
или P2
, определяет, какую сторону проигрывателя использовать при запуске программы. -
record_to
: установите местоположение по умолчанию для записи. -
rec_config
: путь к конфигурации по умолчанию, которая будет использоваться для записи.
Известные проблемы:
КОФ2002 УМ:
- Входные данные несовместимы, когда символы отображаются на виртуальный контроллер. Они более согласованы при сопоставлении с клавишами на клавиатуре (используйте
configskof_keyboard.json
).
Guilty Gear Accent Core +R:
- Клавиши перемещения P2 не распознаются при сопоставлении с клавишами на клавиатуре (используйте
gg.json
). Если вы играете на клавиатуре, запустите два экземпляра программы одновременно (или подключите реальный контроллер, если он у вас есть), чтобы второй виртуальный контроллер считался контроллером P2.
Тохо 7.5: Суймусо — нематериальная и недостающая сила
- Сопоставление клавиш со стрелками на клавиатуре не работает. Назначьте клавиши движения игры для P2 некоторым другим клавишам (см. configsiamp_keyboard.json).
Сопоставление кнопки воспроизведения с кнопкой контроллера
- Поддерживается только на контроллерах XInput. Если вы используете панель PS4, возможным решением будет использование DS4Windows.
Несовместимые входные данные:
- Рекомендуется отключить поддержку контроллера Xbox в Steam, поскольку это приводит к несоответствию ввода (скорее всего, это относится к контроллерам XInput в целом).