Func _Fischtoeten() Switch $Fischkiller Case 0 ; Welchen Wert muss ich hier eintragen? Sleep ( 10 ) Case Else For $e = 1 To UBound ( $Fisch ) -1 $Coord2 = PixelSearch ( 877, 450, 1005, 578, $Fisch[$e], 0, 32 ) If Not @error Then MouseClick ( "right", $Coord2[0], $Coord2[1], 1, 7 ) Sleep ( 100 ) _Fischtoeten() EndIf Next EndSwitch EndFunc
Also, mein Problem ist, dass der Bot immer nach Fischen sucht, egal ob dort ein Haken ist oder nicht. Deshalb brauche ich den Wert, den ich an der Stelle einsetzte statt Case 0.
Ich hab zwar in der Autoit hilfe nachgeschaut, aber mit Control-ID kann ich wenig anfangen. Wenn jemand weis ich ich das einbauen kann.
Und kenn vieleicht jemand ein GUI AutoIt Tutorial?
If BitAND($Fischkiller, $GUI_CHECKED) = $GUI_CHECKED Then
; Funktion
EndIf
Also eigentlich wurde die Antwort schon gepostet, auch wenn sie einen kleinen Fehler enthält:
PHP Code:
If BitAND(GuiCtrlRead($Fischkiller), $GUI_CHECKED) = $GUI_CHECKED Then
; Funktion
EndIf
Da ich mal stark annehme das der Threadersteller nicht weiß wofür man mal das BitAnd braucht hier mal eine kleine Erklärung der And Operation:
Um die And Operation zu verstehen muss man sich die Werte mal im Binär System angucken. Gehen wir mal davon aus das wir 2 Werte haben. Der erste steht ein Wert der verschiedene Zustände enthält(zB: Zustand1 = true, Zustand2 = false usw.). Der zweite Wert steht für genau einen dieser Zustände(zB Zustand3 = true) und nun soll überprüft werden, ob Zustand3 zutrifft.
Der Ansatzt ist ganz einfach:
00100110 00000100
Diese beiden Werte stellen die obengenannten Werte/Beispiele in dem Binärsystem da. Um nun überprüfen zu können, ob der dritte Zustand also die dritte Stelle von rechts gesetzt oder nicht gesetzt ist, benötigen wird eine And Operation. Diese setzt nur die Stellen auf 1, welche in den zu vergleichenden Werten beide auf 1 stehen also:
00100110 00000100
ergibt:
00000100
Also ist der Zustand = true. Sollte jedoch der Wert 00000000 lauten, ist der Zustand = false.