Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 05:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt Pixelproblem

Discussion on AutoIt Pixelproblem within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Question AutoIt Pixelproblem

Guten Tag,
ich bin noch mal, mit folgendem Problem: Ich habe mir mal einen "Pixelbot" gecodet, der nach dem bestimmten Pixel sucht und ihn dann anklickt. Das klappt auch alles sehr gut, nur möchte ich jetzt noch eine Funktion einbauen: Wenn ein anderer Pixel erscheint soll der Bot dann auch einmal auf diesen Pixel klicken. Leider passiert das in meinem Scipt noch nicht.
Danke!
SpuaḺ is offline  
Old 06/28/2010, 18:51   #2
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
PHP Code:
$check PixelSearch(...)

If 
_IsArray($checkThen
...
Else
...
EndIf 
mipez is offline  
Old 06/28/2010, 20:18   #3
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
ohne dein script gesehen zu haben kann man nur raten was bei dir nicht funktioniert.
kknb is offline  
Thanks
1 User
Old 06/28/2010, 23:02   #4
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Okay, ich habe mal ein Testscript gemacht.
Also: Wir haben z.B. eine Plattform vor uns, in der sich rote Pixel bewegen. Auf diese Pixel soll der Bot klicken. Dann erscheint auf einmal ein weißer Pixel. Nun sieht man mehrere rote und den einen weißen Pixel. Der Bot soll nun aber nur auf den weißen Pixel klicken. Dann weiter auf die roten.

PHP Code:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"253145193125)
$Checkbox1 GUICtrlCreateCheckbox("Rot"16409717)
GUICtrlSetState(-1$GUI_CHECKED)
$Checkbox2 GUICtrlCreateCheckbox("Grün"16649717)
GUICtrlSetState(-1$GUI_CHECKED)
$Label1 GUICtrlCreateLabel("Nach welchen Farben sollen gesucht werden?"161622417)
$Button1 GUICtrlCreateButton("Start"1696219330)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$Button1
    
EndSwitch
WEnd 
SpuaḺ is offline  
Old 06/28/2010, 23:29   #5
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
ist zwar ein cpu killer wegen den vielen while schleifen, aber müsste klappen:
halt farbe und bildschirm anpassen...
dann einfach im spiel F1 bzw F2 drücken....

PHP Code:
HotKeySet("{ESC}""_exit")
HotKeySet("{F1}""_rot")
HotKeySet("{F2}""_grun")



Func _rot()
While 
1
    $B 
PixelSearch(414510167090xDC2435)
    If 
IsArray($B) = True Then
        MouseMove
($B[0], $B[1], 1)
        
MouseClick("left")
    EndIf
WEnd
EndFunc


Func _grun
()
While 
1
    $B1 
PixelSearch(414510167090xF4AA15)
    If 
IsArray($B1) = True Then
        MouseMove
($B1[0], $B1[1], 1)
        
MouseClick("left")
    EndIf
WEnd
EndFunc

While 1
    Sleep
(100)
WEnd

Func _exit
()
    Exit
EndFunc 
omer36 is offline  
Old 06/28/2010, 23:48   #6
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Das, mit meiner Theorie, im Vorpost, war nur ein Beispiel. Also, ich würde das Script gerne durch einen Klick, auf den Button starten. Auch die Checkboxen sollen mit eingebaut werden.
Danke!
SpuaḺ is offline  
Old 06/29/2010, 08:24   #7
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
das ist ja wohl mehr als simpel,
einfach so machen:

PHP Code:
Case $Button1
if GUICtrlRead($Checkbox1) = 1 Then 
ist ja wohl ziemlich selbst erklärend oder findest du nicht?
bladerofdarknes is offline  
Old 06/29/2010, 10:58   #8
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Quote:
Originally Posted by bladerofdarknes View Post
das ist ja wohl mehr als simpel,
einfach so machen:

PHP Code:
Case $Button1
if GUICtrlRead($Checkbox1) = 1 Then 
ist ja wohl ziemlich selbst erklärend oder findest du nicht?
Es geht ja leider auch nicht darum, wie man eine Checkbox checkt, sondern wie man nach 2 Pixeln suchen lässt.

Ich gebe mal eine kleine Starthilfe:

PHP Code:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"253145193125)
$Checkbox1 GUICtrlCreateCheckbox("Rot"16409717)
GUICtrlSetState(-1$GUI_CHECKED)
$Checkbox2 GUICtrlCreateCheckbox("Grün"16649717)
GUICtrlSetState(-1$GUI_CHECKED)
$Label1 GUICtrlCreateLabel("Nach welchen Farben sollen gesucht werden?"161622417)
$Button1 GUICtrlCreateButton("Start"1696219330)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$Button1
if GUICtrlRead($Checkbox1) = 1 Then
While 1
$ps 
pixelsearch(xx,xx,xx,xx,0xxxxxx)
If 
IsArray($ps) = True Then
MouseClick
("left",$ps[0],$ps[1])
EndIf

;
Sojezt sucht der Bot nach der Farbe 0xxxxxxWie muss das jetzt aussehenwenn auf einmal die andere Farbe auftauchtauf die dann geklickt werden soll?

    EndSwitch
WEnd 
SpuaḺ is offline  
Old 07/03/2010, 23:57   #9
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
push

niemand ne lösung? oO

SpuaḺ is offline  
Old 07/04/2010, 00:28   #10
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Nur mal so zur Info:
Eine Checkbox kann mehrere Styles besitzen, also geht GUICtrlRead($CheckBox) = 1 nicht immer, besser ist If BitAND($CheckBox, 1) Then

Code:
#include <GUIConstants.au3>

#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 253, 145, 193, 125)
$Checkbox1 = GUICtrlCreateCheckbox("Rot", 16, 40, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox2 = GUICtrlCreateCheckbox("Grün", 16, 64, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Label1 = GUICtrlCreateLabel("Nach welchen Farben sollen gesucht werden?", 16, 16, 224, 17)
$Button1 = GUICtrlCreateButton("Start", 16, 96, 219, 33, 0)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			If BitAND($CheckBox1, 1) Then
				_PixelSearch(...) ;Hier einfach die PixelSearch Parameter rein für Rot
			ElseIf BitAND($CheckBox2, 1) Then
				_PixelSearch(...) ;Hier einfach die PixelSearch Parameter rein für Grün
			Else
				MsgBox(0, "Error", "Please tick one of the checkboxes.")
				Exit
			EndIf
	EndSwitch
WEnd

Func _PixelSearch($iLeft, $iTop, $iRight, $iBottom, $iHex)
	Do
		$Color = PixelSearch($iLeft, $iTop, $iRight, $iBottom, $iHex)
		If IsArray($Color) Then
			MouseClick("left", $Color[0], $Color[1], 1)
		EndIf
	Until GUIGetMsg() = -3
EndFunc
PenGuin :O is offline  
Reply




All times are GMT +1. The time now is 05:10.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.