Játékok

Az AutoKey használata a Linux játékok automatizálásához

Az AutoKey használata a Linux játékok automatizálásához
Az AutoKey egy asztali automatizáló segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A parancsfájlok és a MACRO funkcióinak használatával automatizálhatja a billentyűleütéseket, az egérkattintásokat és az asztali felület legtöbb részét. Ha a Windows AutoHotkey program alternatíváját keresi, akkor az AutoKey a legjobb megoldás, amely ma elérhető a Linux felhasználók számára.

Vegye figyelembe, hogy ez csak egy X11 alkalmazás, a cikk írásakor a Wayland támogatást nem adták hozzá az alkalmazáshoz.

Az AutoKey néhány szolgáltatása:

Ez az útmutató néhány AutoKey-példát mutat be, amelyek hasznosak a Linux-játékosok számára. A kezdéshez telepítsük az Autokey Ubuntu csomagokat a GitHub oldaláról. Töltse le innen az alább említett fájlokat

A fájlok letöltése után futtassa a következő parancsokat sorrendben:

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

1. példa: Beállítás Kulcs az automatikus játékmentéshez

Gyakori, hogy sok PC-játékot használnak kulcs a gyors mentéshez és a gyors betöltéshez. Sok más PC-s játéknak, különösen a konzolos portoknak azonban fárasztó módja van a játék mentésére, ahol több menüpontban kell navigálnia. Itt van egy gyors makett, amit rajzoltam, amely ezt szemlélteti (elnézést a rajzkészségemért):

A játék azt akarja, hogy eltalálja gombot a játék szüneteltetéséhez majd a nyílgombot gomb a játék mentéséhez, majd a gombot, hogy visszatérjen a játékhoz. Ez az egész folyamat könnyen automatizálható és leképezhető gombot az AutoKey használatával. Nézze meg az alábbi szkript kódot:

import idő
billentyűzet.send_key ('')
idő.alvás (0.25)
billentyűzet.send_key ('')
idő.alvás (0.25)
billentyűzet.send_key ('')
idő.alvás (0.25)
billentyűzet.send_key ('')

Ha hozzá szeretné adni ezt a szkriptet az AutoKey-hez, indítsa el az alkalmazást, majd kattintson egy látható mappára, vagy kattintson az Ön által létrehozott egyéni mappára a kiemeléshez. Kattintson Fájl> Új> Szkript menüopció új parancsfájl létrehozásához a mappában, az alábbi képernyőképen látható módon:

Nevezze át ezt a szkriptet „Quicksave” -re, és tegye bele a fenti kódot. Ezután kattintson az alján található „Hotkey” gombra, az alábbi képernyőképen látható módon:

A következő képernyőn kattintson a „Press to Set” gombra, majd nyomja meg a gombot gombot a szkripthez való hozzárendeléshez.

A „Key: (None)” kifejezés „Key: ”.

Kattintson az „OK” gombra és nyomja meg a gombot a szkript mentéséhez. Mindig ne felejtsen el menteni a szkriptet, különben semmi sem fog végrehajtódni, amikor megnyomja a leképezett gyorsbillentyűt.

A Quicksave billentyűzetkiosztás használatra kész. Legközelebb, amikor megnyomja kulcs, sorozatos billentyűleütéseket hajtunk végre.

Vegye figyelembe, hogy megváltoztattuk a kulcs globálisan az operációs rendszer egészében, mindaddig, amíg az AutoKey fut és dokkolva van a tálcán. Ahhoz, hogy egy adott ablakra vagy alkalmazásra korlátozhassa, meg kell adnia az ablak szabályait az alul található „Ablakszűrő” gombra kattintva.

Használhatja ugyanazt a fenti szkriptet a gyors betöltéshez is. Csak el kell távolítania a sort a nyílgombot, majd hozzárendeli a szkriptet kulcs.

Ha megfelelő kulcsneveket keres az AutoKey Python 3 parancsfájlokban való felhasználáshoz, az AutoKey-ben használható összes speciális kulcskód listája itt található. Bármely kulcs, amelyet a fenti oldalon nem említenek, beszúrhatók egy vagy dupla idézőjelek segítségével. Példa: billentyűzet.send_key ('5'), billentyűzet.send_key ('p') és így tovább.

2. példa: Igyon két egészségügyi bájitalt egymás után egy szerepjátékban

Feltételezzük, hogy a gyorsbillentyű az egészség főzetét issza a játékban , a szkript a következő lenne:

billentyűzet.send_key ('h', ismétlés = 2)

Az ismétlődő változó értéke bármely más számra is módosítható. Kövesse az első példa lépéseit a parancsfájl hozzárendeléséhez a kívánt gyorsbillentyűhöz.

3. példa: Burst mód fegyverhez egy lövöldözős játékban

 

Az alábbi kód segítségével feltérképezheti kulcs háromszor egymás után lőni a fegyvert. A lövöldözés eredeti módja a bal egérgomb egyszeri megnyomása.

# egérgomb: bal = 1, középső = 2, jobb = 3
egér.click_relative_self (0, 0, 1)
egér.click_relative_self (0, 0, 1)
egér.click_relative_self (0, 0, 1)

A fenti szkript egymás után háromszor hajtja végre az egér bal kattintását. Extra utasításokat lehet hozzáadni, ha a bal kattintást több mint háromszor szeretné végrehajtani.

Kövesse az első példa lépéseit a szkript hozzárendeléséhez gyorsgomb.

4. példa: Hozzon létre egy egyedi játékmenüt / alakítsa a valós idejű játékot körön alapuló játékgá

Az AutoKey listamenü funkcióinak használatával a menüt egy futó játék tetején fedvényként jelenítjük meg. Ez a menü ellopja a játék fókuszát, és visszaadja azt, miután egér kattintással végrehajtotta az egyik menüpontot. Amint a fókusz visszatér, egy automatizált billentyűleütés fog végrehajtódni, amely a játékon belül egy funkciót hív meg.

Vessen egy pillantást erre a képre:

A „GameMenu” mappában létrehoztam egy „Map” nevű almappát. A „GameMenu” és a „Show” mappa egyaránt rendelkezik gyermekelemekkel. Itt van a kód, amelyet az egyes gyermekelemekbe tettem:

  • Készlet: billentyűzet.send_key ('i')
  • Térkép: billentyűzet.send_key ('m')
  • Vissza a játékhoz: billentyűzet.send_key ('')
  • Váltás Assault Rifle: billentyűzetre.send_key ('2')
  • Váltás SMG: billentyűzetre.send_key ('1')

Itt a „GameMenu” mappa van leképezve kulcs, és ez így néz ki a futó játék belsejében:

Mindegyik menüpontnak van egy előtagja a címke előtt. Bármely menüpontot meghívhat a billentyűzet megfelelő számgombjának megnyomásával. Például nyomja meg <2> itt a kulcs a fegyvert gépkarabélyra kapcsolja.

Egy kis GIF-bemutató erről a példáról (kattintson a képre, vagy kattintson a jobb gombbal, és nyissa meg a GIF-et egy új lapon, ha az animáció alább leáll):

Előfordulhat, hogy ez a módszer nem minden játéknál működik, attól függően, hogy miként kezelik az ablakos és a teljes képernyős megjelenítést. Egyes játékok nem szünetelnek, amikor a fókuszt ellopják, míg mások. Ha a játék szünetel, amikor a fókusz elvész, akkor lényegében egy valós idejű játékot turn alapú játékgá alakított át ezzel az AutoKey szkript használatával.

Ez a példa a játékokkal eseti alapon fog működni. A tesztelés során azonban nagyon jó eredményeket értem el mind a natív, mind a Steam Proton / Wine játékokkal.

Következtetés

Az itt említett összes példa alapvető, főleg a Linux-játékosok számára készült. Az AutoKey hatékony API-jának csak egy részét fedik le. Az AutoKey a munkafolyamatok nagy részét automatizálhatja a mindennapi vagy összetett szoftverek szkriptjeivel. Néhány további példa elérhető az alkalmazás hivatalos dokumentációjában.

Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...