Bug oder Ich?

02/05/2009 13:36 aLasca#1
Also, es geht mir darum son kleines Tool zu schreiben was die Gruppe heilt.. irgendwie klappt das auch ganz gut. Ich will 4 Leute heilen, es werden aber nur 3 geheilt (Gruppenslot 1 wird ausgelassen).

PHP Code:
HotKeySet("{Home}""_Go")

Global 
$Heilen True

Opt
("CaretCoordMode"1)

$hWnd WinGetHandle("Guild Wars")

Func _Suchen1($Heilen True)
    If 
$Heilen True Then
        $xy1 
PixelSearch(3136754966810xCC040420)
        If 
Not (@errorThen
            ControlClick
($hWnd"""""left"1$xy1[0], $xy1[1])
            
ControlSend($hWnd"""""{1}")
        EndIf
    EndIf
EndFunc   ;==>_Suchen1

Func _Suchen2
($Heilen True)
    If 
$Heilen True Then
        $xy2 
PixelSearch(85756993730xC0000020)
        If 
Not (@errorThen
            ControlClick
($hWnd"""""left"1$xy2[0], $xy2[1])
            
ControlSend($hWnd"""""{2}")
        EndIf
    EndIf
EndFunc   ;==>_Suchen2

Func _Suchen3
($Heilen True)
    If 
$Heilen True Then
        $xy3 
PixelSearch(85780993960xC0000020)
        If 
Not (@errorThen
            ControlClick
($hWnd"""""left"1$xy3[0], $xy3[1])
            
ControlSend($hWnd"""""{3}")
        EndIf
    EndIf
EndFunc   ;==>_Suchen3

Func _Suchen4
($Heilen True)
    If 
$Heilen True Then
        $xy4 
PixelSearch(8571049931200xC0000020)
        If 
Not (@errorThen
            ControlClick
($hWnd"""""left"1$xy4[0], $xy4[1])
            
ControlSend($hWnd"""""{4}")
        EndIf
    EndIf
EndFunc   ;==>_Suchen4

Func _Heilen
($Heilen True)
    If 
$Heilen True Then
        Sleep
(Random(40006000))
        
_Suchen1(True)
        
Sleep(Random(40006000))
        
_Suchen2(True)
        
Sleep(Random(40006000))
        
_Suchen3(True)
        
Sleep(Random(40006000))
        
_Suchen4(True)
        
Sleep(Random(40006000))
    EndIf
EndFunc   ;==>_Heilen

Func _Go
()
    While 
True
        _Heilen
(True)
    
WEnd
EndFunc   
;==>_Go

While True
    Sleep
(500)
WEnd 
Koordinaten stimmen soweit eigentlich, also Suchen1 bekomm ich wenn ich

PHP Code:
Else
Msgbox("",""""
mache immer nen Error.. aber wieso? O_o
liegt das nun an Mir das ich einen Fehler im Skript habe.. oder ist das ganz einfach ein Bug?:confused:
02/05/2009 15:48 | Moep |#2
Quote:
Originally Posted by aLasca View Post
Koordinaten stimmen soweit eigentlich, also Suchen1...
PHP Code:
...
$xy1 PixelSearch(3136754966810xCC040420
...
$xy2 PixelSearch(85756993730xC0000020
...
$xy3 PixelSearch(85780993960xC0000020
...
$xy4 PixelSearch(8571049931200xC0000020
ohne es ausprobiert zu haben, aber $xy1 tanzt irgendwie aus der Reihe....

Edit: Konorkator war ich 2mal live... echt seehr geil :D
02/05/2009 16:34 aLasca#3
Quote:
Originally Posted by | Moep | View Post
PHP Code:
...
$xy1 PixelSearch(3136754966810xCC040420
...
$xy2 PixelSearch(85756993730xC0000020
...
$xy3 PixelSearch(85780993960xC0000020
...
$xy4 PixelSearch(8571049931200xC0000020
ohne es ausprobiert zu haben, aber $xy1 tanzt irgendwie aus der Reihe....

Edit: Konorkator war ich 2mal live... echt seehr geil :D

$xy1 Tanzt aus der Reihe weil ich es erst über Gruppenslot 1 gemacht habe, da musste ich aber schon feststellen das es nicht geht, dann hab ichs über den Lebenspunktebalken probiert.
Also $xy1 tanzt aus der Reihe weil es die Coord's vom Lebenspunktebalken sind.

€: Ich war beim Abschiedskonzert in der Columbiahalle :D
02/05/2009 18:17 Azunai#4
holy shit

Msgbox("","", "") <-- wtf?
msgbox(NUMBER,"STRING","STRING")
02/05/2009 18:26 aLasca#5
Das ist doch egal.. guck dir doch mal die Default Parameter von MsgBox an..Ich kriege keinen Error wegen der MsgBox, ich kriege die MsgBox WENN ein Error ist..
02/05/2009 18:56 | Moep |#6
Ehrlich gesagt wär ich das Thema vom Grund auf aders angegangen...
aber is dein Bier.

:bandit:


btw msgbox is korrekt
02/05/2009 18:58 aLasca#7
z.B.?? mach nen Vorschlag :)
02/05/2009 19:08 | Moep |#8
Wieso checkst du life 1 machst 5s pause, checkst life 2 machst 5s pause usw...

Damit kann man doch keine Gruppe obenhalten?! Glaube ich als noob monk wäre da effektiver ;)

Check doch einfach alle 4 mates direkt nacheinander, der der es am nötigsten hat bekommt dann den skill verpasst sobald der aufgeladen ist.


Edit: bisher hast du nur n makro gebastelt ;)
02/05/2009 19:19 aLasca#9
Naja das sollte auch erstmal nur so irgendwie bisschen rumspielen sein so von wegen Test ob das überhaupt geht :)
02/05/2009 23:08 blauwiggle#10
Quote:
Originally Posted by | Moep | View Post
Ehrlich gesagt wär ich das Thema vom Grund auf aders angegangen...
aber is dein Bier.

:bandit:
dito, denn früher oder später kommt ein Stack Overflow ..
02/06/2009 13:30 Azunai#11
das mit dem overflow kann ich immer noch nicht nachvolziehen, hab mich mal schlau gemacht,

autoit , zumindest die v3.5 + versionen, haben einen schutz dagegen...

dein bsp mit dem controlclick, ist das maximum des memory bereiches erreicht, fängt die func an rum zu spinnen (groß kleinschreibung) dies liegt jedoch daran, dass die bestehenden werte überschrieben werden, und somit sondertasten ausgelöst werden

nutzt du zb die "controlsend(bllaa......,1) <-- flag 1 = RAW"
dann hast du diese probleme nicht, der "buffer" wird nach jeder aktion geleert
ebenso kannst du die normale controlirgendwas() nutzen, und irgendwo controlsend("",..... ,"",1) in den code kritzeln, hiermit wird keine taste gedrückt, der buffer dennoch geleert

wobei ich nur RAW nutze, und noch nie nen bufferoverflow since Thunder V1 hatte ;)
02/06/2009 13:35 NBA#12
D.h ab v.0.0 - 0.9 hattest du bufferoverflow :D ?