|
You last visited: Today at 08:18
Advertisement
AutoIt Pixelsearch Problem
Discussion on AutoIt Pixelsearch Problem within the General Coding forum part of the Coders Den category.
05/26/2010, 13:29
|
#1
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
AutoIt Pixelsearch Problem
Hallo Users,
ich habe mir gedacht ich schreib mal einen Bot für Nostale der beim Minigame Steinbruch immer lvl 5 Belohnung holen soll. Nur das Problem ist dass ich nicht weiss wie ich mit Pixelsearch umgehen soll, also hab ich mir den Pixelsearch-Teil von einem Bot rüberkopiert. Doch mein Bot will jetzt nicht funktionieren
So sieht der jetzt im Moment aus
Quote:
HotKeySet('{INSERT}',"button1")
HotKeySet('{END}',"button3")
GuiCreate("Mingame Bot (Steinbruch)",277,197)
$button1=GuiCtrlCreateButton("Start the Bot!",33,50)
$button3=GuiCtrlCreateButton("End the Bot",33,130)
$label1=GuiCtrlCreateLabel("Hotkey: S",150,50)
$label3=GUICtrlCreateLabel("Hotkey: E",150,130)
GuiSetState()
While 1
$msg=GuiGetMsg()
If $msg=-3 Then Exit
If $msg=$button1 Then button1()
If $msg=$button3 Then button3()
Wend
Func button1()
MsgBox(0,"Minigame Bot (Steinbruch)","You started the Bot")
While 1
$pixCord = PixelSearch(501,675,540,679,6549205)
if not @error then send ("{LEFT}")
Sleep (10)
$pixCord = PixelSearch(734,675,773,679,6549205)
if not @error then Send ("{RIGHT}")
Sleep (10)
Send ("{UP}")
WEnd
EndFunc
Func button3()
$var = MsgBox(4,"Exit the Bot","Do you want to exit?")
if $var = 7 then return
Exit 0
EndFunc
|
Beim roten Teil liegt mein Problem. Kann mir bitte einer helfen?
mfg
Mr.K
|
|
|
05/26/2010, 13:56
|
#2
|
elite*gold: 9
Join Date: Apr 2009
Posts: 10,163
Received Thanks: 3,810
|
Wo liegt denn dein Problem bzw. was funktioniert nicht?
€dit: Und was soll es denn machen?
€€dit: Gehört in die AutoIT Sektion.  #reported
|
|
|
05/26/2010, 14:06
|
#3
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
Also bei dem minispiel muss man auf einen stein hauen um punkte zu bekommen. und von links und rechts kommen würmer, diese soll er durch den pixelsearch hauen und wenn keine würmer kommen soll er den stein hauen. Er tut beides nicht ...
|
|
|
05/26/2010, 14:16
|
#4
|
elite*gold: 9
Join Date: Apr 2009
Posts: 10,163
Received Thanks: 3,810
|
Hast du auch die richtige Farbe benutzt (btw wieso ohne 0x).
Er soll also auf die Würmer hauen? Mit der Maus? Oder soll er nur nach links oder rechts "klicken" mit den Pfeiltasten?
Wo hast du den Part dass er auf den Stein hauen soll wenn keine Würmer da sind?
|
|
|
05/26/2010, 14:25
|
#5
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
der teil mit pixelsearch sollte eig funktionieren hab ich mir gedownloaded  ja mit den pfeiltasten und das hier sollte der teil mit auf den stein hauen sein Send ("{UP}")
|
|
|
05/26/2010, 14:28
|
#6
|
elite*gold: 9
Join Date: Apr 2009
Posts: 10,163
Received Thanks: 3,810
|
Also nochmal, du suchst den Bildschirm auf Würmer ab, wenn welche da sind gehst du mit der Pfeiltaste nach links, wenn nicht, dann nach rechts?
BTW. ich hoffe du hast wenigstens die Farben bei PixelSearch angepasst.
|
|
|
05/26/2010, 14:41
|
#7
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
wenn keine würmer da sind drückt er Up pfeiltaste hoch wenn welche da sind je nachdem welche seite dann rechts oder links
die farben und alles hab ich aus dem bot wo ich gedownloaded hab weiss nicht wie man farben anpasst ...
|
|
|
05/26/2010, 15:37
|
#8
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
du gehst auf "start/programme/AutoIT und drückst auf AutoIt Window Info"
dann drückst du in unteren bereich auf den kleinen pfeil nach rechts so lange bist du die option "Mouse" siehst. drück auf "Mouse".
so jetz musst du in dein spiel rein. wenn sich deine ziele bewegen drück am besten einmal die "druck-taste" oder "PrtScr-taste" dann öffne "paint" (start/programme/zubehör/paint)
dort machst du nun "rechte maus-taste" und "einfügen".
jetz siehst du dein bild was du kopiert hast (per "druck-knopf")
im Window Info ist ein "Finder Tool" drücke auf dieses runde ding und halte die maus gedrückt,
und geh nun (in paint) auf dein ziel und lass die maus los.
dann siehst du unten: Color 0xFFFFFFF <- das ist dann deine farbe.
aber da du es gedownloaded hast!(?) müsste es richtig sein also änder das:
$pixCord = PixelSearch(501,675,540,679,6549205)
in
$pixCord = PixelSearch(501,675,540,679,0x6549205) bei beiden.
|
|
|
05/26/2010, 15:39
|
#9
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by tequilla95
wenn keine würmer da sind drückt er Up pfeiltaste hoch wenn welche da sind je nachdem welche seite dann rechts oder links
die farben und alles hab ich aus dem bot wo ich gedownloaded hab weiss nicht wie man farben anpasst ...
|
Mit einem Wissen über AutoIt von 0,2 (vllt sogar 0,21) wirst du den Bot wohl nie alleine funktionierend fertig machen ...
Deswegen kann ich dir nur empfehlen ein paar Tuts durchzumachen , die meisten sind recht schön erklärt und viele beschäftigen sich auch genau mit der selben Thematik wie du .
Kleine Auswahl an Tuts (Am besten der Reihe nach durcharbeiten) :
http:// www . autoitbot . de/coding-bereich-autoit-bot-community/tutorials/autoit/1046-gui-tut/
(Kann mir mal jemand sagen , warum das zensiert wird ?)
Und noch was exotisches :
|
|
|
05/26/2010, 16:10
|
#10
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
Danke aber ich glaube das problem liegt nicht bei der Farbe denn die hab ich jetzt geändert aber der Bot schlägt auch nicht auf den Stein ( d.h. der Bot scannt die Pixel garnicht)
|
|
|
05/26/2010, 16:23
|
#11
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by omer36
du gehst auf "start/programme/AutoIT und drückst auf AutoIt Window Info"
dann drückst du in unteren bereich auf den kleinen pfeil nach rechts so lange bist du die option "Mouse" siehst. drück auf "Mouse".
so jetz musst du in dein spiel rein. wenn sich deine ziele bewegen drück am besten einmal die "druck-taste" oder "PrtScr-taste" dann öffne "paint" (start/programme/zubehör/paint)
dort machst du nun "rechte maus-taste" und "einfügen".
jetz siehst du dein bild was du kopiert hast (per "druck-knopf")
im Window Info ist ein "Finder Tool" drücke auf dieses runde ding und halte die maus gedrückt,
und geh nun (in paint) auf dein ziel und lass die maus los.
dann siehst du unten: Color 0xFFFFFFF <- das ist dann deine farbe.
aber da du es gedownloaded hast!(?) müsste es richtig sein also änder das:
$pixCord = PixelSearch(501,675,540,679,6549205)
in
$pixCord = PixelSearch(501,675,540,679,0x6549205) bei beiden.
|
Ist dir schonmal aufgefallen , dass man hexadzeimal zahlen auch im Dezimalsystem darstellen kann ?
Und ich bin mir ziehmlich sicher , dass das eine Dezimale Farbe ist , da wenn man es als Hexadezimalzahl schreiben würde eine Zahl fehlt (könnte auch so funktionieren , ist aber sehr ungewöhnlich) .
Von daher wird die Farbe (zumindest die Darstellungsweise) schon stimmen ...
@tequilla95
Du kannst ja mal versuchen die Farbvariation zu erhöhen , dann dürftest du wohl eher ein Ergbeniss finden .
Eventuel hilft dir auch ImageSearch bzw. PixelChecksum , du musst halt mal rumprobieren
|
|
|
05/26/2010, 16:34
|
#12
|
elite*gold: 9
Join Date: Apr 2009
Posts: 10,163
Received Thanks: 3,810
|
Hast du auch den richtigen Bereich gewählt, indem der Pixel gesucht werden soll?
|
|
|
05/26/2010, 19:09
|
#13
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
Ich habe den Bereich gewählt, der Bot funktioniert (nur nicht im GAME) auf meinem Desktop. Sieht wie folgt aus:
Quote:
#include <GUIConstantsEx.au3>
HotKeySet('{INSERT}',"button1")
HotKeySet('{END}',"button3")
GuiCreate("Mingame Bot (Steinbruch)",277,197)
$button1=GuiCtrlCreateButton("Start the Bot!",33,50)
$button3=GuiCtrlCreateButton("End the Bot",33,130)
$label1=GuiCtrlCreateLabel("Hotkey: INSERT",150,50)
$label3=GUICtrlCreateLabel("Hotkey: END",150,130)
GuiSetState(@SW_SHOW)
While 1
$msg=GuiGetMsg()
If $msg=-3 Then Exit
If $msg=$button1 Then button1()
If $msg=$button3 Then button3()
Wend
Func button1()
MsgBox(0,"Minigame Bot (Steinbruch)","You started the Bot")
While 1
$pixCord = PixelSearch(450,650,510,680,0xD5B830)
if not @error then send ("{LEFT}")
Sleep (10)
$pixCord = PixelSearch(660,635,710,680,0xF8D547)
if not @error then Send ("{RIGHT}")
Sleep (10)
Send ("{UP}")
WEnd
EndFunc
Func button3()
$var = MsgBox(4,"Exit the Bot","Do you want to exit?")
if $var = 7 then return
Exit 0
EndFunc
|
Kann mir wer verraten was ich falsch gemacht habe?
|
|
|
05/26/2010, 20:06
|
#14
|
elite*gold: 0
Join Date: Nov 2007
Posts: 66
Received Thanks: 7
|
You need to either declare your variables at top as global or dim, or as local inside your loop.
I wouldn't place func in main loop I normally just call it and sleep() also you need variation in what color your looking for 20 is pretty slight 80 is great.
Code:
Func new()
local $pixelCord
TrayTip("Minigame Bot (Steinbruch)", "You started the Bot", 2, 1)
$pixCord = PixelSearch(450, 650 , 510 , 680 , 0xD5B830, 20)
If @error Then
send ("{RIGHT}")
Sleep (10)
Else
send ("{LEFT}")
Sleep (10)
EndIf
EndFunc
|
|
|
05/26/2010, 20:11
|
#15
|
elite*gold: 18
Join Date: May 2010
Posts: 616
Received Thanks: 179
|
Quote:
send ("{UP}") is right or not?
|
|
|
 |
|
Similar Threads
|
AutoIt PixelSearch Problem
02/07/2010 - AutoIt - 3 Replies
Hi,
Ich bin gerade an einem Bot,
beschäftigt und möchte in diesem Bot gerne PixelSearch benutzen
Nur wenn ich das in einer While Schleife mache klickt er nur noch und macht die anderen Sachen nicht mehr ..
Hoffe ihr könnt mir helfen
Mfg Selman99
|
[AutoIt] Pixelsearch
02/03/2009 - General Coding - 3 Replies
Hallo Leute,
Ich hab mir vor kurzem ein Angelbot mit einer Pixelsearchfunktion gemacht,
nur das Problem ist, dass ich nicht weis was ich schreiben soll nachdem er den Pixelsearch nach dem Pixel gemacht hat. Also dass er dann die Angel rauszieht:
...
While (1)
$Fischblase = PixelSearch(518, 198, 520, 200, 0xFCF8FB)
If ??? Then
sleep ( 2500 )
Send ( "{F4 down}" , 0 )
|
[AutoIt] Problem mit PixelSearch.
08/19/2007 - General Coding - 3 Replies
Moin moin.
Ich hatte die Idee, dass man mit AutoIt ein PickIt Programm fuer D2 schreiben koennte. Hier erstmal der Code..
Soweit, so gut.. hm. Meine Idee dahinter war es, dass ich ein Script einfach nach der Farbe des Unique Tags in D2 (#958166) suchen und dann einen Mausklick auf das/die entsprechenden Pixel ausfuehren lasse..
Problem: Zurzeit funktioniert daran nichts, ausser die Terminate Funktion. Vielleicht kann mir ja jemand auch diesmal weiterhelfen ;>
|
All times are GMT +1. The time now is 08:18.
|
|