klar. mach ich in ein paar stunden ^^
edit: also folgendes - zuerst brauch man ne funktion, die nur einmal am anfang bufft
Code:
Func buffen() ; buffs with 30 min cooldown
sleep( $sleepcamera )
Send("{ESC}")
sleep ( $sleeprandohundred )
Send("{ESC}")
sleep ( $sleeprandohundred )
If $mytimer == 0 Then ; permanent buffs
If $character == 2 Then
Send("r"); r
Sleep( $sleeploot3 )
Send("{SHIFTDOWN}7{SHIFTUP}")
sleep( $sleepbuff )
Send("{CTRLDOWN}5{CTRLUP}")
SLeep( $delay )
EndIf
$mytimer = 1
EndIf
If $character == 1 Then ; priest
Send("{SHIFTDOWN}1{SHIFTUP}"); shift + 1
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}2{SHIFTUP}"); shift + 2
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}3{SHIFTUP}")
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}4{SHIFTUP}")
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}5{SHIFTUP}")
SLeep( $delay )
EndIf
If $character == 2 Then ; soul breeder
MouseClick( "left", 114, 117, 1 ) ;clicks on pet
SLeep( $delay )
Send("{SHIFTDOWN}1{SHIFTUP}"); shift + 1
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}2{SHIFTUP}"); shift + 2
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}5{SHIFTUP}")
Sleep( $sleepbuff )
SLeep( $delay )
Send("{SHIFTDOWN}6{SHIFTUP}"); shift + 2
EndIf
If $character == 3 Then ; strider
Send("{CTRLDOWN}4{CTRLUP}")
Sleep( $sleepbuff )
SLeep( $delay )
Send("{CTRLDOWN}5{CTRLUP}")
SLeep( $delay )
Sleep( $sleepbuff )
EndIf
$timerinit5 = TimerInit()
EndFunc ;==>buffen use buff
hier werden permanente buffs auch gleich mitgebufft zu den regelmaessig kommenden anderen buffs.
nun brauchen wir einzelne buff-funktionen. warum? weil es erstens sehr vorteilhaft ist, wenn man sich nur einen buff draufmacht, einen mob killt und dann noch einen. dann ist die chance, dass man stirbt, geringer. zweitens hat es den vorteil, dass auch buffs mit weniger als 30 minuten dauer mit eingebunden werden können.
wie man das macht? folgendermaßen:
variablenteil:
Code:
Global $cooldown[31] ;cooldown for skills
$cooldown[21] = 1700000 ; bless of int
$cooldown[22] = 1700000 ; bless of vit
$cooldown[23] = 1700000 ; bless of str
$cooldown[24] = 1700000 ; bless of wis
Global $recentlyusedskill[31] ;array for skills
$recentlyusedskill[21] = 0 ; bless of int
$recentlyusedskill[22] = 0 ; bless of vit
$recentlyusedskill[23] = 0 ; bless of str
$recentlyusedskill[24] = 0 ; bless of wis
Global $helpmana
Global $character = 1 oder 2 oder 3
Global $buffed
Global $timerinit3 = TimerInit()
funktionsteil:
Code:
Func intbless()
If $character == 1 And $buffed == False Then
$helpmana = TimerDiff($timerinit3)
If ( $helpmana - $recentlyusedskill[21] ) > $cooldown[21] Then
Send("{ESC}")
SLeep($delay)
Send("{SHIFTDOWN}1{SHIFTUP}")
Sleep($sleepbuff)
$buffed = True ; necessary for the other buffs not to work until theres a mobkill
$recentlyusedskill[21] = $helpmana
EndIf
EndIf
EndFunc
Func vitbless()
If $character == 1 And $buffed == False Then
$helpmana = TimerDiff($timerinit3)
If ( $helpmana - $recentlyusedskill[22] ) > $cooldown[22] Then
Send("{ESC}")
SLeep($delay)
Send("{SHIFTDOWN}2{SHIFTUP}")
Sleep($sleepbuff)
$buffed = True
$recentlyusedskill[22] = $helpmana
EndIf
EndIf
EndFunc
Func strbless()
If $character == 1 And $buffed == False Then
$helpmana = TimerDiff($timerinit3)
If ( $helpmana - $recentlyusedskill[23] ) > $cooldown[23] Then
Send("{ESC}")
SLeep($delay)
Send("{SHIFTDOWN}3{SHIFTUP}")
Sleep($sleepbuff)
$buffed = True
$recentlyusedskill[23] = $helpmana
EndIf
EndIf
EndFunc
Func wisbless()
If $character == 1 And $buffed == False Then
$helpmana = TimerDiff($timerinit3)
If ( $helpmana - $recentlyusedskill[24] ) > $cooldown[24] Then
Send("{ESC}")
SLeep($delay)
Send("{SHIFTDOWN}4{SHIFTUP}")
Sleep($sleepbuff)
$buffed = True
$recentlyusedskill[24] = $helpmana
EndIf
EndIf
EndFunc
integration in die hauptschleife:
Code:
Func combo() ;main bot loop
$funktionan = True
SendKeepActive("Rappelz") ;Rappelz always in foreground
Opt("PixelCoordMode", 2) ;pixel directly read from client
Opt("MouseCoordMode", 2) ;mouse only moves in client
While $funktionan = True
ifdisconnect()
quitifhplow()
readchipcolor()
emptychips()
If Hex($iconcolor, 6) == "A7A34A" Then $character = 1 ; cleric
If Hex($iconcolor, 6) == "1F394A" Then $character = 2 ; soul breeder
If Hex($iconcolor, 6) == "A095BF" Then $character = 3 ; strider
If $mytimer == 0 Then buffen()
;BUFFSON
;CLERICON
intbless()
vitbless()
strbless()
wisbless()
shinarmor()
;CLERICOFF
;SOULBREEDERON
eternallg()
resistance()
divineclaw()
intboost()
;SOULBREEDEROFF
;STRIDERON
hunterimpact()
concentration()
;STRIDEROFF
;BUFFSOFF
If $kson == False Then
If Hex($mobhealthfull, 6) == "C6776A" Then ;mob health must be red and full (prevents ks)
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A780FD" And Hex($bottrap4, 6) <> "A780FD" And Hex($bottrap5, 6) <> "A780FD" Then
attack()
selfheal()
pot()
scroll()
restoration()
if Hex($health2, 6) <> "9FBA68" Then; if your pet is below half hp
MouseClick( "left", 114, 117, 1 )
Send("8")
sleep( $sleepheal )
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
turncamera()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 5 Then
move()
$moven = 0
EndIf
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
turncamera()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 5 Then
move()
$moven = 0
EndIf
EndIf
Else
If Hex($mobhealthempty, 6) == "C78D7E" Then ; if mob is not dead yet
If Hex($bottrap, 6) <> "A780FD" And Hex($bottrap2, 6) <> "A780FD" And Hex($bottrap3, 6) <> "A780FD" And Hex($bottrap4, 6) <> "A780FD" And Hex($bottrap5, 6) <> "A780FD" Then
attack()
selfheal()
scroll()
restoration()
if Hex($health2, 6) <> "9FBA68" Then; if your pet is below half hp
MouseClick( "left", 114, 117, 1 )
Send("8")
sleep( $sleepheal )
EndIf
Else
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
turncamera()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 5 Then
move()
$moven = 0
EndIf
EndIf
Else
$kson = False
tabben()
$drehung = $drehung + 1
If $drehung > 2 Then
turncamera()
$drehung = 0
$moven = $moven + 1
EndIf
If $moven > 5 Then
move()
$moven = 0
EndIf
EndIf
EndIf
WEnd
EndFunc ;==>combo
ganz oben sind die buffs eingebunden. in der attackschleife wird jedes mal am ende $buffed auf "false" gesetzt, damit beim nächsten mob der nächste buff kommt.