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.

A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...
OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...