[HOW To] pickup BOT scripten mit AutoIt

07/01/2010 22:21 Baratoik#1
Hallo es ist mal wieder so weit, heute werde ich euch zeigen, wie man mit ganz einfachen Sachen einen eigenen Pickup BOT scripten kann!

Fangen wir doch einmal mit den Materialien an!

Wir benötigen AutoIt und Grundwissen!

Die Tasten, die man benötigt, um Gegenstände aufzusammeln kennt ihr ja!

Für die, die es noch nicht wissen
=> Die y und ^ Taste sind zum aufheben da!

Wenn ihr euch jetzt einmal eine Taste ausgesucht habt, dann legen wir auch gleich einmal los die Wait Funktion zu scripten!

Die Wait Funktion ist da, dass der BOT nicht schon früher Aktiviert werden kann, bevor METIN2 geöffnet ist!

HTML Code:
$Fenstername = InputBox("","Wie lautet der Metin2 Fenstername bei euch?")
WinWaitActive($Fenstername)
So, dass hätten wir dann schon mal erledigt! Jetzt fehlt nur noch das Grundgerüst zum Aufsammeln!

Dazu ergänzen wir die Schaltung!
Unter dem bis jetzt geschrieben scripts schreiben wir folgendes!

HTML Code:
func start()
while(1)
Send("{^}")
sleep(100)
WEnd
EndFunc
Wie euch bereits aufgefallen ist haben wir eine Funktion hinzugefügt! Natürlich müssen wir dieser auch noch Hotkeys zuteilen! Dazu schreiben wir am Anfang des Scripts folgendes!

HTML Code:
hotkeyset("{F5}","start")
hotkeyset("{F6}","ende")
Damit die ende Funktion ausgeführt werden kann müssen wir dieser Funktion noch einen entsprechenden Partner zuteilen!

Dazu schreiben wir folgendes am Ende des Scripts!

HTML Code:
func ende()
Exit
endfunc
Wenn ihr jetzt das Scripts startet, dann fällt auf, dass er das Programm sofort wieder beendet! Um dies zu ändern schreiben wir eine while Funktion hinter Die WinWaitActive Funktion!

Das müsste dann in etwa so aussehen!

HTML Code:
while(1)
TrayTip("","Buntz mich",0,0)
WEnd
Jetzt schließt sich das Programm nicht mehr!

Falls ihr noch weitere Fragen haben solltet, dann fragt mich doch mit der Hilfe einer PN!


Hier mal ein fertiges Script!

HTML Code:
hotkeyset("{F5}","start")
hotkeyset("{F6}","ende")

$Fenstername = InputBox("","Wie lautet der Metin2 Fenstername bei euch?")
WinWaitActive($Fenstername)

func start()
while(1)
Send("{^}")
sleep(100)
WEnd
endfunc

func ende()
Exit
endfunc
Wenn ihr den BOT jetzt starten wollt, dann klickt die F5 Taste! F6 zum beenden!
07/01/2010 22:38 .NoMercy.#2
Sehr Hilfreich

Ich werde mir den Jetzt selber machen :D

Tut dem Ego gut :awesome:

Thx given!
07/01/2010 22:48 ScyLoon#3

In deinem Script schreibst Du,
Quote:
func start()
while(1)
Send("{^}")
sleep(100)
WEnd
endfunc
da ich mich auch mit AutoIt auskenne, kann ich Dir und allen anderen empfelen, statt dem "^" auch noch ein "y" reinzubauen, um die Processe nicht allzu sehr zu überlasten...

Quote:
Hier mal ein fertiges Script!
hotkeyset("{F5}","start")
hotkeyset("{F6}","ende")

$Fenstername = InputBox("","Wie lautet der Metin2 Fenstername bei euch?")
WinWaitActive($Fenstername)

func start()
while(1)
Send("{^y}")
sleep(100)
WEnd
endfunc

func ende()
Exit
endfunc
Aber ich finde es sehr gut und gelungen erklärt, und das ist aufallefälle für die Anfänger unteruns sehr hilfreich!

MfG

#Thx given
07/01/2010 23:10 xXGiuliXx#4
Pausen funktion wäre ja auch ganz nett ;)

PHP Code:
Global $Paused

Hotkeyset 
("{F7}","_Pause")

Func _Pause()
$Paused NOT $Paused
While $Paused
sleep
(100)
ToolTip('Script ist pausiert',0,0)
WEnd
ToolTip
(""
EndFunc 

ungefähr so :D Lange nichtsmehr mit AutoIt gemacht :)
07/01/2010 23:44 .я.#5
Danke :) ich versuch gleich mal :P
07/02/2010 15:10 Baratoik#6
Ja das ist ja so, dass man die verschiedenen Funktionen noch weiter

einbauen kann!

Hatte emensen Zeitdruck sonst hätte ich den BOT noch etwas erweitert

Aber danke für eure lobenden Worte!
07/03/2010 18:34 GpotatoHacks22#7
Also very nice TUT,
hilft den Anfängern in Autoit bestimmt weiter
08/03/2010 08:23 .GermanKiller#8
$Fenstername = InputBox("","Wie lautet der Metin2 Fenstername bei euch?")

Kann mir jmd ein Bsp machen was dort rein kommt?

Also einfach nur Metin2 hat nicht geklappt.
08/03/2010 17:43 Renozerus#9
Finde ich auch sehr hilfreich...nur eine Sache
sleep(100)

kann man ruhig auf 500 oder 600 setzen da die Tasten nur alle 0,5 oder mehr Sekunden angenommen werden. (die genaue Zahl weiß ich gerad nicht)

die erste Zeile kann man weglassen das braucht man nur wenn Du einen fertigen Bot als exe anbietest und die Leute das nicht selbst auf ihren Server abstimmen können.

@ Vorposter lösch einfach die erste Zeile
und bevor du das Script zu einer Exe machst schreib den Fensternamen hier rein
WinWaitActive("METIN2") <--wenn Dein Fensternamen anders ist dann natürlich das andere. Mit Anführungszeichen"
08/03/2010 22:47 [GA]Masu#10
Nice^^
08/04/2010 02:07 DeepShadows#11
Super Tutorial, da ich mich seit kurzer Zeit mit AutoIt beschäftige kommt mir das sehr gelegen. Hast ein Thanks ;).
08/18/2016 13:23 #Kazuma#12
hat jemand den bot fertig
08/19/2016 18:28 .Chakratos#13
Du kannst den Source doch einfach mit Scite compilen.
Ausserdem ist es ein schlecht gemachtes Beispiel da es nichtmal eine Pause funktion gibt die man per:

Code:
Hotkeyset("{F7}", "Pause")


function Pause 
while 1
    sleep(500)
WEnd
endFunc
einbauen könnte.

Metin2 akzeptiert ausserdem keine Eingaben mehr von AutoIt also würde er so oder so nicht funktionieren.
08/21/2016 05:03 .'Roachi#14
Quote:
Originally Posted by .Chakratos View Post
Du kannst den Source doch einfach mit Scite compilen.
Ausserdem ist es ein schlecht gemachtes Beispiel da es nichtmal eine Pause funktion gibt die man per:

Code:
Hotkeyset("{F7}", "Pause")


function Pause 
while 1
    sleep(500)
WEnd
endFunc
einbauen könnte.

Metin2 akzeptiert ausserdem keine Eingaben mehr von AutoIt also würde er so oder so nicht funktionieren.
Guck doch mal aufs Datum bitte...
Mittlerweile geht das nicht mehr, 2k10 ging das aber noch tadellos.

Quote:
Originally Posted by #Kazuma
hat jemand den bot fertig
Wird nicht mehr funktionieren und ausserdem kannst/konntest du es eZ selber machen..
08/21/2016 10:53 .Chakratos#15
Quote:
Originally Posted by .'Roachi View Post
Guck doch mal aufs Datum bitte...
Mittlerweile geht das nicht mehr, 2k10 ging das aber noch tadellos.



Wird nicht mehr funktionieren und ausserdem kannst/konntest du es eZ selber machen..
Bevor ich irgendwas poste schaue ich immer aufs Datum, das hindert mich aber nicht daran eine für den Fragenden sinvolle Antwort zu geben.
Ich habe ausserdem auch geschrieben das M2 keine Inputs von AutoIt mehr akzeptiert*.

* Es gibt aber eine Libary von jemanden in der M2 Sektion die das ganze über DLL calls löst.