Zuersteinmal der Bot ist selbstgeschrieben und ist keinesfalls vollständig, jedoch habe ich mich bemüht ihn einfach zu gestalten, sodass ihn jeder verändern kann und so zur Verfügung zu stellen.
Fragen bitte im Thread posten!
Was ihr braucht:
- minimale Programmierkentnisse
- ein 64-Bit OS ( Betriebssystem ) ; z.B Vista x64
-> wurde bereits auf Vista und Windows 7 x64 getestet
- Rappelz im Windowed Mode bei 1024*768 (es ist nicht zwingend notwendig, aber ihr müsst alle Farben nochmal auslesen)
- Autoit und SCI IT ->
- Geduld
Was ihr machen müsst:
- Eure Tastenbelegung mit der des Scryptes abgleichen (oder umgekehrt)
- Skills mit den jeweiligen Cooldowns einstellen (im scrypt erklärt)
- Farbenauslesen -> anbei findet ihr das farbenauslesescrypt
- das scrypt weiterleiten
Zusätzliche bereits vorhandene Funktionen sind:
- Dualscrypt
- Dp Follow scrypt
- Mutterwitzescrypt
- Dpchipper -> noch nicht ausgereift
- funktionierender shoutbot (whärend des farmens)
Das kein Verdacht auf Viren besteht hier schonmal das Scrypt:
Code:
HotKeySet("{NUMPAD1}", "combo") ;Taste zum Starten
HotKeySet("{NUMPAD2}", "pause") ;Taste für Pause
HotKeySet("{NUMPAD3}", "ende") ;Taste um den Bot zu beenden
Global $timerinit = TimerInit() ;Initialisierung des timers
Global $funktionan = False ;Initiierung des Bots in Pause
Global $chipfarbe ;Verschiedene Variablen verden als Global deklariert
Global $maus
Global $moven
Global $drehung
Global $chip
Global $mobhealth
Global $bottrap
Global $bottrap2
Global $bottrap3
Global $timerinit
Global $timer
Global $health1
Global $health2
Global $health3
Global $health4
Global $mana1
Global $chipart
Global $chipsalle
Global $cooldown[13] ;Initialisierung eines Arrays für die Cooldowns der Skills in ms (Millisekunden)
$cooldown[0] = 2000 ;Cooldown Chip
$cooldown[5] = 600000 ;Pot (Schnelligkeitstrank, etc) Cooldown
$cooldown[9] = 65000 ;Healthpot Cooldown
$cooldown[11] = 65000 ;Manapot Cooldown
Global $skillzuletztgenutzt[13] ;Array für die Skills
Global $chipfarbe = "FFBE8A" ;Farbe des Chips unter dem Mob (Hex); hier Farbe der Koordinaten 477, 60 eintragen
Func tabben()
Send("{TAB}")
Sleep(100)
EndFunc ;==>tabben Tabfunktion
Func loot()
Send("{Space}")
Sleep(1500)
Send("{Space}")
Sleep(500)
Send("{Space}")
Sleep(500)
Send("{Space}")
Sleep(500)
EndFunc ;==>loot Lootfunktion wenn kein Lootpet vorhanden ist
Func kameradrehen()
MouseMove(520, 380)
MouseDown("right")
MouseMove(900, 380)
MouseUp("right")
Sleep(10)
EndFunc ;==>kameradrehen dreht die Kamera
Func move()
MouseMove(600, 200)
MouseClick("left")
Sleep(10)
EndFunc ;==>move Laufbewegung
Func buffready()
If ($timer - $skillzuletztgenutzt[5]) >= $cooldown[5] Then
Return True
EndIf
EndFunc ;==>buffready wenn der Cooldown 5 abgelaufen ist -> true
Func buff2ready()
If ($timer - $skillzuletztgenutzt[3]) >= $cooldown[3] Then
Return True
EndIf
EndFunc ;==>buffready
Func buffen()
Send("^{F4}")
Sleep(100)
Send("^{F5}")
Sleep(100)
Send("^{F6}")
Sleep(100)
$skillzuletztgenutzt[5] = $timer
EndFunc ;==>buffen Buffen
Func chippen()
Send("{F2}")
$skillzuletztgenutzt[0] = $timer
Sleep(100)
EndFunc ;==>chippen Chippen
Func farbenauslesen()
$health1 = PixelGetColor(11, 54) ;Farbe vom Char links
$health4 = PixelGetColor(486, 422) ;Zeigt das Bestätigungsfenster bei Tod
$mana1 = PixelGetColor(108, 67) ;Mana hälfte
$mobhealth = PixelGetColor(489, 27) ;Check ob der Mob Leben hat
$bottrap = PixelGetColor(441, 16) ;Check ob Bottrap
$chip = PixelGetColor(477, 60) ;Farbenauslesen vom Chip
$bottrap2 = PixelGetColor(446, 6) ;Check ob Bottrap
$bottrap3 = PixelGetColor(436, 6) ;Check ob Bottrap
$chipsalle = PixelGetColor(58,720) ;2. Postion in der Skillleiste leer
Sleep(10)
EndFunc ;==>farbenauslesen
Func townbreak()
MsgBox(0, "BOT", "Ich bin fertig!")
EndFunc ;==>townbreak
Func chipbereit()
If ($timer - $skillzuletztgenutzt[0]) >= $cooldown[0] Then
Return True
EndIf
EndFunc ;==>chipbereit
Func skill1bereit()
If ($timer - $skillzuletztgenutzt[1]) >= $cooldown[1] Then
Return True
EndIf
EndFunc ;==>skill1bereit in diesem Bereich passt ihr die cooldowns eurer skills an
Func skill2bereit()
If ($timer - $skillzuletztgenutzt[2]) >= $cooldown[2] Then
Return True
EndIf
EndFunc ;==>skill2bereit
Func skill3bereit()
If ($timer - $skillzuletztgenutzt[3]) >= $cooldown[3] Then
Return True
EndIf
EndFunc ;==>skill3bereit
Func hpotready()
If ($timer - $skillzuletztgenutzt[9]) >= $cooldown[9] Then
Return True
EndIf
EndFunc ;==>hpotready
Func mpotready()
If ($timer - $skillzuletztgenutzt[11]) >= $cooldown[11] Then
Return True
EndIf
EndFunc ;==>mpotready
Func nachhealth() ;BOTSCHLEIFE wenn Leben orange
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "883422" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A17BF3" Then ;hier Farbe der Koordinaten von Bottraps eintragen
If Hex($chip, 6) = $chipfarbe Then ;attackschleife
Send("{F1}")
Sleep(1000) ;castingtime in ms +250 - 500 (auch bei skills ohne casttime)
If skill1bereit() = True Then
Send("{F3}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
$drehung = 0
$moven = 0
Else
If chipbereit() = True Then
chippen()
Sleep(50)
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
;loot()
EndIf
EndFunc ;==>nachhealth
Func nachmana() ;BOTSCHLEIFE wenn Mana unter einem gewissen Punkt
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "883422" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A17BF3" Then ;hier Farbe der Koordinaten von Bottraps eintragen
If Hex($chip, 6) = $chipfarbe Then ;attackschleife
Send("{F1}")
Sleep(1000) ;castingtime in ms +250 - 500 (auch bei skills ohne casttime)
If skill1bereit() = True Then
Send("{F3}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
$drehung = 0
$moven = 0
Else
If chipbereit() = True Then
chippen()
Sleep(50)
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
;loot()
EndIf
EndFunc ;==>nachmana
Func combo() ;HAUPTBOTSCHLEIFE
$funktionan = True
SendKeepActive("Rappelz") ;Rappelz ist immer Vordergrund
Opt("PixelCoordMode", 2) ;die Pixel werden direkt aus dem Fenster ausgelsen
Opt("MouseCoordMode", 2) ;die Maus bewegt sich nur im Fenster
While $funktionan = True
farbenauslesen()
$timer = TimerDiff($timerinit) ;timer init
$timer = $timer + 3600000 ; timer + 1stunde
If Hex($chipsalle, 6) <> "0D0D0D" Then ;hier Farbe der Koordinaten 58, 720 eintragen
If Hex($health1, 6) <> "BD7641" Then ;hier Farbe der Koordinaten 11, 54 bei orangem Leben eintragen
If Hex($health1, 6) <> "AC3F40" Then ;hier Farbe der Koordinaten 11, 54 bei rotem Leben eintragen
If Hex($mana1, 6) = "7289AA" Then ;hier Farbe der Koordinaten 108, 67 bei vollem Mana eintragen
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "883422" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A17BF3" Then
If Hex($chip, 6) = $chipfarbe Then ;attackschleife
Send("{F1}")
Sleep(1000) ;castingtime in ms +250 - 500 (auch bei skills ohne casttime)
If skill1bereit() = True Then
Send("{F3}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
$drehung = 0
$moven = 0
Else
If chipbereit() = True Then
chippen()
Sleep(50)
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
;loot()
EndIf
Else
If mpotready() = True Then
Send("{F11}")
Sleep(500)
$skillzuletztgenutzt[11] = $timer
EndIf
nachmana()
;wenn mtee cooldown nicht dann trinke
EndIf
Else
If hpotready() = True Then
Send("{F9}")
Sleep(100)
$skillzuletztgenutzt[9] = $timer
EndIf
Send("!{z}")
Sleep(50)
MouseClick("left",482,390)
Sleep(50)
MouseClick("left",450,216)
Sleep(50)
Exit ;Ausloggen wenn Leben rot
;wenn hpot cooldown nicht dann esse
EndIf
Else
If hpotready() = True Then
Send("{F9}")
Sleep(100)
$skillzuletztgenutzt[9] = $timer
EndIf
nachhealth()
;wenn hnugget cooldown nicht dann esse
EndIf
Else
townbreak()
EndIf
WEnd
EndFunc ;==>combo
Func pause()
$funktionan = False
Sleep(10)
EndFunc ;==>pause
Func ende()
Exit
EndFunc ;==>ende
While 1
Sleep(50)
WEnd
Ja, meine Vermutung ist auch das der gg ein Problem mit der 64x Version hat.
Ich stelle nachher noch ein paar weitere Funktionen hoch, wenn ihr euch etwas mit dem scrypt beschäftigt und es auf euren charackter anpasst funktioniert es sehr gut (eigene Erfahrung).
Hm, kann wer evtl nen GUI dafür erstellen (oder wie man das auch nennt..) und das ganze zu ner .exe machen?^^ Hab leider keinerlei Programmier Kenntnisse Aber cool das du dich ran gesetzt hast um so nen Bot zu schreiben
Hi,
ich hab mir mal die Mühe gemacht mir nen "erweiterten" Bot zu schreiben.
Und zwar hab ich nen Dual-Bot zum farmen für meinen Ritualist.
Er dualt, farmt mit Seelen Chips, natürlich mit dual RP.
Ausserdem noch ne Abfrage für Tees und Nuggets hinzugefügt.
Das mit den Cooldowns, hab ich rausgenommen, aber schaut es euch einfach an.
Global $timerinit = TimerInit()
Global $funktionan = False
Global $chipfarbe
Global $maus
Global $moven
Global $drehung
Global $chip
Global $mobhealth
Global $bottrap
Global $bottrap2
Global $bottrap3
Global $timerinit
Global $timer
Global $health1
Global $health4
Global $mana1
Global $cdlebenssauger
Global $rpskill1
Global $rpskill2
Global $rpskill3
Global $chipart
Global $chipsalle
Global $cooldown[13]
$cooldown[0] = 2000 ;cooldown chip
$cooldown[1] = 700
$cooldown[2] = 15000
$cooldown[3] = 121000;ausweichen
$cooldown[5] = 540000
$cooldown[9] = 65000 ;hpot cd
$cooldown[10] = 181000 ;hnugget cd
$cooldown[11] = 65000 ;mpot cd
$cooldown[12] = 181000 ;mtee cd
Global $skillzuletztgenutzt[13]
Global $dualdauer = 73000
Global $dualdauersave = 71000
Global $dualtime
Global $dualtimer
Global $kreatur = 0
Global $dualtimerinit = TimerInit()
Global $dcooldown = 63000
Global $beschwoerenzuletztgenutzt
Func chipbereit()
If ($timer - $skillzuletztgenutzt[0]) >= $cooldown[0] Then
Return True
EndIf
EndFunc ;==>chipbereit
Func skill1bereit()
If ($timer - $skillzuletztgenutzt[1]) >= $cooldown[1] Then
Return True
EndIf
EndFunc ;==>skill1bereit
Func skill2bereit()
If ($timer - $skillzuletztgenutzt[2]) >= $cooldown[2] Then
Return True
EndIf
EndFunc ;==>skill2bereit
Func skill3bereit()
If ($timer - $skillzuletztgenutzt[3]) >= $cooldown[3] Then
Return True
EndIf
EndFunc ;==>skill3bereit
Func hpotready()
If ($timer - $skillzuletztgenutzt[9]) >= $cooldown[9] Then
Return True
EndIf
EndFunc ;==>hpotready
Func hnuggetready()
If ($timer - $skillzuletztgenutzt[10]) >= $cooldown[10] Then
Return True
EndIf
EndFunc ;==>hnuggetready
Func mpotready()
If ($timer - $skillzuletztgenutzt[11]) >= $cooldown[11] Then
Return True
EndIf
EndFunc ;==>mpotready
Func mteeready()
If ($timer - $skillzuletztgenutzt[12]) >= $cooldown[12] Then
Return True
EndIf
EndFunc ;==>mteeready
Func dualbereit()
If $timer - $beschwoerenzuletztgenutzt >= $dcooldown Then
Return True
EndIf
EndFunc ;==>dualbereit
Func kreaturzurueck()
If $dualtimer - $dualtime > $dualdauer Then
Return True
EndIf
EndFunc ;==>kreaturzurueck
Func kreaturzuruecksave()
If $dualtimer - $dualtime > $dualdauersave Then
Return True
EndIf
EndFunc ;==>kreaturzuruecksave
Func nachhealth()
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "883422" Then
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A17BF3" Then
If Hex($chip, 6) = $chipfarbe Then ;attackschleife
If Hex($cdlebenssauger, 6) <> "1C2122" Then
Send("{F5}")
Sleep(2000)
EndIf
If skill1bereit() = True Then
Send("^{F7}")
Sleep(505)
$skillzuletztgenutzt[1] = $timer
EndIf
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
kameradrehen()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 10 Then
move()
$moven = 0
EndIf
EndIf
EndFunc ;==>nachhealth
Func nachmana()
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "883422" Then
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A17BF3" Then
If Hex($chip, 6) = $chipfarbe Then ;attackschleife
If skill1bereit() = True Then
Send("^{F7}")
Sleep(505)
$skillzuletztgenutzt[1] = $timer
EndIf
nachhealth()
;wenn hpot cooldown nicht dann esse
EndIf
Else
;orange
If hpotready() = True Then
Send("{F9}")
Sleep(100)
$skillzuletztgenutzt[9] = $timer
EndIf
kann man das nich so machen das der Bot nur Tab drückt, chips used und dann auf dieses "Angriff" Symbol da raufgeht? Oder auf das "Angriff mit Pet" Symbol? Wär das nich viel einfacher? Oder macht der Bot das so das er die Kamera immer dreht und so immer ordentlich an einem Spot farmt? Weil Sonst könnte man mit Tab ja die Kamera nach ganz oben machen und ganz weit rauszoomen.. das würd mir schon vollkommen reichen
Vll findet sich ja jem der sich dran setzt^^
Hab echt keine Ahnung vom Proggen, sry :/
Farmbot 03/04/2010 - Flyff - 3 Replies Hallo Community,
ich habe nach Suchen hier nichts gefunden, aber meine Frage erstreckt sich über das oben genannte Thema, dem Farmbot.
Gibt es sowas für dFlyff, also ich stell meinen Char Nachts iwo ab und lass ihn leveln?
Ich habe jetzt hier im Forum nichts explizites gefunden und frage mich OB es überhaupt sowas gibt wegen dem GG.
Ich habe damals bei ROSE irgendeinen Farmbot benutzt und würde wieder gernen einen benutzen.
mfg
Farmbot? 09/06/2009 - WoW Bots - 3 Replies Da Gatherbuddy nun ja detected ist, wollte ich fragen ob es noch irgend einen Farmbot gibt der funktioniert?
Falls jemand einen eigenen hat und ihn verkaufen will -> PN
Farmbot 07/04/2009 - AutoIt - 8 Replies Hi,
bin gerade dabei einen farmbot für metin2 zu schreiben der die monster von selbst anklickt. Soweit bin ich schon:
Opt('PixelCoordMode', 2)
Opt('MouseCoordMode', 2)
HotKeySet ( "{Numpad1}" , "start" )
HotKeySet ( "{Numpad3}" , "Ende" )