Hallo, ich habe mal eine frage ... man stelle sich ein viereck vor welches aus 3x3 feldern besteht .... nun möchte ich ein skript bauen, welches durchgängig immer wieder alle felder überprüft, ob sich eine farbe ändert... wenn dies der fall ist soll ein klick erfolgen .... das habe ich soweit schon hinbekommen, aber das problem, welches ich zurzeit habe ist, das dieses programm zu schnell arbeitet... sprich wenn auf feld 5 und 9 sich die farbe geändert hat, klickt das programm nur zwischen diesen beiden hin und her und "vergisst" sozusagen mal feld 1
hier mal mein quellcode:
Code:
HotKeySet("{F6}", "Ende")
While 1
If PixelGetColor(181,300) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 181, 300, 1, 1)
EndIf
If PixelGetColor(394,300) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 394, 300, 1, 1)
EndIf
If PixelGetColor(606,300) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 606, 300, 1, 1)
EndIf
If PixelGetColor(181,414) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 181, 414, 1, 1)
EndIf
If PixelGetColor(394,414) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 394, 414, 1, 1)
EndIf
If PixelGetColor(606,414) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 606, 414, 1, 1)
EndIf
If PixelGetColor(181,533) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 181, 533, 1, 1)
EndIf
If PixelGetColor(394,533) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 394, 533, 1, 1)
EndIf
If PixelGetColor(606,533) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 606, 533, 1, 1)
EndIf
WEnd
Func Ende()
Exit
EndFunc
du müsstest mal genau beschreiben was es machen soll^^ so wie ich das verstanden habe:
Wenn auf Feld 1 eine Farbe erscheint soll er 1mal drauf drücken, und nicht immer wieder, dann wenn auf Feld 6 die Farbe erscheint, soll er 1mal drauf drücken und auch nicht immer wieder?
Verschwindet die Farbe oder bleibt sie da?
Wie oft soll er drauf drücken?
Beantworte die paar Fragen und ich helf dir weiter
Würde auch direkt die CPU Probleme beheben, die durch diese Schleife entstehen.
Hab hier mal die Performance erhöht und den Fehler korrigiert. Source kürzer gemacht und das Script schneller auswerten lassen
Code:
HotKeySet("{F6}", "Ende")
Dim $aX[3] = [181, 394, 606]
Dim $aY[3] = [300, 414, 533]
While Sleep(50)
For $a = 0 To 2
For $b = 0 To 2
If PixelGetColor($aX[$b], $aY[$a]) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", $aX[$b], $aY[$a], 1)
Sleep(500)
EndIf
Next
Next
WEnd
Func Ende()
Exit
EndFunc ;==>Ende
ja an die sleep funktion hatte ich auch schon gedacht .... das problem bei sleep ist nur das wärend des sleeps ja nichts anderes passiert .... und bei diesem spiel wofür ich den bot bauen will ist so gebaut das mehrere klicks folgen müssen ... zur einfachen verständnis ein screen
omer36 das skript ist ja cool ^^ aber wenn ich die blaue farbe von den hasen einfüge dann klickt er nur (logischer weise) auf die höchste stelle die blau ist ... sprich auf die ohren und es passiert oft, das er daneben schlägt
omer36 das skript ist ja cool ^^ aber wenn ich die blaue farbe von den hasen einfüge dann klickt er nur (logischer weise) auf die höchste stelle die blau ist ... sprich auf die ohren und es passiert oft, das er daneben schlägt
Dann addier doch immer 20 pixel auf die X und 20-40 auf die Y Koordinate drauf , dann sollte es gehen .
omer36 das skript ist ja cool ^^ aber wenn ich die blaue farbe von den hasen einfüge dann klickt er nur (logischer weise) auf die höchste stelle die blau ist ... sprich auf die ohren und es passiert oft, das er daneben schlägt
dann such nach dem "rot" in deren mündern. (dann halt aufpassen, das es die piltze im hintergrund nicht trifft, oder machs wie shadow es sagt, dann müsstest du das ergänzen:
[Autoit]Tut-gesucht^^ 07/24/2010 - Off Topic - 1 Replies -------------------------------------------------- ------------------------
ich glaub ihr versteht mein problem.
Ich checke dieses tutorial auf autoit.de nicht.
könnte jmd gebrauchen der mir sozusagen als "erklärer" hilft^^
habs schon vor ein paar jahren versucht... aber gescheitert.
Seitdem vesuch ichs an c++ aber klappt auch nicht VIEL besser^^
deswegen fang ich jetzt wieder mit dme alten autoit an^^
würde mich auf antworten freuen ( icq: 448172994 msn: [email protected]...
hilfe für autoit gesucht in sachen pixelsearch 12/01/2008 - Metin2 - 4 Replies hi, ich wollte mich mal dranmachen und für den eigenbedarf ein tool scripten mit autoit, dass die lockmobs funktion und 1 hit attack auschaltet sobald in gelber bzw. lila punkt auf der minimap erscheint. Leider hab ich aber nicht den blassesten schimmer wie ich das mit der pixelerkennung machen soll. Vll kann mir da jemand helfen:rolleyes:
THX im vorraus an alle