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:
AutoItSetOption("WinTitleMatchMode", 4)
$windowname="NosTale"
$handle = WinGetHandle($windowname, "")
If @error Then
MsgBox(4096, "Error!", "NosTale konnte nicht gefunden werden.")
Else
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.
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
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
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 ...
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? ^^
[C#]Gibts Tutorial für Spiele erstellen oder Hacks erstellen? 05/01/2011 - .NET Languages - 19 Replies Hey gibs hier in epvp Tutorials wie man Ein Spiel erstellt z.B. einen Shooter und wie man einen Hack erstellt?
Oder habt ihr auf Youtube iwas gefunden?
Naja Hoffe auf Antwort :D
Das ganze mit C#
Und ich meine keine Minigames sondern eher große Spiele.
THX iM VORRAUS
[S] Fortgeschrittenen GFX'ler [B] PSC, Elite Gold 03/19/2011 - elite*gold Trading - 0 Replies Hey GFX'ler.
ich würde am liebsten alles privat klären also addte mich oder joint auf mein Ts server.
Teamspeak 3 : 62.146.10.145:9734
Icq: Siehe Signatur!
Es geht um ein Team Logo.
[How to] Maps erstellen tutorial 11/27/2010 - Metin2 PServer Guides & Strategies - 37 Replies Hallo liebe Com,
Da wie ihr wisst Babycake. das alte Tutorial How to Maps erstellen weekly update gelöscht hat mache ich hier eine Neufassung.
In diesem Tutorial wird euch Schritt für Schritt erklärt wie ihr euch eine eigene Map erstellt und sie online bringt. (Videotutorial folgt)
1) Was brauche ich alles um eine map zu erstellen?
- Ihr braucht relativ wenig !
[Tutorial] Registrierungsseite erstellen 05/16/2009 - Flyff Private Server - 63 Replies Huhu, da ich grad massig Zeit und langeweile habe, möcht ich euch mal erklären wie mann ne eigene Registrierungsseite für euren PServer macht :D
Alsuh,
Registrierungsseite erstellen für Dummies - VEBRESSERT! :D
Als erstes ziehen wir uns Xampp (wo downloaden? google=>xampp xD)
oder da draufklicken:
XAMPP Lite
[Tutorial] Quests erstellen! [How to] 04/19/2009 - WoW Private Server - 15 Replies Huhu eine kurze Erklärung für alles beim Quest erstellen :)
Anleitung:
1. Erklärung zu allen Spalten in quests
2. Quest erstellen
3. NPC die Quest zuteilen
4. Downloads *New*