|
You last visited: Today at 14:57
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
04/08/2013, 15:35
|
#1051
|
elite*gold: 0
Join Date: Mar 2008
Posts: 5
Received Thanks: 0
|
Wenns schon so nen tollen Thread gibt...
Mouseklick geht nicht, da die Ziele nach einer bestimmten Zeit auftauchen und ich nichts "falsches" anklicken will.
Es geht um ein Handyspiel, das ich via Bluestacks am PC spiele.
Koordinaten sowie Farben habe ich mir schon rausgeschrieben, weiß allerdings nicht, wie ich das vernünftig anwenden kann!
|
|
|
04/08/2013, 15:38
|
#1052
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Könntest du einen Screenshot von deinem Handyspiel und den Zielen hier  hochladen? Sowie die Farbcodes der Ziele.
MfG
|
|
|
04/08/2013, 15:40
|
#1053
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
Entweder regelst du das über eine Wartezeit (Sleep) oder prüfst einen bestimmten Pixel über Pixelsearch bis er seine Farbe ändert auf eine gewünschte (z.B. ein Button wurde anklickbar oder erscheint)
das ganze wäre über Pixelsearch, Scheifen und If Abfragen lösbar
|
|
|
04/08/2013, 15:43
|
#1054
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
moinsen
wie funktioniert die imagesearch.au3 genau?
Ich habe eine unförmige figur, bei der sich der hintergrund ändert. hintergund löschen und transparent machen? oder wird transparenz nicht unterstützt?
|
|
|
04/08/2013, 15:53
|
#1055
|
elite*gold: 0
Join Date: Mar 2008
Posts: 5
Received Thanks: 0
|
Quote:
Originally Posted by Achat
Könntest du einen Screenshot von deinem Handyspiel und den Zielen hier  hochladen? Sowie die Farbcodes der Ziele.
MfG
|
Quote:
Originally Posted by Der-Eddy
Entweder regelst du das über eine Wartezeit (Sleep) oder prüfst einen bestimmten Pixel über Pixelsearch bis er seine Farbe ändert auf eine gewünschte (z.B. ein Button wurde anklickbar oder erscheint)
das ganze wäre über Pixelsearch, Scheifen und If Abfragen lösbar
|
Ziel 1:

Bereich 755,97 - 813,115
Farbe 0x889E0D
Ziel 2:

Bereich 626,926 - 656,960
Farbe 0xFF6600
Ziel 3:

Bereich 778,921 - 827,968
Farbe 0x565656
Zwischen jedem Ziel ist immer eine variable Zeitdauer, bis sich der Bildschirm ändert. Daher bringt Sleep auch nicht viel, da es mal 10 Sek oder mal 90 Sek dauern kann.
|
|
|
04/08/2013, 16:05
|
#1056
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
Quote:
Originally Posted by butter123
moinsen
wie funktioniert die imagesearch.au3 genau?
Ich habe eine unförmige figur, bei der sich der hintergrund ändert. hintergund löschen und transparent machen? oder wird transparenz nicht unterstützt?
|
noch ne 2. frage dazu:
ich hab 3 quadrate. in einem befindet sich die figur. allerdings sind die quadrate gedreht also eher rauten. ich will rausfinden in welchem sie ist. jetzt such ich den einfachsten weg^^
drehmatrix und alles grade machen und dann normal obs dazwischen war meine erste idee, ist aber auch relativ aufwändig.
zweite idee: in polarkoordinaten bringen und koordinaten ursprung verschieben und über den winkel gehen.
|
|
|
04/08/2013, 16:46
|
#1057
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
@butter & @ cyddra
PixelSearch kann benutzt werden, bei größeren Bildern mehrere Farbwerte prüfen,
bei dem Bild

nach Blau suchen mit Pixelsearch, wenn dann bei 2. Pixelgetcolor($aPixelsearch[0]+X,$aPixelSearch[1]+Y) und 3. Pixelgetcolor($aPixelsearch[0]+X,$aPixelSearch[1]+Y) die Farbe auch dem Blau entspricht, dann wurde das Bild gefunden. $aPixelSearch entspricht der Position 1.
ImageSearch ist etwas verbuggt, außerdem erfordert ImageSearch eine DLL, zudem müssen noch Bilder von den Bildern eingebunden werden. PixelSearch/getcolor mit den richtigen Offsets ist eine gute Alternative zu Imagesearch.
Zur Geschwindigkeitsoptimierung:
Quote:
Originally Posted by Achat
Aero Design deaktivieren, beschleunigt PixelSearch/GetColor um 100 bis 1000
ca. <0.1 ms / Pixelgetcolor
MfG
|
MfG
|
|
|
04/09/2013, 09:34
|
#1058
|
elite*gold: 0
Join Date: Mar 2008
Posts: 5
Received Thanks: 0
|
Quote:
Originally Posted by Achat
@butter & @ cyddra
PixelSearch kann benutzt werden, bei größeren Bildern mehrere Farbwerte prüfen,
bei dem Bild

nach Blau suchen mit Pixelsearch, wenn dann bei 2. Pixelgetcolor($aPixelsearch[0]+X,$aPixelSearch[1]+Y) und 3. Pixelgetcolor($aPixelsearch[0]+X,$aPixelSearch[1]+Y) die Farbe auch dem Blau entspricht, dann wurde das Bild gefunden. $aPixelSearch entspricht der Position 1.
MfG
|
Ah ok, verstehe. Aber ein Befehl würde auch langen? Oder braucht man mehrere Referenzpunkte?
Wie genau packe ich das in eine Schleife, also dass er bei "If Not then" weitersucht?
EDIT: Also den ersten findet er immer und klickt auch brav dorthin. Ab dann ist irgendwie schluss...
Code:
HotKeySet ( "{F6}" , "Ende" )
$a = 0
$b = 0
$c = 0
While $a <=10
;Heimspiel
$acoord = PixelSearch( 755, 97, 813, 115, 0x889E0D )
If Not @error then
mouseClick("left", $acoord[0], $acoord[1])
EndIf
Sleep (100)
WEnd
While $b <=10
;Anstoß
$bcoord = PixelSearch( 778, 921, 827, 968, 0x565656 )
If Not @error then
mouseClick("left", $bcoord[0], $bcoord[1])
EndIf
Sleep (100)
WEnd
While $c <=10
;Exit
$ccoord = PixelSearch( 626, 926, 656, 960, 0xff6600 )
If Not @error then
mouseClick("left", $ccoord[0], $ccoord[1])
EndIf
Sleep (100)
WEnd
Func Ende ()
Exit
EndFunc
|
|
|
04/09/2013, 14:58
|
#1059
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Code:
$key = FileOpen("\key.txt")
StringReplace($key, "[LCLICK]", "")
StringReplace($key, "[RCLICK]", "")
StringReplace($key, "[EN]", "")
StringReplace($key, "[BS]", "")
FileClose($key)
Was ist daran falsch?
Wieso ersetzt er es nicht?
Also es passiert nada
Hab jz länger nicht mehr in AutoIt was gemacht und das wäre das einzige was mir einfällt
Quote:
Originally Posted by Cyddra
Ah ok, verstehe. Aber ein Befehl würde auch langen? Oder braucht man mehrere Referenzpunkte?
Wie genau packe ich das in eine Schleife, also dass er bei "If Not then" weitersucht?
EDIT: Also den ersten findet er immer und klickt auch brav dorthin. Ab dann ist irgendwie schluss...
Code:
HotKeySet ( "{F6}" , "Ende" )
$a = 0
$b = 0
$c = 0
While $a <=10
;Heimspiel
$acoord = PixelSearch( 755, 97, 813, 115, 0x889E0D )
If Not @error then
mouseClick("left", $acoord[0], $acoord[1])
EndIf
Sleep (100)
WEnd
While $b <=10
;Anstoß
$bcoord = PixelSearch( 778, 921, 827, 968, 0x565656 )
If Not @error then
mouseClick("left", $bcoord[0], $bcoord[1])
EndIf
Sleep (100)
WEnd
While $c <=10
;Exit
$ccoord = PixelSearch( 626, 926, 656, 960, 0xff6600 )
If Not @error then
mouseClick("left", $ccoord[0], $ccoord[1])
EndIf
Sleep (100)
WEnd
Func Ende ()
Exit
EndFunc
|
AutoIt macht nur 1 nach dem anderen. Aber, da du in einer Schleife bist, kann er ja nicht in den nächsten Befehl springen.
Du müsstest du das mit einem Timer in eins packen, dann sollte es funktionieren.
Oder ExitLoop. Bin mir aber nicht sicher ob das für While war oder nicht
|
|
|
04/09/2013, 15:33
|
#1060
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Du veränderst zwar die Variable $key, aber vergisst, den veränderten Text auch wieder in die Datei zu schreiben.
|
|
|
04/09/2013, 16:00
|
#1061
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Also müsste ich den StringReplace auch als $key deklarieren, oder?
|
|
|
04/09/2013, 16:03
|
#1062
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
Jop
außerdem ihn vielleicht noch irgendwo hinspeichern, sonst bleibt es nur bei einer Variable im Script
|
|
|
04/09/2013, 16:05
|
#1063
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Huch.
Daran gar nicht gedacht
|
|
|
04/09/2013, 17:59
|
#1064
|
elite*gold: 0
Join Date: Mar 2008
Posts: 5
Received Thanks: 0
|
Quote:
Originally Posted by Achat
AutoIt macht nur 1 nach dem anderen. Aber, da du in einer Schleife bist, kann er ja nicht in den nächsten Befehl springen.
Du müsstest du das mit einem Timer in eins packen, dann sollte es funktionieren.
Oder ExitLoop. Bin mir aber nicht sicher ob das für While war oder nicht 
|
Ah ok, danke!
Ich hab gedacht, wenn pixelsearch den pixel findet und dann den mouseclick macht, das dann die Schleife beendet wird.
Vielleicht weiß ja jemand, wie man sowas dann beenden kann?
Evtl einfach mit dem mouseclick eine variable hochsetzten, die die While Schleife beendet?
|
|
|
04/09/2013, 18:50
|
#1065
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
Quote:
Originally Posted by Cyddra
Ah ok, danke!
Ich hab gedacht, wenn pixelsearch den pixel findet und dann den mouseclick macht, das dann die Schleife beendet wird.
Vielleicht weiß ja jemand, wie man sowas dann beenden kann?
Evtl einfach mit dem mouseclick eine variable hochsetzten, die die While Schleife beendet?
|
Schau dir mal den Befehl ExitLoop an
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 14:58.
|
|