Der bot tabt, chipt und attackiert so wie du es will, mit oder ohne skills, mit oder ohne pets, es liegt alles an dir. Das mit dem Kamerarauszommen is quatsch, du kannst nicht weit genug rausscrollen, deshalb dreht er die kamera wenn er beim tabben nichts findet und je nach Einstellung bewegt er sich dann noch umher. Leider ist mir nichts eingefallen wie man garantieren kann das er nicht aus dem Spot rausfarmt, falls jmd eine gute Idee dazu hätte, ich bin gespannt.
Hallo zukünftige Freunde des bottens!
Da mir bereits aufgefallen ist, dass es diverse Probleme gibt bei Leuten ohne irgendwelche Kenntnisse oder irgendeinen Anreiz sich mit dem scrypt näher zu beschäftigen hier ein How2?!-Guide.
1. Rappelz in Window Mode 1024*768 stellen
2. Mithilfe des Farbenauslesescrypts überprüft ihr ob die gegebenen Farben mit euren übereinstimmen (die bereits ausgewählten Koordinaten sind nach meiner Erfahrung gut)
->Unter der Func farbenauslesen() im Scrypt findet ihr die Koordinaten:
->setzt die Koordinaten im Farbenauslesenscrypt ein und gleicht sie mit den gegebenen Farben im Scrypt ab
farbe chip -->
hotkeyset("3","terminate")
while 1
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
;$x = MouseGetPos(0)
;$y = MouseGetPos(1)
$x = 477 ;X Koordinate der Maus, Hier Koordinateneinsetzen
$y = 60 ;Y Koordinate der Maus, Hier Koordinaten einsetzen
$var = PixelGetColor($x,$y)
ToolTip(Hex($var, 6),20,100) ;Wiedergabe der Farbe
sleep(42)
wend
func terminate()
Exit
EndFunc
Bsp.
$chip = PixelGetColor(477,60)
Die Koordinaten 477 und 60 ins Farbe Chip einsetzen und auslesen.
Dann die Stelle im Script raussuchen wo $chip abgefragt wird:
If Hex($chip, 6) = $chipfarbe Then
dann sieht man dass $chipfarbe geändert werden muss, also ändert man $chipfarbe in den Wert, den dass farbe chip Script ausgegeben hat.
Global $chipfarbe = "FFBE8A"
3. Belegt im Spiel alle Slots mit euren Skills, Buffs, Pots, Selfheals, Nuggets und Tees (naja oder das, was ihr braucht)
4. Schreibt wie bereits im Scrypt gegeben die Cooldowns ein weist den Skills die Cooldowns zu
->Hier ist meine Lösung für die Skills:
Func attackschleife()
If skill1bereit() = True Then
Send("{NUMPAD1}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf
If skill2bereit() = True Then
Send("{NUMPAD2}")
Sleep(50)
$skillzuletztgenutzt[2] = $timer
EndIf
If skill3bereit() = True Then
Send("{NUMPAD3}")
Sleep(50)
$skillzuletztgenutzt[3] = $timer
EndIf
If skill5bereit() = True Then
Send("{NUMPAD4}")
Sleep(50)
$skillzuletztgenutzt[13] = $timer
EndIf
If skill6bereit() = True Then
Send("{NUMPAD5}")
Sleep(2050)
$skillzuletztgenutzt[14] = $timer
EndIf
If skill7bereit() = True Then
Send("{NUMPAD6}")
Sleep(50)
$skillzuletztgenutzt[15] = $timer
EndIf
If skill8bereit() = True Then
Send("{NUMPAD7}")
Sleep(50)
$skillzuletztgenutzt[16] = $timer
EndIf
If skill9bereit() = True Then
Send("{NUMPAD8}")
Sleep(550)
$skillzuletztgenutzt[17] = $timer
EndIf
If skill10bereit() = True Then
Send("{NUMPAD9}")
Sleep(50)
$skillzuletztgenutzt[18] = $timer
EndIf
If skill1bereit() = True Then
Send("{NUMPAD0}")
Sleep(50)
$skillzuletztgenutzt[19] = $timer
EndIf
EndFunc
->Hier die Zuweisungen:
Func chipbereit()
if ($timer - $skillzuletztgenutzt[0]) >= $cooldown[0] then
return true
EndIf
EndFunc ;==>chipbereit
Func skill1bereit()
if ($timer - $skillzuletztgenutzt[1]) >= $cooldown[8] then
return true
EndIf
EndFunc ;==>skill1bereit
Func skill2bereit()
if ($timer - $skillzuletztgenutzt[2]) >= $cooldown[1] then
return true
EndIf
EndFunc ;==>skill2bereit
Func skill3bereit()
if ($timer - $skillzuletztgenutzt[3]) >= $cooldown[3] then
return true
EndIf
EndFunc ;==>skill3bereit
Func kleineheilungready()
if ($timer - $skillzuletztgenutzt[4]) >= $cooldown[8] then
return true
EndIf
EndFunc ;==>kleineheilungready
Func skill5bereit()
if ($timer - $skillzuletztgenutzt[13]) >= $cooldown[1] then
return true
EndIf
EndFunc ;==>skill5bereit
Func skill6bereit()
if ($timer - $skillzuletztgenutzt[14]) >= $cooldown[8] then
return true
EndIf
EndFunc ;==>skill6bereit
Func skill7bereit()
if ($timer - $skillzuletztgenutzt[15]) >= $cooldown[8] then
return true
EndIf
EndFunc ;==>skill7bereit
Func skill8bereit()
if ($timer - $skillzuletztgenutzt[16]) >= $cooldown[8] then
return true
EndIf
EndFunc ;==>skill8bereit
Func skill9bereit()
if ($timer - $skillzuletztgenutzt[17]) >= $cooldown[9] then
return true
EndIf
EndFunc ;==>skill9bereit
Func skill10bereit()
if ($timer - $skillzuletztgenutzt[18]) >= $cooldown[11] then
return true
EndIf
EndFunc ;==>skill10bereit
Func skill11bereit()
if ($timer - $skillzuletztgenutzt[19]) >= $cooldown[11] then
return true
EndIf
EndFunc ;==>skill11bereit
Func buff1ready()
if ($timer - $skillzuletztgenutzt[5]) >= $cooldown[5] then
return true
EndIf
EndFunc ;==>buff1ready
Func buff2ready()
if ($timer - $skillzuletztgenutzt[6]) >= $cooldown[6] then
return true
EndIf
EndFunc ;==>buff2ready
Func buff3ready()
if ($timer - $skillzuletztgenutzt[7]) >= $cooldown[7] then
return true
EndIf
EndFunc ;==>buff3ready
Func hpotready()
if ($timer - $skillzuletztgenutzt[9]) >= $cooldown[13] 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
Habe mir nun Autoit 3.3 Runtergeladen und installiert, funktioniert auch bestens.
Nur wenn ich jetzt Rappelz im Fenstermodus öffne und dann auf den desktop wechsle um den bot zu starten (mit NUMPAD1), schaltet der bot rappelz aktiv und das wars dann.
Wenn ich nun mit der Maus aus dem Rappelz Fenster hinausfahre und auf den Desktop klicke, bewegt sich der Mauszeiger wieder ins Rappelz feld hinein und Rappelz wird wieder aktiv.
Was habe ich nun falsch gemacht?
Brauche ich noch SCI IT (wie vom TE erwähnt wurde)?
Oder muss ich die Helligkeit von Rappelz verändern weil der bot möglicherweise bei der Farbauslese probleme hat?
Ich hoffe ihr könnt mir helfen!
Danke schon im Vorraus!
Du musst mit dem zweiten autoit script die farbcodes von den koordinaten auslesen und dann im script umändern.
danach cooldownvariablen und skills zuweisen.
Danach solltes es normalerweise gehen (was ich aus raca's beiträgen rausgelesen habe)
Nach dieser arbeit sieht mein script so aus:
PHP 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 // 2 sec
$cooldown[1] = 15000 ;Cooldown Holzspalter // 15 sec
$cooldown[2] = 125000 ; Cooldown Mentale Konzentration // 2 min 5 sec
$cooldown[3] = 30000 ;Cooldown Windhieb // 30 sec
$cooldown[5] = 600000 ;Pot (Schnelligkeitstrank, etc) Cooldown // 10 min
$cooldown[7] = 185000 ;Nugget // 3 min 5 sec
$cooldown[8] = 185000 ;Tee // 3 min 5 sec
$cooldown[9] = 65000 ;Healthpot Cooldown // 65 sec
$cooldown[11] = 65000 ;Manapot Cooldown // 65 sec
Global $skillzuletztgenutzt[13] ;Array für die Skills
Global $chipfarbe = "FE7AF2" ;Farbe des Chips unter dem Mob (Hex); hier Farbe der Koordinaten 477, 60 eintragen // ART DES CHIPS OBEN VERMERKT
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 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 skill7bereit()
If ($timer - $skillzuletztgenutzt[7]) >= $cooldown[7] Then
Return True
EndIf
EndFunc ;==>skill7bereit
Func skill8bereit()
If ($timer - $skillzuletztgenutzt[8]) >= $cooldown[8] Then
Return True
EndIf
EndFunc ;==>skill8bereit
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) = "D4B091" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "040404" And Hex($bottrap2, 6) <> "090909" And Hex($bottrap3, 6) <> "0A0A0A" 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("{F5}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill2bereit() = True Then
Send("+{F1}")
Sleep(50)
$skillzuletztgenutzt[2] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill3bereit() = True Then
Send("{F6}")
Sleep(50)
$skillzuletztgenutzt[3] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill7bereit() = True Then
Send("^{F3}")
Sleep(50)
$skillzuletztgenutzt[7] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill8bereit() = True Then
Send("^{F4}")
Sleep(50)
$skillzuletztgenutzt[8] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
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) = "D4B091" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "040404" And Hex($bottrap2, 6) <> "090909" And Hex($bottrap3, 6) <> "0A0A0A" 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("{F5}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill2bereit() = True Then
Send("+{F1}")
Sleep(50)
$skillzuletztgenutzt[2] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill3bereit() = True Then
Send("{F6}")
Sleep(50)
$skillzuletztgenutzt[3] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill7bereit() = True Then
Send("^{F3}")
Sleep(50)
$skillzuletztgenutzt[7] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill8bereit() = True Then
Send("^{F4}")
Sleep(50)
$skillzuletztgenutzt[8] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
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) = "385098" Then ;hier Farbe der Koordinaten 108, 67 bei vollem Mana eintragen
If buffready() = True Then buffen()
If Hex($mobhealth, 6) = "D4B091" Then ;hier Farbe der Koordinaten 489, 27 eintragen
If Hex($bottrap, 6) <> "040404" And Hex($bottrap2, 6) <> "090909" And Hex($bottrap3, 6) <> "0A0A0A" Then ;Hier Bottraps einsetzen
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("{F5}")
Sleep(50)
$skillzuletztgenutzt[1] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill2bereit() = True Then
Send("+{F1}")
Sleep(50)
$skillzuletztgenutzt[2] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill3bereit() = True Then
Send("{F6}")
Sleep(50)
$skillzuletztgenutzt[3] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill7bereit() = True Then
Send("^{F3}")
Sleep(50)
$skillzuletztgenutzt[7] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
If skill8bereit() = True Then
Send("^{F4}")
Sleep(50)
$skillzuletztgenutzt[8] = $timer
EndIf ;==>nach diesem Muster müssen die skills eingefügt werden
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("!{F8}")
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
also lade dir mal beide programme runter; autoit und SciTE.
ich hatte am anfang noch das problem, dass das script nicht als admin gestartet wurde bzw die benutzerkontensteuerung noch an war.
probier doch mal, entweder rechtsklick und ausführen als admin oder systemsteurung->system und sicherheit->wartungscenter->einstellugnen der benutzerkontensteuerung ändern -> regler ganz nach unten.
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" )