Hey Epvpers!
Heute will ich euch zeigen, wie ihr einen "fortgeschrittenen" Nostale Bot erstellen könnt.
Beinhalten soll er, dass er (natürlich) angreift, er nur im Nostale Fenster arbeitet und das wir selbst entscheiden können, wie lange und in welchen Zeitabständen sich der Charakter setzen soll.
Was wird benötigt?
AutoIT
Nachdem wir AutoIT runtergeladen haben, öffnen wir das Programm SciTE Script Editor (das Programm wird automatisch mit AutoIT runtergeladen.
Und schon können wir anfangen zu scripten:
Schritt 1: Das Programm soll wiederholt Leertaste drücken.
Damit das Programm wiederholt die Leertaste drückt, müssen wir erst eine Schleife in das Programm schreiben. Schleifen werden While genannt.
Wir schreiben While und in der nächsten Zeile was in der Schleife stehen soll. In unserem Fall soll das Programm wiederholt die Leertaste drücken, und 500 Millisekunden zwischen dem nächsten Knopfdruck warten.
Also schreiben wir:
In den {} steht die Taste, die gedrückt wird. In diesem Fall also Space (Englisch für Leertaste)
Der Befehl Sleep steht dafür, wie lange das Programm "schläft". Dabei ist es wichtig, dass die Zahl in Millisekunden angegeben wird.
Schritt 1: Erledigt!
Schritt 2: Das Programm soll nur in Nostale arbeiten.
Damit das Programm nur in Nostale die Befehle ausführt, müssen wir erst wissen, wie das Fenster heißt. Also: NosTale
Dafür schreiben wir zuerst AutoITSetOption("WinTitleMatchMode", 4). In der nächsten Zeile, kommt der fenstername rein. Wir schreiben $windowname=NosTale so weiß das Programm, in welchem Fenster es arbeiten soll. Nun müssen wir noch einen "Error-Melder" einbauen. Dieser soll erscheinen, wenn das Fenster nicht gefunden wurde.
Wir schreiben: $handle = WinGetHandle($windowname, "")Und in der nächsten Zeile: If @error thenAlles was wir nun schreiben, passiert falls das Fenster nicht gefunden wird. Bei uns soll eine MessageBox erscheinen, in der steht, dass Nostale nicht gefunden wurde. Wir schreiben: MsgBox(4096, "Error!", "NosTale konnte nicht gefunden werden." Nun müssen wir den "Error-Melder" beenden, damit die nachfolgenden Funktionen nicht dann auftreten, wenn der Error aktiv ist. Wir beenden den Error mit Else
Der Script sollte etwa so aussehen:
Schritt 2: Erledigt!
Schritt 3: Wir sollen selbst eingeben, wann man sich hinsetzt.
Dafür wird der Begriff Timer benötigt.
Wir schreiben in unser Script: $timer1 = TimerInit () Jetzt brauchen wir eine Schleife, damit er sich wiederholt hinsetzt und aufsteht. In die Schleife schreiben wir:
If TimerDiff ($timer1) > 5000 then
MsgBox (0,"","5 sekunden sind vergangen")
$timer1 = TimerInit()
EndIf
WEnd
Mit WEnd wird die Schleife beendet.
Nun kommt der Teil, indem der Nutzer entscheiden kann, wie lange der Charakter kämpft bevor er sich hinsetzt und wie lange er sitzt. Dafür schreiben wir: $ZeitLeveln = InputBox("Wie lange soll der Charakter leveln bevor er sich hinsetzt? (Zeit in Millisekunden)"
und
$ZeitSchlafen = InputBox("Wie lange soll der Charakter sitzen? (Zeit in Millisekunden)"
Unter den beiden Zeilen schreiben wir nochmals den Befehl $timer1 = TimerInit () Nun müssen wir bestimmen, welche Tasten nach Ablauf der eingegebenen Zeit gedrückt werden sollen. Dafür öffnen wir eine Schleife mit While und schreiben diesen Script hinein: If TimerDiff ($timer1) > $ZeitLeveln then
Send ("{T}")
Sleep ($ZeitSchlafen)
Send ("{C}")
$timer1 = TimerInit ()
EndIf
Send ("Erfolgreich!")
WEnd
Sobald die Zeit vom $timer1 abgelaufen ist, wird die Taste "T" gedrückt. Wenn die Zeit vom $ZeitSchlafen abgelaufen ist, wird die Taste "C" gedrückt. Wenn alles erfolgreich abgelaufen ist, erscheint der Text "Erfolgreich!" Und die Schleife wird beendet.
Schritt 3: Erledigt!
Ich hoffe dieses kleine Tutorial hat euch geholfen, die einzelnen Begriffe von AutoIT besser zu verstehen.
Den kompletten Bot findet Ihr nochmal am Ende dieses Threads.
Script:
Heute will ich euch zeigen, wie ihr einen "fortgeschrittenen" Nostale Bot erstellen könnt.
Beinhalten soll er, dass er (natürlich) angreift, er nur im Nostale Fenster arbeitet und das wir selbst entscheiden können, wie lange und in welchen Zeitabständen sich der Charakter setzen soll.
Was wird benötigt?
AutoIT
Nachdem wir AutoIT runtergeladen haben, öffnen wir das Programm SciTE Script Editor (das Programm wird automatisch mit AutoIT runtergeladen.
Und schon können wir anfangen zu scripten:
Schritt 1: Das Programm soll wiederholt Leertaste drücken.
Damit das Programm wiederholt die Leertaste drückt, müssen wir erst eine Schleife in das Programm schreiben. Schleifen werden While genannt.
Wir schreiben While und in der nächsten Zeile was in der Schleife stehen soll. In unserem Fall soll das Programm wiederholt die Leertaste drücken, und 500 Millisekunden zwischen dem nächsten Knopfdruck warten.
Also schreiben wir:
In den {} steht die Taste, die gedrückt wird. In diesem Fall also Space (Englisch für Leertaste)
Der Befehl Sleep steht dafür, wie lange das Programm "schläft". Dabei ist es wichtig, dass die Zahl in Millisekunden angegeben wird.
Schritt 1: Erledigt!
Schritt 2: Das Programm soll nur in Nostale arbeiten.
Damit das Programm nur in Nostale die Befehle ausführt, müssen wir erst wissen, wie das Fenster heißt. Also: NosTale
Dafür schreiben wir zuerst AutoITSetOption("WinTitleMatchMode", 4). In der nächsten Zeile, kommt der fenstername rein. Wir schreiben $windowname=NosTale so weiß das Programm, in welchem Fenster es arbeiten soll. Nun müssen wir noch einen "Error-Melder" einbauen. Dieser soll erscheinen, wenn das Fenster nicht gefunden wurde.
Wir schreiben: $handle = WinGetHandle($windowname, "")Und in der nächsten Zeile: If @error thenAlles was wir nun schreiben, passiert falls das Fenster nicht gefunden wird. Bei uns soll eine MessageBox erscheinen, in der steht, dass Nostale nicht gefunden wurde. Wir schreiben: MsgBox(4096, "Error!", "NosTale konnte nicht gefunden werden." Nun müssen wir den "Error-Melder" beenden, damit die nachfolgenden Funktionen nicht dann auftreten, wenn der Error aktiv ist. Wir beenden den Error mit Else
Der Script sollte etwa so aussehen:
Schritt 2: Erledigt!
Schritt 3: Wir sollen selbst eingeben, wann man sich hinsetzt.
Dafür wird der Begriff Timer benötigt.
Wir schreiben in unser Script: $timer1 = TimerInit () Jetzt brauchen wir eine Schleife, damit er sich wiederholt hinsetzt und aufsteht. In die Schleife schreiben wir:
If TimerDiff ($timer1) > 5000 then
MsgBox (0,"","5 sekunden sind vergangen")
$timer1 = TimerInit()
EndIf
WEnd
Mit WEnd wird die Schleife beendet.
Nun kommt der Teil, indem der Nutzer entscheiden kann, wie lange der Charakter kämpft bevor er sich hinsetzt und wie lange er sitzt. Dafür schreiben wir: $ZeitLeveln = InputBox("Wie lange soll der Charakter leveln bevor er sich hinsetzt? (Zeit in Millisekunden)"
und
$ZeitSchlafen = InputBox("Wie lange soll der Charakter sitzen? (Zeit in Millisekunden)"
Unter den beiden Zeilen schreiben wir nochmals den Befehl $timer1 = TimerInit () Nun müssen wir bestimmen, welche Tasten nach Ablauf der eingegebenen Zeit gedrückt werden sollen. Dafür öffnen wir eine Schleife mit While und schreiben diesen Script hinein: If TimerDiff ($timer1) > $ZeitLeveln then
Send ("{T}")
Sleep ($ZeitSchlafen)
Send ("{C}")
$timer1 = TimerInit ()
EndIf
Send ("Erfolgreich!")
WEnd
Sobald die Zeit vom $timer1 abgelaufen ist, wird die Taste "T" gedrückt. Wenn die Zeit vom $ZeitSchlafen abgelaufen ist, wird die Taste "C" gedrückt. Wenn alles erfolgreich abgelaufen ist, erscheint der Text "Erfolgreich!" Und die Schleife wird beendet.
Schritt 3: Erledigt!
Ich hoffe dieses kleine Tutorial hat euch geholfen, die einzelnen Begriffe von AutoIT besser zu verstehen.
Den kompletten Bot findet Ihr nochmal am Ende dieses Threads.
Script:






