Creare fottutissimi bot in AutoIt: Le basi #1

Luca Cicchinelli/ dicembre 28, 2016/ Developing/ 0 comments

Un bot non previsto dal gioco ma installato a parte può essere usato dal giocatore per imbrogliare; ad esempio nei giochi online multiplayer i bot possono essere sfruttati per giocare al posto della persona quando non è al computer, accumulando punti esperienza e dando un vantaggio sui giocatori normali. –Wikipedia

Quante volte vi sono andati in cancrena il braccio, la mano e l’indice a forza di aprire ostriche sul vostro retroserver preferito di Metin2? 

Oppure semplicemente non volete più distruggervi i polpastrelli per usare quelle dannatissime pozioni rosse?

Bella pe voi, siete nel posto giusto.

 

  1. Innanzitutto dovrete installare AutoIt: [x]
  2. Finita l’installazione aprite SciTE, l’editor dove andrete a scrivere il vostro bot.
  3. Siete finalmente pronti a farvi bannare.

Le funzioni di cui avrete più bisogno, che andremo successivamente ad analizzare singolarmente, sono queste:

  • MouseClick
  • MouseMove
  • MouseGetPos
  • Send
  • Sleep

Mentre le strutture di controllo che utilizzeremo sono queste:

  • If, Else, EndIf
  • For, To, Next
  • While, Wend

Per eseguire i vostri bot vi basterà premere F5 quando avrete finito di scrivere il codice all’interno di SciTE.

Se vorrete compilare il vostro bot così da averlo in versione eseguibile e poterlo avviare su un altro pc dove non è installato AutoIt vi basterà cliccare con il tasto destro sul vostro file .au3 e selezionare Compile Script e magicamente vi apparirà dal nulla il vostro bellissimo file eseguibile da chiunque attraverso un semplice doppio click.

Ciclo For

Per creare un ciclo finito numerato dovremo utilizzare For, To, Next:

For $i = 1 To 10

    ConsoleWrite("howorks.org")

Next
  • For dovrà essere seguito da una variabile contenente il valore da cui vorrete iniziare a contare.
  • To dovrà essere seguito dal numero di volte che vorrete eseguire le istruzioni comprese tra For e Next, quest’ ultimo determinerà infatti la chiusura del loop e permetterà allo script di proseguire una volta che il ciclo è stato eseguito tante volte quanto precedentemente deciso.

NB: Richiamando $i all’interno del loop vi ritornerà il numero di volte che è già stato eseguito il ciclo.

Ciclo While

Per creare un ciclo infinito dovremo utilizzare While, Wend:

While 1

    ConsoleWrite("howorks.org")

Wend
  • Questo loop verrà eseguito fin quando l’istruzione dopo While sarà verificata, scrivendo While 1 è come se stessimo scrivendo While 1 == 1 di conseguenza il ciclo non si interromperà mai.
  • Wend determina la fine delle istruzioni contenenti nel loop.

NB: Ogni volta che starterete uno script vi ritroverete un icona di AutoIt in basso a destra, per fermare l’esecuzione di un ciclo While infinito o comunque per fermare un qualsiasi script vi basterà cliccare sull’icona e selezionare Exit.

Controllo If

Per determinare cosa deve fare lo script se una istruzione è uguale/diversa/minore/maggiore di qualcosa dovremo utilizzare If, Else, EndIf:

$rand = Random(1, 5, 1)

If $rand = 1 Then
    
    ConsoleWrite('1')

Else

    ConsoleWrite('> di 1')

EndIf
  • La funzione Random crea un numero intero random compreso tra 1 e 5.
  • If controlla se la variabile contenente il numero random equivale ad 1, se l’istruzione è verificata, o meglio è vera, lo script esegue la porzione di codice che si troverà dopo Then.
  • Se l’istruzione dopo l’ If non è verificata, il che vuol dire che la variabile non equivale ad 1, lo script esegue la porzione di codice che si troverà dopo Else.
  • EndIf determina la fine della struttura di controllo.

NB: In questo tipo di controlli possiamo utilizzare gli Operatori Logici [x]

Nel caso in cui avremo bisogno di controllare più istruzioni utilizzeremo ElseIf:

$rand = Random(1, 5, 1)

If $rand = 1 Then

    ConsoleWrite('1')

ElseIf $rand = 2 Then

    ConsoleWrite('2')

Else

    ConsoleWrite('> di 2')

EndIf

 

[Seconda parte]

Facci sapere cosa ne pensi con un commento!