Hilfe! AutoIT Farbtoleranz?

12/24/2009 16:33 nickzulang#1
Moin, arbeite grad an nem simplen Autoshot für CS:S, hab Colored Models die Fullbright sind aber leider ändert sich die Farbe doch leicht von Map zu Map.
Deswegen wüsste ich jetzt gerne wie ich in dieses Script ne Toleranz einbaue dass er nicht nur bei 0x0000ff schiesst sondern auch bei leicht anderen Farben :D

Codestück sieht so aus

while 1
if PixelGetColor(719 , 449) = 0x0000ff Then
MouseClick("left")
EndIf
WEnd
12/24/2009 16:40 Kazaaa#2
Code:
; Find a pure red pixel or a red pixel within 10 shades variations of pure red
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000, 10 )
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
EndIf
Steht sogar in der Hilfe von AutoIt ;)
12/24/2009 16:41 Cholik#3
/edit: Kazaaa war schneller x......X
12/24/2009 17:10 nickzulang#4
while 1
$variable = PixelGetColor(719, 449)
if $variable = 0x0000ff Then
MouseClick("left")
EndIf
WEnd


So klappts jetzt, is aber sehr sehr langsam das ganze...
Gibts nen Weg dass er schneller checkt?
12/24/2009 17:26 Kazaaa#5
Quote:
Originally Posted by bl@cK! View Post
while 1
if PixelSearch( 710, 440, 730, 460, 0x0000FF, 10 ) then
MouseClick("left")
EndIf
WEnd


soweit siehts jetz aus, er soll halt nur ums Fadenkreuz rum gucken, aber iwie klappts net so ganz o.o (Hab auflösung 1440*900)
Code:
Func cs()
$coord = PixelSearch( 710, 440, 730, 460, 0xFF0000, 10 )
If Not @error Then
MouseClick("left")
Probiers am besten erstma aufm Desktop aus indem du mit Paint schnell n Bild machst in dem die Farben vorkommen (und statt MouseClick machst halt MsgBox damit du auch siehst das sich was tut)
12/24/2009 20:57 MoepMeep#6
Ich vermute einfach mal, dass die Funktion jeden pixel checkt, schreib dir einfach ne eigene Funktion die jeden 10. Pixel überprüft, sollte deutlich schneller sein ;)