Guida [GUIDA]AutoHotKey

Stato
Discussione chiusa ad ulteriori risposte.
Il codice dell'rc bot è sbagliato ...
Il codice corretto è questo:
Codice:
[COLOR=#333333]CapsLock::
sleep 5[/COLOR]
Loop 1
{
If not GetKeyState ("CapsLock")
break
Send {Space Down}
sleep 50
Send {Space Up}
Send {3 Up}
sleep 15
send {3 Down}
Send {Space Down}
sleep 50
Send {Space Up} 
[COLOR=#333333]}
[/COLOR]
Gli sleep sono quelli che andavano bene a me, ma sono modificabili(e anche obbligatori visto che senza il bot non funge).
 
Salve. Uso già AHK per il remap della tastiera, tuttivia mi si è presentata ultimamente un'altra esigenza: vorrei scrivere uno script molto semplice che rimanga in esecuzione fino a quando non viene terminato dalla barra delle applicazioni e che mi permette di creare un loop su di un particolare input. Mi spiego meglio : ho uno script di questo tipo:

x::space
z::space

che mi permette di spostare su "x" e ''z'' lo space della tastiera. La mia esigenza consiste nel fatto che alla pressione del tasto "x" oppure "z" lo space, piuttosto che una volta, venga eseguito in automatico 2,3,4,.........,n volte , e questo solo con una pressione unica del tasto x o z. Ad esempio premendo una volta x mi aspetto che dalla tastiera parte un doppio input che mi esegue due volte lo space in luogo di uno solo. Qualcuno potrebbe essere così gentile da postarmi due righe di codice che permettono di raggiungere il mio intento ?
Grazie in anticipo.
 
Salve. Uso già AHK per il remap della tastiera, tuttivia mi si è presentata ultimamente un'altra esigenza: vorrei scrivere uno script molto semplice che rimanga in esecuzione fino a quando non viene terminato dalla barra delle applicazioni e che mi permette di creare un loop su di un particolare input. Mi spiego meglio : ho uno script di questo tipo:

x::space
z::space

che mi permette di spostare su "x" e ''z'' lo space della tastiera. La mia esigenza consiste nel fatto che alla pressione del tasto "x" oppure "z" lo space, piuttosto che una volta, venga eseguito in automatico 2,3,4,.........,n volte , e questo solo con una pressione unica del tasto x o z. Ad esempio premendo una volta x mi aspetto che dalla tastiera parte un doppio input che mi esegue due volte lo space in luogo di uno solo. Qualcuno potrebbe essere così gentile da postarmi due righe di codice che permettono di raggiungere il mio intento ?
Grazie in anticipo.
Beh, se vuoi che premendo "x" o "z" venga premuto più volte lo spazio (se ho capito bene cosa intendi) ti basta inserire un Loop per ogni HotKey. Mi spiego:
Codice:
$x::
Loop 2
Send, space
$z::
Loop 3
Send, space
In questo modo se premerai "x" ripeterà lo spazio 2 volte (perché ho scritto "Loop 2") e se premi "z" lo ripeterà 3 volte (Loop 3). Se lo vuoi far ripetere all'infinito basta mettere "Loop" senza alcun numero. Se vuoi cambiare il numero di volte in cui premerà space, basta modificare la cifra accanto a Loop
;)
 
Ho aggiunto quindi il seguente codice al mio script ottenendo questo:

Alt::space
z::space
x::f8


$x::
Loop 2
Send, space
$z::
Loop 3
Send, space

Mandando in esecuzione tuttavia si presenta una situazione del tipo: premo alt e mi fa spazio tra caratteri, mentre premendo "x" o "z" mi scrive semplicemente "space" iterato 2 e tre volte rispettivamente. Quale è il problema?

- - - Updated - - -

Sono riuscito a risolvere in parte il problema. Smanettando un po ho riscritto in questo modo:

x::f8
z::Send {Space}{Space}{Space}{Space}{Space}{Space}{Space}
Alt::space

L'ho provato in un semplice file di testo e sembra andare (premendo z in mezzo ad una serie di caratteri essi vengono distanziati di 7 space come se avessi premuto per sette volte lo space stesso). Il problema rimane quando provo ad usufruire dello script all'interno di una applicazione: alt viene riconosciuto come space, x come f8, mentre premendo z non succede nulla. Come posso risolvere ? Grazie.
 
Non gioco più ad S4, dimmi i tasti da premere e te lo faccio..

Probabilmente il programma non ti legge i tasti. Se mi dici il nome del gioco/programma ti posso aiutare meglio

I tasti sarebbero space - reload e poi spari facendo il pushback ma a me va bene anche reload e poi cambia arma.
Arma da fare rc 1 arma che cambia dopo il rc la 2
=)
Ecco un video del pushback:
watch

Se non si vede:
S4 League - Asura Pushback Tutorial - YouTube
Addami su skype pls:
CrazyGiGix
 
Ultima modifica:
Mi serve il codice per l'air hug da modificarmi da solo, quello nella pagina 2 non worka dà un errore loop.
Poi per l'air hug quanto ci andrebbe di sleep tra 1 comando e l'altro?
 
I tasti sarebbero space - reload e poi spari facendo il pushback ma a me va bene anche reload e poi cambia arma.
Arma da fare rc 1 arma che cambia dopo il rc la 2
=)
Ecco un video del pushback:
watch

Se non si vede:
S4 League - Asura Pushback Tutorial - YouTube
Addami su skype pls:
CrazyGiGix
Sì, lo conoscevo..
Ecco il codice :
Codice:
L[COLOR=#333333]Alt::
Loop 1
{
if not getkeystate("Alt")
break
[/COLOR][COLOR=#333333]send 1w{space down}{space up}{space down}{space up}3{space down}{space up}1
[/COLOR]}

In questo modo il bot farà il reload cancel per poi ritrovarsi all'arma iniziale (slot 1).
Tu non dovrai far altro che mettere l'hand gun nel 1° slot, mettere l'arma da ricaricare nel 3°,saltare verso il muro, premere Alt e fare il pushback.

Il nome del gioco è worms armageddon.....mi serve un doppio space su Alt o LWin per esempio
Il codice è questo:
Codice:
LAlt::
Loop 1
send, {space down}{space up}{space down}{space up}
WinLogo::
LAlt
In questo modo sia premendo Alt che premendo WinLogo (il tasto tra Alt e Ctrl) il bot premerà per 2 volte lo spazio.
Se il bot non va, probabilmente il tuo gioco non legge i bot in AHK.
Mi serve il codice per l'air hug da modificarmi da solo, quello nella pagina 2 non worka dà un errore loop.
Poi per l'air hug quanto ci andrebbe di sleep tra 1 comando e l'altro?
Riguardo all'airhug, puoi mettere gli sleep che vuoi, basta anche 1 millisecondo.
Il codice della prima pagina quando l'ho testato andava bene, ma anche se non andasse bene Blackey ne ha postato uno che ha testato. Ovvero:

Codice:
CapsLock::
sleep 5
[/COLOR]Loop 1
{
If not GetKeyState ("CapsLock")
break
Send {Space Down}
sleep 50
Send {Space Up}
Send {3 Up}
sleep 15
send {3 Down}
Send {Space Down}
sleep 50
Send {Space Up} 
[COLOR=#333333]}
 
  • Mi piace
Reazioni: ™Cataclisma™.
Sì, lo conoscevo..
Ecco il codice :
Codice:
L[COLOR=#333333]Alt::
Loop 1
{
if not getkeystate("Alt")
break
[/COLOR][COLOR=#333333]send 1w{space down}{space up}{space down}{space up}3{space down}{space up}1
[/COLOR]}

In questo modo il bot farà il reload cancel per poi ritrovarsi all'arma iniziale (slot 1).
Tu non dovrai far altro che mettere l'hand gun nel 1° slot, mettere l'arma da ricaricare nel 3°,saltare verso il muro, premere Alt e fare il pushback.


Il codice è questo:
Codice:
LAlt::
Loop 1
send, {space down}{space up}{space down}{space up}
WinLogo::
LAlt
In questo modo sia premendo Alt che premendo WinLogo (il tasto tra Alt e Ctrl) il bot premerà per 2 volte lo spazio.
Se il bot non va, probabilmente il tuo gioco non legge i bot in AHK.

Riguardo all'airhug, puoi mettere gli sleep che vuoi, basta anche 1 millisecondo.
Il codice della prima pagina quando l'ho testato andava bene, ma anche se non andasse bene Blackey ne ha postato uno che ha testato. Ovvero:

Codice:
CapsLock::
sleep 5
Codice:
Loop 1
{
If not GetKeyState ("CapsLock")
break
Send {Space Down}
sleep 50
Send {Space Up}
Send {3 Up}
sleep 15
send {3 Down}
Send {Space Down}
sleep 50
Send {Space Up} 
[COLOR=#333333]}[/COLOR]
Grazie mille =)

- - - Updated - - -

Grazie mille =)
Provato e non funge =O
 
pixel io dovrei mandare il click sinistro giù e non farlo risalire, come faccio? non metto il ''if not....'' o a posto di send và un'altra cosa?
 
Ultima modifica da un moderatore:
pixel io dovrei mandare il click sinistro giù e non farlo risalire, come faccio? non metto il ''if not....'' o a posto di send và un'altra cosa?
Codice:
LAlt::
send {space down}
 
Intendo dire se è possibile ad esempio avere lo space sul tasto sinistro del mouse, in modo che premendo il mouse in realtà sto premendo lo space della tastiera, in altre parole anzichè mettere lo space su un'altro tasto della tastiera con il classico remap lo vorrei mettere direttamente sul tasto del mouse.
 
mettiamo che io abbia creato un nuovo ahk script sul desktop tramite tasto destro -> nuovo -> ahk script, poi lo abbia salvato, adesso come faccio a cambiare l'icona con la quale verrà reso eseguibile? ovvero invece di quel quadrato con la h in mezzo vorrei mettere un icona mia.
 
Stato
Discussione chiusa ad ulteriori risposte.