Eddienput
Eddienput (ausgesprochen „edd-input“) ist ein programmierbarer virtueller Controller, der hauptsächlich darauf abzielt, den Trainingsmodus für alle Kampfspiele auf dem PC zu verbessern.
Voraussetzungen:
Installieren Sie ViGEmBusSetup_x64.msi (im Lieferumfang des Programms enthalten).
Bauanleitung:
- Hinweis : Dieser Teil richtet sich hauptsächlich an Entwickler. Benutzer können sich einfach die neueste Version von der Release-Seite herunterladen.
- Klonen Sie das Repo in einen lokalen Ordner
- Installieren Sie Python 3.12
- Installieren Sie Poesie
-
cd
in das Stammverzeichnis des geklonten Repos - Führen Sie
poetry shell
aus - Führen Sie
./build.bat
aus
Das verteilbare Verzeichnis, das die ausführbare Eddienput-Datei enthält, sollte unter /dist/Eddienput
zu finden sein
Verwendung:
Das häufigste Verwendungsszenario besteht darin, Wiedergaben/Vermischungen in einer Wiedergabedatei zu definieren, die Datei zu laden und abzuspielen. Sie können dies tun, indem Sie die folgenden Schritte ausführen:
- Starten Sie Eddienput.exe mit Ihrem eigenen Controller, der bereits angeschlossen ist (ein zweiter virtueller Controller sollte angeschlossen sein, wenn das Programm startet).
- Definieren Sie Playbacks/Mixups in einer Playbacks-Datei (txt-Format) gemäß der unten beschriebenen Syntax, speichern Sie diese und laden Sie die Playbacks-Datei in das Programm (Drag and Drop).
- Gehen Sie nun in Ihrem Spiel in den Trainingsmodus und wählen Sie „Controller“ als Dummy-Aktion. Wenn Sie vom Spiel aufgefordert werden, auf dem P2-Controller „Start“ zu drücken, drücken Sie die „Home“-Taste auf Ihrer Tastatur, um das Drücken von „Start“ auf dem virtuellen Controller zu simulieren (in einigen Spielen erforderlich).
- Sie können jetzt F3 auf Ihrer Tastatur oder eine zugeordnete Taste auf Ihrem Controller drücken, um die Wiedergabe abzuspielen, indem Sie Tastendrücke auf dem P2-Controller simulieren
Sie können Ihre Wiedergabedateien auch mit anderen Spielern in Ihrer Community teilen, um Combos, Mixups und mehr zu teilen. Einige Beispiel-Playbackdateien finden Sie im Playback-Ordner.
Hotkeys:
- Spieler 1 Seite – F1
- Seite von Spieler 2 – F2
- Sequenz abspielen – F3 / Benutzerdefiniert
- Stoppsequenz – F4
- Skript neu laden – F5
- Anzahl der Wiederholungen verringern – F6
- Anzahl der Wiederholungen erhöhen – F7
- Start-/Endton der Sequenz umschalten – F8
- Schaltfläche „Kartenwiedergabe“ – F9
- Drücken Sie Start auf dem P2-Controller – Home-Taste
- Drücken Sie auf dem P2-Controller die Taste „Auswählen – Ende“.
- Manuelle P2-Steuerung umschalten (für Mapping) – Taste einfügen
Hoykeys können durch Aktivieren der Suppress Hotkeys
im GUI-Fenster unterdrückt werden.
Notation:
- # – Eine Kommentarzeile starten
- W -Nummer – Warten Sie eine bestimmte Anzahl von Frames ( die Zahl ist eine positive ganze Zahl)
- X – Tippen Sie auf X und lassen Sie das nächste Bild los
- [ X ] – Halten Sie X gedrückt
- ] X [ - X freigeben
- Hinweis: Wenn Sie bei Richtungsanweisungen direkt von der gehaltenen Richtung in eine andere gehaltene Richtung wechseln möchten, lassen Sie die gehaltene Richtung zwischendurch nicht los. Wenn Sie beispielsweise von unten nach vorne gehen möchten, führen Sie einfach
[2] W10 [6]
anstelle von [2] W10 ]2[+[6]
aus. - **Das Obige gilt nicht, wenn die Richtungen Tastaturtasten zugeordnet sind (experimentell)
- + – Eingabe zum gleichen Frame hinzufügen
Beispiel:
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
Verwechslungen:
- Mixups bestehen aus mehreren benutzerdefinierten Optionen, von denen eine zufällig basierend auf der Gewichtung der Optionen ausgewählt wird
- Eine Zeile bestehend aus dem Schlüsselwort startmix gibt den Beginn einer Mixup-Definition an
- Optionen werden mit einer Zeile definiert, die aus dem Optionsschlüsselwort besteht, optional gefolgt von einer Gewichtung (nicht negative Ganzzahl).
- Das Standardgewicht einer Option ist 1
- Aktionen in den Zeilen nach der Option werden ausgeführt, wenn die Option ausgewählt wird
- Schließen Sie die mixup-Definition mit einer Zeile, die aus dem Schlüsselwort endmix besteht
- Verschachtelte Verwechslungen werden nicht unterstützt
Beispiel:
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)
Schleife:
- Durch die Definition einer Schleife können Aktionen mehrmals wiederholt werden
- Eine Zeile bestehend aus dem Schlüsselwort startloop gefolgt von der Anzahl der Wiederholungen (eine positive Ganzzahl) zeigt den Beginn einer Schleifendefinition an
- Aktionen in den Zeilen, die auf die Schleifendefinition folgen, werden mit der definierten Anzahl von Wiederholungen wiederholt
- Schließen Sie die Schleifendefinition mit einer Zeile, die aus dem Schlüsselwort endloop besteht
- Innerhalb einer Schleife definierte Verwechslungen müssen vor dem Verlassen der Schleife geschlossen werden
- Schleifen können innerhalb von Verwechslungen definiert werden, solange die Verwechslung nicht innerhalb der Schleife endet
- Verschachtelte Schleifen werden nicht unterstützt
Beispiel:
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
Konfigurationsdateien:
Sie können Symbole definieren, Symbole anderen Schaltflächen neu zuweisen und Makros in einer JSON-Konfigurationsdatei einrichten (siehe configsgg.json für ein Beispiel).
Die erste Zeile einer Wiedergabedatei sollte immer der Pfad (absolut oder relativ) zur zu verwendenden Konfigurationsdatei sein.
Reservierte Symbole:
- W- Nummer
- +
- Startmix
- Option
- Endmix
- [
- ]
- Schleife
- Endschleife
Unterstützte virtuelle Controller-Schaltflächen zum Zuordnen eines Symbols zu:
Klicken Sie zum Erweitern
- „BtnA“
- „BtnB“
- „BtnX“
- „BtnY“
- „BtnShoulderR“
- „BtnShoulderL“
- „BtnBack“
- „BtnStart“
- „TriggerR“
- „TriggerL“
- { "Dpad": "down" }
- { "Dpad": "left" }
- { "Dpad": "right" }
- { "Dpad": "up" }
- { "Dpad": "down_left" }
- { "Dpad": "down_right" }
- { "Dpad": "up_left" }
- { "Dpad": "up_right" }
Unterstützte virtuelle Tastaturtasten zum Zuordnen eines Symbols (experimentell):
Klicken Sie zum Erweitern
- 'Schicht'
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- 'A'
- 'B'
- 'C'
- 'D'
- 'e'
- 'F'
- 'G'
- 'H'
- 'ich'
- 'J'
- 'k'
- 'l'
- 'M'
- 'N'
- 'O'
- 'P'
- 'Q'
- 'R'
- 'S'
- 'T'
- 'du'
- 'v'
- 'w'
- 'X'
- 'y'
- 'z'
- 'numpad_enter'
- 'numpad_1'
- 'numpad_2'
- 'numpad_3'
- 'numpad_4'
- 'numpad_5'
- 'numpad_6'
- 'numpad_7'
- 'numpad_8'
- 'numpad_9'
- 'numpad_0'
- '-'
- '+'
- 'links'
- 'hoch'
- 'Rechts'
- 'runter'
- 'Raum'
- 'eingeben'
Aufnahme:
Das Programm kann Controller-Eingaben abhören und Eddienput-Wiedergabedateien generieren. Um diese Funktion zu aktivieren, muss beim Programmstart ein Controller angeschlossen sein.
Die Aufnahme wird durch Drücken von F10 auf der Tastatur gestartet. Nach dem Stoppen durch Drücken der Auswahltaste auf dem Controller werden die aufgezeichneten Eingaben in eine Wiedergabedatei geschrieben. Die geladene JSON-Datei für die Aufzeichnungskonfiguration bestimmt die Symbole, in die jede Schaltfläche übersetzt wird. Diese sollten mit den Symbolen übereinstimmen, die in der Konfigurationsdatei für die generierte Wiedergabedatei definiert sind. Wenn die geladene Aufzeichnungskonfigurationsdatei keine Zuordnung zwischen einer Schaltfläche und einem Symbol definiert, wird diese Schaltfläche ignoriert. Beispiele finden Sie unter rec_configs/rec.json
oder rec_configs/rec_bb.json
.
Andere:
Töne abspielen
- „beep“ – Spielt einen Piepton ab
Beispiel:
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
Um ein Symbol mit einem Audio-Cue zu verknüpfen, fügen Sie in der Konfigurationsdatei eine Zuordnung vom Symbol zur entsprechenden .wav
Datei hinzu (siehe configsgg.json
für ein Beispiel).
Allgemeine Konfigurationsdatei
Zusätzlich zur plyaback-spezifischen Konfigurationsdatei lädt Eddienput beim Start auch einige Einstellungen aus einer allgemeinen Konfigurationsdatei in seinem Verzeichnis config.json
. Folgende Einstellungen können konfiguriert werden:
-
playback
: Ein Pfad zu einer Wiedergabedatei, die beim Start des Programms geladen werden soll. -
playback_start_end_sound
: Entweder auf true
oder false
gesetzt, legt fest, ob ein Ton abgespielt werden soll, wenn die Wiedergabe beginnt/endet. -
hot_reload
: Entweder auf true
oder false
gesetzt, legt fest, ob die Wiedergabedatei beim Abspielen automatisch neu geladen werden soll. -
side
: Stellen Sie entweder P1
oder P2
ein und legen Sie fest, welche Spielerseite beim Programmstart verwendet werden soll. -
record_to
: Legen Sie den Standardspeicherort für die Aufnahme fest. -
rec_config
: Ein Pfad zur Standardkonfiguration, die für die Aufzeichnung verwendet werden soll.
Bekannte Probleme:
KOF2002 UM:
- Eingaben sind inkonsistent, wenn Symbole einem virtuellen Controller zugeordnet werden. Sie sind konsistenter, wenn sie Tasten auf der Tastatur zugeordnet werden (verwenden Sie
configskof_keyboard.json
).
Guilty Gear Accent Core +R:
- P2-Bewegungstasten werden nicht erkannt, wenn sie Tasten auf der Tastatur zugeordnet sind (verwenden Sie
gg.json
). Wenn Sie ein Keyboarder sind, führen Sie zwei Instanzen des Programms gleichzeitig aus (oder schließen Sie einen echten Controller an, falls Sie einen haben), sodass der zweite virtuelle Controller als P2 behandelt wird
Touhou 7.5: Suimusou – Immaterielle und fehlende Macht
- Die Zuordnung zu den Pfeiltasten der Tastatur funktioniert nicht. Weisen Sie die Bewegungstasten des Spiels für P2 einigen anderen Tasten zu (siehe configsiamp_keyboard.json).
Zuordnen der Wiedergabetaste zu einer Controller-Taste
- Wird nur auf XInput-Controllern unterstützt. Wenn Sie ein PS4-Pad verwenden, wäre die Verwendung von DS4Windows eine mögliche Problemumgehung
Inkonsistente Eingaben:
- Es wird empfohlen, die Xbox-Controller-Unterstützung von Steam zu deaktivieren, da dies zu Eingabeinkonsistenzen führt (dies gilt höchstwahrscheinlich für XInput-Controller im Allgemeinen).