|
You last visited: Today at 15:32
Advertisement
autoIT Hilfe gesucht
Discussion on autoIT Hilfe gesucht within the AutoIt forum part of the Coders Den category.
07/08/2010, 07:30
|
#1
|
elite*gold: 0
Join Date: Jul 2008
Posts: 18
Received Thanks: 0
|
autoIT Hilfe gesucht
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
vielen dank für jede antwort
|
|
|
07/08/2010, 10:44
|
#2
|
elite*gold: 99
Join Date: May 2009
Posts: 1,020
Received Thanks: 400
|
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
|
|
|
07/08/2010, 17:51
|
#3
|
elite*gold: 255
Join Date: Nov 2009
Posts: 2,900
Received Thanks: 1,408
|
Wenn es zu schnell ist dann bau doch
" sleep() "
ein oder ersetze bei
" MouseClick("Left", 606, 533, 1, 1) "
die letzte " 1 " in dem Eingeklammertem mt einer höheren Zahl.
|
|
|
07/08/2010, 23:45
|
#4
|
elite*gold: 130
Join Date: Feb 2010
Posts: 7,443
Received Thanks: 2,756
|
KEINE FRAGEN + Falsche Sektion.
~>reported
|
|
|
07/09/2010, 05:20
|
#5
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
#moved
|
|
|
07/09/2010, 12:02
|
#6
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
wie _DownTime schon sagt, bau einfach überall ein sleep ein..
If PixelGetColor(181,300) = 0x6599BB Or 0xFFFFFF Then
MouseClick("Left", 181, 300, 1, 1)
Sleep(500)
EndIf
|
|
|
07/09/2010, 13:10
|
#7
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
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
For ist immer schneller als If.
|
|
|
07/10/2010, 12:13
|
#8
|
elite*gold: 0
Join Date: Jul 2008
Posts: 18
Received Thanks: 0
|
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
//edit: achso und ja sie verschwinden wieder ^^
|
|
|
07/10/2010, 18:37
|
#9
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
ohh mann... warum so umständlich?  machs so:
PHP Code:
HotKeySet("!{F1}", "_Exit")
While 1 $B = PixelSearch(141, 259, 900, 607, 0xFFFFFF , 2) if IsArray($B) = True Then MouseMove($B[0], $B[1], 1) MouseClick("left") Sleep(175) EndIf WEnd
Func _Exit() Exit EndFunc
benutz den au3info tool um die blaube farbe zu bekommen,und grenz den bereich ein wo die hasen da raus schauen....
müsste klappen...
|
|
|
07/10/2010, 19:25
|
#10
|
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
|
MouseDown - MouseUp ist schneller als MouseClick
|
|
|
07/10/2010, 20:17
|
#11
|
elite*gold: 0
Join Date: Jul 2008
Posts: 18
Received Thanks: 0
|
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
|
|
|
07/10/2010, 20:56
|
#12
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Babykiller
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 .
|
|
|
07/11/2010, 11:37
|
#13
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by Babykiller
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:
PHP Code:
MouseMove($B[0]+20, $B[1]+30, 1)
musst halt bischen rum testen bis es klappt
aber mit dem rot müsste glaube ich klappen...
|
|
|
Similar Threads
|
[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
|
All times are GMT +1. The time now is 15:34.
|
|