Gry

Jak używać AutoKey do automatyzacji gier Linux

Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, możesz zautomatyzować naciśnięcia klawiszy, kliknięcia myszą i większość elementów interfejsu pulpitu. Jeśli szukasz alternatywy dla programu Windows AutoHotkey, AutoKey jest obecnie najlepszą opcją dostępną dla użytkowników Linuksa.

Zwróć uwagę, że jest to tylko aplikacja X11, obsługa Wayland nie została dodana do aplikacji w momencie pisania tego artykułu.

Niektóre z funkcji AutoKey to:

Ten przewodnik pokaże Ci kilka przykładów AutoKey, które są przydatne dla graczy Linuksa. Aby rozpocząć, zainstalujmy pakiety Autokey Ubuntu z jego strony GitHub. Pobierz wymienione poniżej pliki stąd

Po pobraniu plików uruchom kolejno następujące polecenia:

$ sudo apt install ./autokey-common_0.95.8-0_wszystkie.deb
$ sudo apt install ./autokey-gtk_0.95.8-0_wszystkie.deb

Przykład 1: Ustawienie Klucz do automatycznego zapisywania gier

Często zdarza się, że wiele gier na PC używa klucz do szybkiego oszczędzania i do szybkiego załadunku. Jednak wiele innych gier na PC, zwłaszcza porty konsolowe, ma żmudny sposób na zapisywanie gry, w którym musisz poruszać się po wielu opcjach menu. Oto krótka makieta, którą narysowałem, która to ilustruje (przepraszam za moje umiejętności rysowania):

Gra chce, żebyś trafił klawisz, aby wstrzymać grę, a następnie klawisz strzałki, a następnie klawisz, aby zapisać grę, a następnie ponownie klawisz, aby powrócić do gry. Cały ten proces można łatwo zautomatyzować i zmapować do klawisz za pomocą AutoKey. Sprawdź poniższy kod skryptu:

czas importu
klawiatura.wyślij_klucz('')
czas.sen (0(.25)
klawiatura.wyślij_klucz('')
czas.sen (0(.25)
klawiatura.wyślij_klucz('')
czas.sen (0(.25)
klawiatura.wyślij_klucz('')

Aby dodać ten skrypt do AutoKey, uruchom aplikację, a następnie kliknij widoczny folder lub kliknij niestandardowy folder utworzony przez siebie, aby go podświetlić. Kliknij Plik > Nowy > Skrypt opcja menu, aby utworzyć nowy skrypt w tym folderze, jak pokazano na poniższym zrzucie ekranu:

Zmień nazwę tego skryptu na „Quicksave” i umieść w nim powyższy kod. Następnie kliknij przycisk „Skrót klawiszowy” na dole, jak pokazano na poniższym zrzucie ekranu:

Na następnym ekranie kliknij przycisk „Naciśnij, aby ustawić”, a następnie naciśnij klucz do mapowania go do skryptu.

„Klucz: (Brak)” zmieni się na „Klucz: ”.

Kliknij „OK” i naciśnij zapisać skrypt. Zawsze pamiętaj, aby zapisać skrypt, w przeciwnym razie nic nie zostanie wykonane po naciśnięciu zmapowanego skrótu.

Mapowanie klawiszy Quicksave jest teraz gotowe do użycia. Następnym razem, gdy naciśniesz klawisz, seria naciśnięć klawiszy zostanie wykonana w kolejności.

Zauważ, że zmieniliśmy funkcjonalność klucz globalnie w całym systemie operacyjnym, o ile AutoKey jest uruchomiony i zadokowany w zasobniku systemowym. Aby ograniczyć go do konkretnego okna lub aplikacji, musisz określić reguły okna, klikając przycisk „Filtr okien” na dole.

Możesz użyć tego samego skryptu powyżej, aby utworzyć skrypt do szybkiego ładowania. Musisz tylko usunąć linię dla klawisz strzałki, a następnie zmapuj skrypt na klucz.

Jeśli szukasz poprawnych nazw klawiszy do użycia w skryptach AutoKey Python 3, listę wszystkich specjalnych kodów klawiszy używanych w AutoKey można znaleźć tutaj. Każdy klucz niewymieniony na powyższej stronie można wstawić za pomocą pojedynczych lub podwójnych cudzysłowów. Przykład: klawiatura.send_key('5'), klawiatura.send_key('p') i tak dalej.

Przykład 2: Wypij dwie mikstury zdrowia z rzędu w grze fabularnej

Zakładając, że skrót klawiszowy do wypicia mikstury zdrowia w grze to , scenariusz byłby następujący:

klawiatura.send_key('h', powtórz=2)

Wartość zmiennej repeat można również zmienić na dowolną inną liczbę. Możesz postępować zgodnie z instrukcjami z pierwszego przykładu, aby zmapować skrypt na żądany klawisz skrótu.

Przykład 3: tryb serii dla broni palnej w strzelance

 

Korzystając z poniższego kodu, możesz mapować klucz do strzału z pistoletu trzy razy z rzędu. Oryginalnym sposobem strzelania w grze jest jednokrotne naciśnięcie lewego przycisku myszy.

# przyciski myszy: lewo=1, środek=2, prawo=3
mysz.click_relative_self(0, 0, 1)
mysz.click_relative_self(0, 0, 1)
mysz.click_relative_self(0, 0, 1)

Powyższy skrypt wykona kliknięcie lewym przyciskiem myszy trzy razy z rzędu. Dodatkowe instrukcje można dodać, jeśli chcesz wykonać kliknięcie lewym przyciskiem więcej niż trzy razy.

Możesz wykonać kroki z pierwszego przykładu, aby zmapować skrypt do script Klawisz skrótu.

Przykład 4: Stwórz własne menu gry / Zmień grę czasu rzeczywistego w grę turową

Korzystając z funkcji menu listy AutoKey, pokażemy menu jako nakładkę na uruchomioną grę. To menu wykradnie fokus z gry i zwróci je po kliknięciu myszą na jednym z elementów menu. Po zwróceniu fokusu zostanie wykonane automatyczne naciśnięcie klawisza, które wywołuje funkcję w grze.

Spójrz na to zdjęcie:

W folderze „GameMenu” utworzyłem podfolder „Pokaż”. Zarówno folder „Menu Gry”, jak i „Pokaż” zawierają elementy podrzędne. Oto kod, który umieściłem w każdym elemencie podrzędnym:

  • Zapasy: klawiatura.send_key('i')
  • Mapa: klawiatura.send_key('m')
  • Powrót do gry: klawiatura.wyślij_klucz('')
  • Przełącz na karabin szturmowy: klawiatura.send_key('2')
  • Przełącz na SMG: klawiatura.send_key('1')

Tutaj zmapowany jest folder „GameMenu” klucz i tak to wygląda w uruchomionej grze:

Każda pozycja menu ma przedrostek przed etykietą. Możesz wywołać dowolny element menu, naciskając odpowiedni klawisz numeryczny na klawiaturze. Na przykład naciśnięcie <2> tutaj klawisz przełączy broń na karabin szturmowy.

Małe demo GIF tego przykładu (kliknij obraz lub kliknij prawym przyciskiem myszy i otwórz GIF w nowej karcie, jeśli animacja zatrzyma się poniżej):

Ta metoda może nie działać we wszystkich grach, w zależności od sposobu, w jaki obsługują renderowanie w oknie i na pełnym ekranie. Niektóre gry nie są wstrzymywane, gdy fokus zostanie skradziony, podczas gdy inne to robią. Jeśli gra zatrzymuje się po utracie koncentracji, zasadniczo przekształciłeś grę czasu rzeczywistego w grę turową za pomocą tego skryptu AutoKey.

Ten przykład będzie działał z grami w każdym przypadku z osobna. Jednak w moich testach osiągnąłem całkiem dobre wyniki zarówno w grach natywnych, jak i Steam Proton / Wine.

Wniosek

Wszystkie wymienione tutaj przykłady są proste, przeznaczone głównie dla graczy Linuksa. Obejmują one tylko część potężnego API AutoKey. AutoKey może zautomatyzować wiele pracy, korzystając z funkcji skryptów dla codziennego lub złożonego oprogramowania. Kilka innych przykładów jest dostępnych w oficjalnej dokumentacji aplikacji.

Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...