Code:
#RequireAdmin
AutoItSetOption ("MouseCoordMode",2)
AutoItSetOption ("PixelCoordMode",2)
HotKeySet ("{F5}","Start") ; Mit F5 Startet man den Bot
HotKeySet ("{F6}","Pause") ; Mit F6 Pausiert man ihn für 1 Stunde
HotKeySet ("{F7}","Ende") ; Mit F7 Stoppt man den Bot
Global $zaehler = 0 ; Wenn man 10 mal stirbt, dann reloggt er sich
Global $slotX = 1765 ; X-Wert vom 1st Slot der 4ten Zeile
Global $slotY = 785 ; Y-Wert vom 1st Slot der 4ten Zeile
$account = InputBox("Daten","Account")
$passwort = InputBox("Daten","Passwort")
while 1
Sleep (500) ; Es wird alle 500ms geguckt ob die Hotkeys gedrueckt worden sind
WEnd
Func Start()
While (1)
if WinExists ("runtimeerror") Then ; Sollte mal ein RuntimeError kommen ^^
WinActivate ("runtimeerror")
Send ("{ENTER}")
Sleep (1000)
EndIf
if WinExists ("SHIRO2") Then ; @@@@@@@@@ Den Fensternamen DEINES METIN2 FENSTERS mit "SHIRO2" ersetzten... Wenn es dein Fenster( Metin2) gibt dann stell es in den Vordergrund
WinActivate ("SHIRO2") ; @@@@@@@@@ Den Fensternamen DEINES METIN2 FENSTERS mit "SHRIO2" ersetzten
Sleep (500)
Else
$metin = "C:\DesktopIcons\Shiro2" ; @@@@@@@@@ Pfad zur !!Verknuepfung!! der Metin2.exe die geoeffnet werden soll
ShellExecute ($metin)
Sleep (10000)
WinActivate ("SHRIO2") ; @@@@@@@@@ euer Metin2-Fenstername
EndIf
Call ("Relogger") ; Ruft die Funktion Relogger auf
$ingame = PixelGetColor (300,1004) ; @@@@@@@@@ Ein Pixel(x,y) den es nur INGAME gibt
$aufstehen = PixelGetColor (244,54) ; Hier WiederneustartenRahmen...Pixel vom Rahmen des "Hier Neustarten" Knopfes
$inventar = PixelGetColor (1766,975) ; Farbwert vom Pixel im Inventarfenster
$buff = PixelGetColor (903,1007) ; Farbwert vom 1 Slot, wo ich Verzauberte Klinge habe
$buff2 = PixelGetColor (921,1000) ; Farbwert vom 2 Slot, wo ich Verzauberte Ruesstung habe
$antiexp = PixelGetColor (172,1016) ; Farbwert von der 1st Exp Kugel, wenn sie gefuellt ist
$antiexp2 = PixelGetColor (222,1012) ; Farbwert von der 3te Exp Kugel, wenn sie gefuellt ist
$moblock = PixelGetColor (988,1013) ; Farbwert von den Umhaengen auf Slot 4
If $ingame = 0x1C2027 Then
If $aufstehen = 0x7E7E7E Then ; Das ist ein "Wiederaufsteher" :D
Send ("{SPACE up}")
If $zaehler = 9 Then
MouseClick ("left",1891,1011,1,5)
Sleep (3000)
MouseClick ("left",960,560,1,5)
MouseClick ("left",961,561,3,5)
Sleep (20000)
$zaehler = 0
Send ("{F5 3}")
Sleep (1000)
EndIf
Send ("{1 3}")
MouseClick ("left",143,78,1,5) ; Klickt auf "Hier Neustarten"
Sleep (2000)
MouseClick ("right",1770,755,1,3) ; Benutzt Deff-Traenke
Sleep (1000)
MouseClick ("right",1801,755,1,3)
Sleep (500)
MouseClick ("right",1835,755,1,3)
Sleep (500)
MouseClick ("right",1865,755,1,3)
Sleep (5000)
Send ("{F3}") ; Noch mehr Traenke ^^
Sleep (500)
Send ("{F4}")
Sleep (500)
If $buff = 0x3B3525 Then ; Schaltet die Fertigkeit auf Slot 1 an
Sleep (500)
Send ("^{G 3}")
Sleep (1000)
Send ("{1 3}")
Sleep (500)
Send ("{3 3}")
Sleep (1000)
Send ("{3 3}")
Sleep (1000)
EndIf
If $buff2 = 0x6F4620 Then ; Schaltet die Fertigkeit auf Slot 2 an
Sleep (500)
Send ("^{G 3}")
Sleep (1000)
Send ("{2 3}")
Sleep (500)
Send ("{3 3}")
Sleep (1000)
Send ("{3 3}")
Sleep (1000)
EndIf
Send ("{3 3}") ; Steigt auf das Reittier, weil ich es auf dem dritten Slot habe ^^
Sleep (1000)
Send ("{3 3}") ; Steigt auf das Reittier, weil ich es auf dem dritten Slot habe ^^
Sleep (1000)
$zaehler = $zaehler + 1
EndIf
If $inventar <> 0xDECF8C Then ; Wenn der Farbwert von der Variable "Inventar" KLEINER oder GROESSER ist als der Farbwert vom Pixel im Inventar... DANN druecke I
Send ("{I}")
Sleep (1000)
EndIf
If $antiexp = 0xF1CD59 Then
MouseClick ("right",1900,690,2,5)
Sleep (2000)
EndIf
If $antiexp2 = 0xE5C039 Then
MouseClick ("right",1900,690,1,5)
Sleep (1000)
EndIf
If $buff = 0x3B3525 Then ; Schaltet die Fertigkeit auf Slot 1 an
Sleep (500)
Send ("^{G 3}")
Sleep (1000)
Send ("{1 3}")
Sleep (500)
Send ("{3 3}")
Sleep (1000)
Send ("{3 3}")
Sleep (1000)
EndIf
If $buff2 = 0x6F4620 Then ; Schaltet die Fertigkeit auf Slot 2 an
Sleep (500)
Send ("^{G 3}")
Sleep (1000)
Send ("{2 3}")
Sleep (500)
Send ("{3 3}")
Sleep (1000)
Send ("{3 3}")
Sleep (1000)
EndIf
If $moblock = 0x181410 Then ; Stetzt neue Umhaenge aus dem Inventar auf "F4"
MouseClick ("left",$slotX,$slotY,1,3) ; Die Umhaenge muessen auf dem 1st Slot der 4ten Zeile bis zum letzten Slot der 1st Seite liegen ^^
Sleep (500)
MouseClick ("left",988,1013,1,3)
$slotX = $slotX + 35
If $slotX > 1905 Then
$slotY = $slotY + 35
$slotX = 1765
EndIf
If $slotY > 960 Then
$slotY = 785
EndIf
EndIf
Send("{SPACE down}") ; Wenn ALLE IF Abfragen geprueft worden sind, dann soll er Leerzeichen gedrueckt halten
Send ("{4 1}")
Sleep (5000)
Send ("^{G 3}") ; Von Pferd ab und auf steigen
Sleep (1000)
Send ("{3 3}") ; Steigt auf das Reittier
Sleep (1000)
Send ("{3 2}")
Sleep (1000)
Send ("{3 1}")
Sleep (500)
Send ("{4 1}")
Sleep (5000)
Send ("{3 3}") ; Steigt auf das Reittier
Sleep (1000)
Send ("{3 2}")
Sleep (1000)
Send ("{3 1}")
EndIf
WEnd
EndFunc
Func Ende() ; Hier hab ich die Funktion "Ende" deklariert
Exit
EndFunc
Func Pause() ; 1 stunde Pause...einfach den Wert aendern auf deine Bedürfnisse ^^
Sleep (3600000)
EndFunc
Func Relogger()
$pixel1 = PixelGetColor (110,1000) ; @@@@@@@@@ Ein BESTIMMTER Pixel vom Login-Bildschirm
$pixel2 = PixelGetColor (1090,466) ; @@@@@@@@@ Pixel von der Anzeige..."Wird mit Server verbunden"
Global $var[5] = [625,645,660,675,695] ; @@@@@@@@@ Variable mit 5 gespeicherten Y-Werten der Channel Koordinaten..."650" ist der Y-Wert vom button "CH2"..."665" der Y-Wert von "CH3" usw. ...also die Werte gegebenfalls aendern ^^
$rnd = Random (0, 4, 1) ; Variable mit zufaelliger Zahl von 0 bis 4
if $pixel2 = 0x3F3124 Then ; @@@@@@@@@ Farbwert (0x3F3124) aendern
Send ("{ENTER}")
MouseClick ("left",1030,600,1,5)
EndIf
if $pixel1 = 0x121212 Then ; @@@@@@@@@ Farbwert (0x121212) aendern
MouseClick ("left",1060,$var[$rnd]) ; @@@@@@@@@ Klickt zufaellig auf einen der 4 Channel (ihr muesst gegebenfalls die "1060" aendern...das ist der x-Wert)
MouseClick ("left",1080,920) ; @@@@@@@@@ Klickt auf "Ok" (x,y Koordinate vom "Ok" Button)
Send ("{BACKSPACE 20}")
Send ($account) ; Hier ACC ID...keine Umlaute
Send ("{ENTER}")
Send ("{BACKSPACE 20}")
Send ($passwort) ; Hier PASSWORT...keine Umlaute
Send ("{ENTER}")
Sleep (15000)
EndIf
$charw = PixelGetColor (28,969) ; @@@@@@@@@ ein Pixel den es NUR im Charackterfenster gibt
If $charw = 0x090706 Then ; @@@@@@@@@ Der Farbwert vom Pixel "charw"
Send ("{ENTER 10}") ; Drueckt "ENTER" im CHARACKTERFENSTER
Sleep (20000)
EndIf
EndFunc
Code:
#RequireAdmin
AutoItSetOption ("MouseCoordMode",2)
AutoItSetOption ("PixelCoordMode",2)
HotKeySet ("{F5}","Start") ; Mit F5 Startet man den Bot
HotKeySet ("{F6}","Pause") ; Mit F6 Pausiert man ihn für 1 Stunde
HotKeySet ("{F7}","Ende") ; Mit F7 Stoppt man den Bot
$account = InputBox("Daten","Account")
$passwort = InputBox("Daten","Passwort")
while 1
Sleep (500) ; Es wird alle 500ms geguckt ob die Hotkeys gedrueckt worden sind
WEnd
Func Start()
While (1)
if WinExists ("runtimeerror") Then ; Sollte mal ein RuntimeError kommen ^^
WinActivate ("runtimeerror")
Send ("{ENTER}")
Sleep (1000)
EndIf
if WinExists ("SHIRO2") Then ; @@@@@@@@@ Den Fensternamen DEINES METIN2 FENSTERS mit "SHIRO2" ersetzten... Wenn es dein Fenster( Metin2) gibt dann stell es in den Vordergrund
WinActivate ("SHIRO2") ; @@@@@@@@@ Den Fensternamen DEINES METIN2 FENSTERS mit "SHRIO2" ersetzten
Sleep (500)
Else
$metin = "C:\DesktopIcons\Shiro2" ; @@@@@@@@@ Pfad zur !!Verknuepfung!! der Metin2.exe die geoeffnet werden soll
ShellExecute ($metin)
Sleep (10000)
WinActivate ("SHRIO2") ; @@@@@@@@@ euer Metin2-Fenstername
EndIf
Call ("Relogger") ; Ruft die Funktion Relogger auf
$ingame = PixelGetColor (300,1004) ; @@@@@@@@@ Ein Pixel(x,y) den es nur INGAME gibt
If $ingame = 0x1C2027 Then ; @@@@@@@@@ Der Farbwert des Pixels "ingame"
Sleep (60000) ; Hier die Zeit (1min) wie lange er WARTEN soll BIS er alles wieder von Anfang wiederholt und prueft ^^
EndIf
WEnd
EndFunc
Func Ende() ; Hier hab ich die Funktion "Ende" deklariert
Exit
EndFunc
Func Pause() ; 1 stunde Pause...einfach den Wert aendern auf deine Bedürfnisse ^^
Sleep (3600000)
EndFunc
Func Relogger()
$pixel1 = PixelGetColor (110,1000) ; @@@@@@@@@ Ein BESTIMMTER Pixel vom Login-Bildschirm
$pixel2 = PixelGetColor (1090,466) ; @@@@@@@@@ Pixel von der Anzeige..."Wird mit Server verbunden"
Global $var[5] = [625,645,660,675,695] ; @@@@@@@@@ Variable mit 5 gespeicherten Y-Werten der Channel Koordinaten..."650" ist der Y-Wert vom button "CH2"..."665" der Y-Wert von "CH3" usw. ...also die Werte gegebenfalls aendern ^^
$rnd = Random (0, 4, 1) ; Variable mit zufaelliger Zahl von 0 bis 4
if $pixel2 = 0x3F3124 Then ; @@@@@@@@@ Farbwert (0x3F3124) aendern
Send ("{ENTER}")
MouseClick ("left",1030,600,1,5)
EndIf
if $pixel1 = 0x121212 Then ; @@@@@@@@@ Farbwert (0x121212) aendern
MouseClick ("left",1060,$var[$rnd]) ; @@@@@@@@@ Klickt zufaellig auf einen der 4 Channel (ihr muesst gegebenfalls die "1060" aendern...das ist der x-Wert)
MouseClick ("left",1080,920) ; @@@@@@@@@ Klickt auf "Ok" (x,y Koordinate vom "Ok" Button)
Send ("{BACKSPACE 20}")
Send ($account) ; Hier ACC ID...keine Umlaute
Send ("{ENTER}")
Send ("{BACKSPACE 20}")
Send ($passwort) ; Hier PASSWORT...keine Umlaute
Send ("{ENTER}")
Sleep (15000)
EndIf
$charw = PixelGetColor (28,969) ; @@@@@@@@@ ein Pixel den es NUR im Charackterfenster gibt
If $charw = 0x090706 Then ; @@@@@@@@@ Der Farbwert vom Pixel "charw"
Send ("{ENTER 10}") ; Drueckt "ENTER" im CHARACKTERFENSTER
Sleep (20000)
EndIf
EndFunc
Ist clean , er hat doch sogar extra sein Script beigelegt.Wenn ihr ihm nicht vertraut kompilliert ihr halt seine 2 scripts neu , denn die sind defenitiv clean.