Spil

Sådan bruges AutoKey til at automatisere Linux-spil

Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet kan du automatisere tastetryk, museklik og de fleste dele af en desktop-interface. Hvis du leder efter et alternativ til Windows-programmet AutoHotkey, er AutoKey den bedste mulighed, der findes i dag for Linux-brugere.

Bemærk, at dette kun er en X11-applikation, Wayland-support er ikke blevet tilføjet til applikationen, da denne artikel blev skrevet.

Nogle af AutoKey-funktionerne er:

Denne guide viser dig nogle AutoKey-eksempler, der er nyttige for Linux-spillere. For at komme i gang, lad os installere Autokey Ubuntu-pakker fra GitHub-siden. Download nedenstående filer herfra

Efter download af filerne skal du køre følgende kommandoer i rækkefølge:

$ sudo apt installation ./ autokey-common_0.95.8-0_all.deb
$ sudo apt installation ./ autokey-gtk_0.95.8-0_all.deb

Eksempel 1: Indstilling Nøgle til automatisk spilbesparelse

Det er almindeligt at se mange pc-spil ved hjælp af nøgle til hurtig lagring og til hurtig indlæsning. Imidlertid har mange andre pc-spil, især konsolporte, en kedelig måde at gemme spil på, hvor du skal navigere gennem flere menupunkter. Her er en hurtig mockup, jeg har tegnet, der illustrerer dette (undskyld mine tegnefærdigheder):

Spillet vil have dig til at slå tasten for at sætte spillet på pause, derefter piletast, derefter tast for at gemme spillet efterfulgt af tast igen for at vende tilbage til spillet. Hele denne proces kan let automatiseres og kortlægges til tast ved hjælp af AutoKey. Tjek scriptkoden nedenfor:

importtid
tastatur.send_key ('')
tid.sove (0.25)
tastatur.send_key ('')
tid.sove (0.25)
tastatur.send_key ('')
tid.sove (0.25)
tastatur.send_key ('')

For at tilføje dette script til AutoKey skal du starte appen og derefter klikke på en synlig mappe eller klikke på en brugerdefineret mappe oprettet af dig for at fremhæve den. Klik på Fil> Ny> Script menupunkt for at oprette et nyt script inde i den mappe, som vist på skærmbilledet nedenfor:

Omdøb dette script til "Quicksave" og læg ovenstående kode inde i det. Klik derefter på “Genvejstast” -knappen i bunden, som vist på skærmbilledet nedenfor:

På det næste skærmbillede skal du klikke på knappen "Tryk for at indstille" og derefter trykke på nøgle for at kortlægge det til scriptet.

“Tast: (Ingen)” ændres til “Tast: ”.

Klik på “OK” og tryk på for at gemme scriptet. Husk altid at gemme scriptet, ellers udføres der intet, når du trykker på den kortlagte genvejstast.

Quicksave keymapping er nu klar til brug. Næste gang du trykker på tast, udføres en række tastetryk i rækkefølge.

Bemærk, at vi har ændret funktionaliteten af nøgle globalt i hele operativsystemet, så længe AutoKey kører og er docket til systembakken. For at begrænse det til et bestemt vindue eller program skal du angive vinduesregler ved at klikke på knappen "Vinduesfilter" nederst.

Du kan også bruge det samme script ovenfor til at oprette et script til hurtig indlæsning. Du skal bare fjerne linjen for piletast, og kortlæg derefter scriptet til nøgle.

Hvis du er på udkig efter korrekte nøglenavne til brug i AutoKey Python 3-scripts, kan du finde en liste over alle specielle nøglekoder, der kan bruges i AutoKey, her. Enhver nøgle, der ikke er nævnt på siden ovenfor, kan indsættes ved hjælp af enkelt eller dobbelt anførselstegn. Eksempel: tastatur.send_key ('5'), tastatur.send_key ('p') og så videre.

Eksempel 2: Drik to sundhedsdrikke i træk i et rollespil

Antages det, at genvejstasten drikker sundhedsdrink i dit spil er , scriptet ville være:

tastatur.send_key ('h', gentag = 2)

Værdien af ​​gentagelsesvariablen kan også ændres til ethvert andet tal. Du kan følge trinene i det første eksempel for at kortlægge scriptet til den ønskede genvejstast.

Eksempel 3: Burst-tilstand for pistol i et skydespil

 

Ved hjælp af nedenstående kode kan du kortlægge nøgle til at skyde en pistol tre gange i træk. Den originale måde at skyde på i spillet er at trykke en gang på venstre museklik.

# museknapper: venstre = 1, midten = 2, højre = 3
mus.click_relative_self (0, 0, 1)
mus.click_relative_self (0, 0, 1)
mus.click_relative_self (0, 0, 1)

Ovenstående script udfører venstre museklik tre gange i træk. Ekstra erklæringer kan tilføjes, hvis du vil udføre venstreklik mere end tre gange.

Du kan følge trinene i det første eksempel for at kortlægge scriptet til genvejstast.

Eksempel 4: Opret en brugerdefineret spilmenu / Gør et spil i realtid til et turbaseret spil

Ved hjælp af listemenufunktionaliteten i AutoKey viser vi en menu som et overlay oven på et kørende spil. Denne menu stjæler fokus fra spillet og returnerer det, når et museklik er udført på et af menupunkterne. Når fokus er returneret, udføres et automatisk tastetryk, der påkalder en funktion inde i spillet.

Se på dette billede:

I mappen "GameMenu" har jeg oprettet en undermappe kaldet "Show". Både mappen "GameMenu" og "Show" har underordnede emner. Her er den kode, jeg har lagt inde i hvert underordnet element:

  • Beholdning: tastatur.send_key ('jeg')
  • Kort: tastatur.send_key ('m')
  • Tilbage til spillet: tastatur.send_key ('')
  • Skift til Assault Rifle: tastatur.send_key ('2')
  • Skift til SMG: tastatur.send_key ('1')

Her er mappen "GameMenu" tilknyttet nøgle, og sådan ser det ud inden i løbende spil:

Hvert menupunkt har et nummer foran en etiket. Du kan påkalde ethvert menupunkt ved at trykke på den tilsvarende nummertast på tastaturet. For eksempel ved at trykke på <2> nøglen her skifter pistolen til angrebsriffel.

En lille GIF-demo af dette eksempel (klik på billedet eller højreklik og åbn GIF i en ny fane, hvis animationen stopper nedenfor):

Denne metode fungerer muligvis ikke med alle spil afhængigt af den måde, de håndterer vinduesvindue på og gengivelse på fuld skærm. Nogle spil holder ikke pause, når fokus stjæles, mens andre gør det. Hvis spillet holder pause, når fokus går tabt, har du i det væsentlige konverteret et realtidsspil til et turbaseret spil ved hjælp af dette AutoKey-script.

Dette eksempel fungerer med spil fra sag til sag. Men i min test har jeg opnået ret gode resultater med både native og Steam Proton / Wine-spil.

Konklusion

Alle de eksempler, der er nævnt her, er grundlæggende, primært fokuseret på Linux-spillere. De dækker kun en del af AutoKeys kraftfulde API. AutoKey kan automatisere meget af din arbejdsgang ved hjælp af dets scriptfunktioner til daglig eller kompleks software. Et par flere eksempler er tilgængelige i den officielle dokumentation for appen.

Top 10 maskinlæringsbiblioteker til Python
Hvad vil du oprette? Det vigtige spørgsmål! Du er kommet her for at bruge Machine Learning (ML) . Har du overvejet nøje, hvad til? Når du vælger et ma...
Python-vektorer, matricer og arrays med NumPy
I denne lektion vil vi se på nogle pæne tip og tricks til at lege med vektorer, matricer og arrays ved hjælp af NumPy-biblioteket i Python. Denne lekt...
PyTorch Tutorial med lineær regression
PyTorch er en Python-baseret videnskabelig pakke, der giver en udskiftning af NumPy ndarrays som Tensorer, der drager størst fordel af GPU'erne. Et an...