[Tutorial]Fortgeschrittenen Bot erstellen.

08/12/2011 01:15 RussianMM#1
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:
08/12/2011 01:23 eyyy#2
bots erstellen ist nicht so schwer ^^ ich beschäftigemich mit c++ heute 7tag und ich kann die while schleife sogar die for und die do-while dies aber nicht immer nötig xD naja trotzdem gut das du dir mühe gemacht hast =]

apropo mit c++ ginge es anders while ist in dem falle nicht 1 = 1 =) müsste ein do erstmal und dadrunter while 1=1 XD soviel zu do-while schleife
08/12/2011 01:27 Deledt#3
Erst mal Cool das du dir die Mühe gemacht hast könntest an machen stellen noch besser erklären aber passt schon <.<
Quote:
bots erstellen ist nicht so schwer ^^ ich beschäftigemich mit c++ heute 7tag und ich kann die while schleife sogar die for und die do-while dies aber nicht immer nötig xD naja trotzdem gut das du dir mühe gemacht hast =]
in 7 Tage For , While , DO While schleifen nicht gerade einer der schnellen sorte xD
08/12/2011 01:30 eyyy#4
och naja wie mans nimmt oder ? ^^

ich hab ja auch noch was anderes also ich kenne mich noch mehr aus also nur mit den schleifen

ich versuch das mit c++ gerade zu schreiben fehlt nicht mehr viel ^^ paar fehler korrigieren
08/12/2011 02:12 ¿Freaky¿#5
Hey,
tut mir leid das ich dich jetzt leider etwas runtermachen muss damit hier entlich alle verstehen die es noch nicht verstanden haben was man bei einem Thread erstellen zu beachten hat.

1. SuFu (für etwas nicht intelligente, Such Funktion) benutzen zu dem Thema welches man erstellen möchte. Wenn nicht gefunden, weiter zu Punkt 2.
2. Google benutzen zu dem Thema welches man erstellen möchte. Wenn nicht gefunden, weiter zu Punkt 3.
3. Überlegen was man genau publizieren möchte. Nach dem den Titel ordentlich aussuchen.

So, das sind eigentlich die wichtigesten Sachen zuerst die man beachten sollte.
Das Problem bei dir ist, das sowas 234567 mal gepostet wurde. In Epvp (Punkt 1) und andere Foren (Punkt 2).
Dazu heißt es bei dir ja "[Tutorial]Fortgeschrittenen Bot erstellen.". Wo ist den bei das Fortgeschritten? Ja ok, wenn du vor guten 2-3 Jahren damit hier angetanz wärst, dann würde man es noch durchgelesen lassen. Aber mitlerweile sind wir bei den Geschichten Memory und Pakets ...
Und auf dein Code möchte ich erst garnicht eingehen.
Wenn man was sinvolles schreiben möchte, im AutoIt Bereich von ePvP gibt es gute Tutorials zu AutoIt von NetMax die sogar gepinnt sind ...

Wenn du diesen Text bis zum Ende gelesen hast, und nicht schon bei "Hey," aufgehört hast, dann klick oben bei deinem ersten Post auf "Bearbeiten" und lösch den Thread ...
08/12/2011 10:07 SuicideCookie™#6
Von Nosblubb geklaut paar Rechtschreibfehler reingebracht naja wenigstens nicht alles geklaut, und lern erstmal wie man AutoIt schreibt^^
08/12/2011 12:14 RussianMM#7
Quote:
Originally Posted by ¿Freaky¿ View Post
Wenn du diesen Text bis zum Ende gelesen hast, und nicht schon bei "Hey," aufgehört hast, dann klick oben bei deinem ersten Post auf "Bearbeiten" und lösch den Thread ...
Ich werde den nicht löschen. ;)


@Styler334 Öööhm... Was ist Nosblubb? Meinste das Nosboard? ^^
08/12/2011 14:08 SuicideCookie™#8
Nosblubb ist Nosh*cks
Und das Script ist exakt das Skript aus nem Tut von NetMax.
08/12/2011 18:17 RussianMM#9
Quote:
Originally Posted by Styler334 View Post
Nosblubb ist Nosh*cks
Und das Script ist exakt das Skript aus nem Tut von NetMax.
Oh... schön für Netmax :)
08/12/2011 18:23 SuicideCookie™#10
Der kann dich zur Anzeige bringen,
das zählt als Diebstahl Mr. Neunmalschlau
08/12/2011 18:43 RussianMM#11
Quote:
Originally Posted by Styler334 View Post
Der kann dich zur Anzeige bringen,
das zählt als Diebstahl Mr. Neunmalschlau
ÖÖhm schön :)
Und ich hab nie gesagt das ich mich schlau fühle (und ich bin auch nich dumm ;D) Mr. Neunmalschlau
08/12/2011 18:52 Δbraxas#12
Sachen von anderen klauen ohne sie zu erwähnen ist böse - Mhkay?
Und wirklich fortgeschritten ist dieser Bot auch nicht...
08/12/2011 18:58 Rorc#13
Na, wenn ihr sagt, dass es geklaut ist.

#close