Hi Leute,
derzeit spiele ich mal wieder nen wenig mit Auto It rum und stehe nun vor einem Problem deren Lösung mir leider noch nicht zu Kopf steigen wollte. Vieleicht könnt ihr mir ja helfen.
Hier mal ein Teil vom Code:
Code
Func FindMonster()
Send("{2 4}")
Sleep(50)
$Color = PixelGetColor(400, 35) ;Returns Decimal of the color. 0XF70000
;~ MsgBox(0, "Checking the Color", "Hexadecimal of Color " & Hex($Color, 6) & " Decimal of Color: " & $Color)
If $Color = 16187392 Then ;The Decimal of 0XF70000
$Color = 0
Call("Fight")
Else
;~ Pickup
Send("{2 4}")
MouseMove(500, 400, 1)
MouseDown("right")
MouseMove(502, 400)
MouseUp("right")
Sleep(50)
Send("{TAB}") ;Press TAB
EndIf
EndFunc ;==>FindMonster
;~ Auto Fight Function will not Call it
Func Fight()
Sleep(100)
Send("{1 5}")
$Color = PixelGetColor(485, 35) ;Returns Decimal of the color. 0X3A0000
;~ MsgBox(0, "Checking the Color", "Hexadecimal of Color " & Hex($Color, 6) & " Decimal of Color: " & $Color)
If $Color = 3801088 Then ;The Decimal of 0X3A0000
$Color = 0
Sleep(1000)
EndIf
Sleep(500)
Send("{2 5}")
Call("FindMonster")
EndFunc ;==>Fight
Alles anzeigen
Es geht um das PixelGetColor im zweiten Bereich, also bei Func Fight(). Hier soll nach möglichkeit so lang gewartet werden bis die oben angegebene Farbe erreicht ist. Die kann mal nach 1Sek, 5Sek, 7,3Sek u.a sein. Ein nicht definierter Wert der halt nach x-Sekunden schon erreicht sein kann. Erst dann soll wieder mit Func FindMonster() wieder angefangen werden.
Die oben angegebene Farbe ist dabei aber bloß ganz kurz zu sehen, ne halbe bis max eine Sekunde.
Habt ihr irgendwelche Ideen?
Vielen dank im vorraus,
Gruß SpiritOfVite