Giochi

Come utilizzare AutoKey per automatizzare i giochi Linux

Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, puoi automatizzare la pressione dei tasti, i clic del mouse e la maggior parte delle parti di un'interfaccia desktop. Se stai cercando un'alternativa al programma Windows AutoHotkey, AutoKey è la migliore opzione disponibile oggi per gli utenti Linux.

Nota che questa è solo un'applicazione X11, il supporto Wayland non è stato aggiunto all'applicazione al momento della stesura di questo articolo.

Alcune delle funzionalità di AutoKey sono:

Questa guida ti mostrerà alcuni esempi di AutoKey utili per i giocatori Linux. Per iniziare, installiamo i pacchetti Autokey Ubuntu dalla sua pagina GitHub. Scarica i file menzionati di seguito da qui

Dopo aver scaricato i file, eseguire i seguenti comandi nell'ordine:

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

Esempio 1: impostazione Tasto per il salvataggio automatico del gioco

È comune vedere molti giochi per PC che usano tasto per il salvataggio rapido e per un caricamento rapido. Tuttavia, molti altri giochi per PC, in particolare le porte della console, hanno un modo noioso per salvare il gioco in cui devi navigare tra più opzioni di menu. Ecco un rapido mockup che ho disegnato che lo illustra (scusate le mie capacità di disegno):

Il gioco vuole che tu colpisca tasto per mettere in pausa il gioco, quindi tasto freccia, quindi tasto per salvare il gioco, seguito da di nuovo il tasto per tornare al gioco. L'intero processo può essere facilmente automatizzato e mappato a chiave utilizzando AutoKey. Dai un'occhiata al codice dello script qui sotto:

tempo di importazione
tastiera.send_key('')
tempo.dormire (0.25)
tastiera.send_key('')
tempo.dormire (0.25)
tastiera.send_key('')
tempo.dormire (0.25)
tastiera.send_key('')

Per aggiungere questo script a AutoKey, avvia l'app e quindi fai clic su una cartella visibile o fai clic su una cartella personalizzata creata da te per evidenziarla. Clicca su File > Nuovo > Script opzione di menu per creare un nuovo script all'interno di quella cartella, come mostrato nella schermata seguente:

Rinomina questo script in "Salvataggio rapido" e inserisci il codice sopra al suo interno. Quindi fare clic sul pulsante "Hotkey" in basso, come mostrato nello screenshot qui sotto:

Nella schermata successiva, fai clic sul pulsante "Premi per impostare" e quindi premi chiave per mapparlo allo script.

"Chiave: (Nessuno)" cambierà in "Chiave: ".

Fare clic su "OK" e premere per salvare lo script. Ricorda sempre di salvare lo script altrimenti non verrà eseguito nulla quando premi il tasto di scelta rapida mappato.

La mappatura dei tasti di salvataggio rapido è ora pronta per essere utilizzata. La prossima volta quando premi tasto, verrà eseguita una serie di pressioni di tasti in ordine.

Nota che abbiamo cambiato la funzionalità di chiave a livello globale in tutto il sistema operativo, purché AutoKey sia in esecuzione e agganciato alla barra delle applicazioni. Per limitarlo a una particolare finestra o applicazione, dovrai specificare le regole della finestra facendo clic sul pulsante "Filtro finestra" in basso.

Puoi usare lo stesso script sopra per creare anche uno script per il caricamento rapido. Devi solo rimuovere la linea per tasto freccia e quindi mappare lo script su chiave.

Se stai cercando i nomi di chiave corretti da utilizzare negli script AutoKey Python 3, puoi trovare un elenco di tutti i codici chiave speciali utilizzabili in AutoKey qui. Qualsiasi chiave non menzionata nella pagina sopra può essere inserita utilizzando virgolette singole o doppie. Esempio: tastiera.send_key('5'), tastiera.send_key('p') e così via.

Esempio 2: bere due pozioni di salute di seguito in un gioco di ruolo

Supponendo che il tasto di scelta rapida per bere la pozione della salute nel tuo gioco sia , lo script sarebbe:

tastiera.send_key('h', ripeti=2)

Il valore della variabile di ripetizione può essere modificato anche con qualsiasi altro numero. Puoi seguire i passaggi nel primo esempio per mappare lo script sul tasto di scelta rapida desiderato.

Esempio 3: modalità Burst per pistola in un gioco sparatutto

 

Usando il codice qui sotto, puoi mappare chiave per sparare tre volte di fila. Il modo originale per sparare nel gioco è premere il tasto sinistro del mouse una volta.

# pulsanti del mouse: sinistro=1, centrale=2, destro=3
topo.click_relative_self(0, 0, 1)
topo.click_relative_self(0, 0, 1)
topo.click_relative_self(0, 0, 1)

Lo script precedente eseguirà il clic sinistro del mouse tre volte di seguito. È possibile aggiungere istruzioni extra se si desidera eseguire il clic sinistro più di tre volte.

Puoi seguire i passaggi nel primo esempio per mappare lo script a tasto di scelta rapida.

Esempio 4: creare un menu di gioco personalizzato/trasformare una partita in tempo reale in una partita a turni

Utilizzando la funzionalità del menu elenco di AutoKey, mostreremo un menu come sovrapposizione sopra un gioco in esecuzione. Questo menu ruberà il focus dal gioco e lo restituirà dopo che un clic del mouse viene eseguito su una delle voci del menu. Una volta restituito il focus, verrà eseguita una sequenza di tasti automatica che richiama una funzione all'interno del gioco.

Dai un'occhiata a questa immagine:

Nella cartella "GameMenu", ho creato una sottocartella chiamata "Show". Sia la cartella "GameMenu" che la cartella "Show" hanno elementi figlio. Ecco il codice che ho inserito all'interno di ogni articolo figlio:

  • Inventario: tastiera.send_key('io')
  • Mappa: tastiera.send_key('m')
  • Ritorno al gioco: tastiera.send_key('')
  • Passa al fucile d'assalto: tastiera.send_key('2')
  • Passa a SMG: tastiera.send_key('1')

Qui la cartella "GameMenu" è mappata a key e questo è come appare all'interno del gioco in esecuzione:

Ogni voce di menu ha un numero preceduto dalla sua etichetta. Puoi richiamare qualsiasi voce di menu premendo il tasto numerico corrispondente sulla tastiera. Ad esempio, premendo <2> la chiave qui cambierà la pistola in fucile d'assalto.

Una piccola demo GIF di questo esempio (fai clic sull'immagine o fai clic con il pulsante destro del mouse e apri la GIF in una nuova scheda se l'animazione si interrompe sotto):

Questo metodo potrebbe non funzionare con tutti i giochi, a seconda del modo in cui gestiscono il rendering in finestra e a schermo intero. Alcuni giochi non si mettono in pausa quando viene rubato il focus, mentre altri lo fanno. Se il gioco si interrompe quando si perde il focus, hai essenzialmente convertito un gioco in tempo reale in un gioco a turni usando questo script AutoKey.

Questo esempio funzionerà con i giochi caso per caso. Tuttavia, nei miei test, ho ottenuto risultati piuttosto buoni sia con i giochi nativi che con Steam Proton / Wine.

Conclusione

Tutti gli esempi qui menzionati sono di base, principalmente focalizzati per i giocatori Linux. Coprono solo una parte della potente API di AutoKey. AutoKey può automatizzare gran parte del tuo flusso di lavoro utilizzando le sue funzionalità di scripting anche per software di uso quotidiano o complesso. Alcuni altri esempi sono disponibili nella documentazione ufficiale dell'app.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...