[AutoIt] Frage/Antworte Thread

06/15/2009 19:20 Pünti987#406
wenn ich auf den start button drücke fänngt er nicht ann zu Picken
06/15/2009 19:50 RoleS#407
Sieht das so aus ? :

Code:
: Dein 
: Gui

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
        	EndSwitch
$deinevariable = GUICtrlRead($dievariabledeinerinputbox)
WEnd


Func start()
while(1)
send($deinevariable,0)
sleep(500)
wend
EndFunc
06/15/2009 23:31 VII#408
Hallo Leute,

Da mir gerade etwas Langweilig war dachte ich, dass ich doch mal versuchen könnte einen mini bot zu schreiben. Nach einigen Stunden überlegen und vergeblichen suchen im WWW wende ich mich jetzt doch mal an euch. :)


Folgende Aufgabe:
Ich möchte solange einen Pixel abrufen bis er eine gewünschte Farbe hat und dann ein paar Tasten drücken. Nachdem diese gedrückt worden sind solange einen anderen Pixel abrufen bis er die gewünschte Farbe hat und dann wieder einige Tasten drückt.

Problem: Die 2. Pixelabfrage wird nicht durchgeführt und die Mausklicks gleich gemacht (wirkt zumidest so).

Hier mal ein kleiner Ausschnitt:


Code:
while 1
	If PixelGetColor(1132, 705) == "73792" Then
		ExitLoop

EndIf
WEnd

Sleep(2000)
Send("{F2}")
Sleep(100)
MouseClick("left", 720, 447) 


while 1
	If PixelGetColor(304, 999) == "9152110" Then
		ExitLoop

Endif
WEnd

Sleep(100)
Send("{F2}")
Sleep(100)
MouseClick("left", 720, 447) 
Sleep(100)
MouseClick("right", 1554, 94) 
Sleep(100)
MouseClick("left", 1554, 94)
Ich hoffe ihr versteht was ich machen möchte.
Bin erst seid kurzem in AutoIt unterwegs also nicht wundern wenn obiger Coder ein Totaler schwachsinn ist :facepalm:

Mfg
VII
06/16/2009 12:50 Benhero#409
Kann es sein das er den Pixel sofort findet?
06/16/2009 17:26 Pünti987#410
Quote:
Originally Posted by 50Millionen View Post
Sieht das so aus ? :

Code:
: Dein 
: Gui

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
        	EndSwitch
$deinevariable = GUICtrlRead($dievariabledeinerinputbox)
WEnd


Func start()
while(1)
send($deinevariable,0)
sleep(500)
wend
EndFunc
wenn ich das einfüge kommt schon wieder Fehlermeldung
06/16/2009 18:43 RoleS#411
Ist ja logisch wenn du die Variablen nicht mit deinen ersetzt !!!
06/16/2009 19:21 VII#412
Quote:
Originally Posted by Benhero View Post
Kann es sein das er den Pixel sofort findet?
:handsdown: Dankeschön.
Späte Stunde und müdes Hirn lässt grüßen. Habs jetzt gelöst.
Das Problem lag darinn, dass direkt nach dem MouseClick die Farbe noch "9152110" ist und erst ein paar ms danach sich ändert bevor sie wieder "9152110" annimmt.

-> kleines sleep rein und die Welt ist wieder heil ;)

Dann werd ich mal wieder weiter machen und hoffentlich reibungslos ab jetzt :D

Mfg
VII
06/17/2009 21:11 Pünti987#413
Quote:
Originally Posted by 50Millionen View Post
Ist ja logisch wenn du die Variablen nicht mit deinen ersetzt !!!
GuiCreate("Pic up Bot v 2 by Sismon",585,181,346,338)
GuiSetState()
GUICtrlcreatelabel ("Welche Taste soll Gedrückt werden",12,20)
GUICtrlcreatelabel ("Zeit abstant in milisekunden",40,50)
$number1 = GUICtrlCreateEdit ("", 240,14,125,20,0)
$number2 = GUICtrlCreateEdit ("", 240,52,125,20,0)
$addbutton1 = GUICtrlCreateButton (" Starten ", 10,70)
$subbutton2 = GUICtrlCreateButton (" Beenden ", 10,100)
$endbutton3 = GUICtrlCreateButton (" Programm Beenden ", 10,190)

$Read = GUICtrlRead($number1)
$Sleep= GUICtrlRead($number2)
While 1




$addbutton1 = GUICtrlRead($number1)
WEnd


Func start()
while(1)
send= GuiCtrlRead($number1)

sleep($number2)
wend
EndFunc

so kommt auch wieder fehlermeldung
06/18/2009 07:56 AlexXx99#414
hi marco hab mal ne frage. Wie hast du mit autoit angefangen ? bis du dann deine eigenen Bots erstellt hast. Danke schonmal !
06/18/2009 11:32 Benhero#415
Öhm? Du könntest Marco auch Via Pn Fragen >.< das wäre dann kein Spamm therad.

#gemeldet
06/18/2009 13:30 RoleS#416
Quote:
GuiCreate("Pic up Bot v 2 by Sismon",585,181,346,338)
GuiSetState()
GUICtrlcreatelabel ("Welche Taste soll Gedrückt werden",12,20)
GUICtrlcreatelabel ("Zeit abstant in milisekunden",40,50)
$number1 = GUICtrlCreateEdit ("", 240,14,125,20,0)
$number2 = GUICtrlCreateEdit ("", 240,52,125,20,0)
$addbutton1 = GUICtrlCreateButton (" Starten ", 10,70)
$subbutton2 = GUICtrlCreateButton (" Beenden ", 10,100)
$endbutton3 = GUICtrlCreateButton (" Programm Beenden ", 10,190)

$Read = GUICtrlRead($number1)
$Sleep= GUICtrlRead($number2)
While 1




$addbutton1 = GUICtrlRead($number1)
WEnd


Func start()
while(1)
send= GuiCtrlRead($number1)

sleep($number2)
wend
EndFunc
Sorry , aber irgendwie ist das Müll^^.

Hier ich habs dir mal verbessert:
06/18/2009 16:55 Pünti987#417
ja danke aber noch ein problem wie kann ich jetzt machen das es wenn ich auf den Beenden Button presse es auch wirklich beendet???
06/18/2009 17:32 RoleS#418
Dürfte sich eigentlich bei dem Ende Button beenden.
06/18/2009 17:43 Pünti987#419
ja er beendet sich nur wenn man den beenden button als erstes anklickt aber wenn ich zuerst picke Xd funzt er nicht mehr
06/18/2009 19:34 RoleS#420
Mach noch HotKeySet("{END}","Ende2")

:
:
:
Func Ende2()
Exit
EndFunc