Guten Tag,
ich bin noch mal, mit folgendem Problem: Ich habe mir mal einen "Pixelbot" gecodet, der nach dem bestimmten Pixel sucht und ihn dann anklickt. Das klappt auch alles sehr gut, nur möchte ich jetzt noch eine Funktion einbauen: Wenn ein anderer Pixel erscheint soll der Bot dann auch einmal auf diesen Pixel klicken. Leider passiert das in meinem Scipt noch nicht.
Danke!
Okay, ich habe mal ein Testscript gemacht.
Also: Wir haben z.B. eine Plattform vor uns, in der sich rote Pixel bewegen. Auf diese Pixel soll der Bot klicken. Dann erscheint auf einmal ein weißer Pixel. Nun sieht man mehrere rote und den einen weißen Pixel. Der Bot soll nun aber nur auf den weißen Pixel klicken. Dann weiter auf die roten.
ist zwar ein cpu killer wegen den vielen while schleifen, aber müsste klappen:
halt farbe und bildschirm anpassen...
dann einfach im spiel F1 bzw F2 drücken....
Das, mit meiner Theorie, im Vorpost, war nur ein Beispiel. Also, ich würde das Script gerne durch einen Klick, auf den Button starten. Auch die Checkboxen sollen mit eingebaut werden.
Danke!
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit
Case $Button1 if GUICtrlRead($Checkbox1) = 1 Then While 1 $ps = pixelsearch(xx,xx,xx,xx,0xxxxxx) If IsArray($ps) = True Then MouseClick("left",$ps[0],$ps[1]) EndIf
;So, jezt sucht der Bot nach der Farbe 0xxxxxx. Wie muss das jetzt aussehen, wenn auf einmal die andere Farbe auftaucht, auf die dann geklickt werden soll?
Nur mal so zur Info:
Eine Checkbox kann mehrere Styles besitzen, also geht GUICtrlRead($CheckBox) = 1 nicht immer, besser ist If BitAND($CheckBox, 1) Then
Code:
#include <GUIConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 253, 145, 193, 125)
$Checkbox1 = GUICtrlCreateCheckbox("Rot", 16, 40, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox2 = GUICtrlCreateCheckbox("Grün", 16, 64, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Label1 = GUICtrlCreateLabel("Nach welchen Farben sollen gesucht werden?", 16, 16, 224, 17)
$Button1 = GUICtrlCreateButton("Start", 16, 96, 219, 33, 0)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If BitAND($CheckBox1, 1) Then
_PixelSearch(...) ;Hier einfach die PixelSearch Parameter rein für Rot
ElseIf BitAND($CheckBox2, 1) Then
_PixelSearch(...) ;Hier einfach die PixelSearch Parameter rein für Grün
Else
MsgBox(0, "Error", "Please tick one of the checkboxes.")
Exit
EndIf
EndSwitch
WEnd
Func _PixelSearch($iLeft, $iTop, $iRight, $iBottom, $iHex)
Do
$Color = PixelSearch($iLeft, $iTop, $iRight, $iBottom, $iHex)
If IsArray($Color) Then
MouseClick("left", $Color[0], $Color[1], 1)
EndIf
Until GUIGetMsg() = -3
EndFunc