Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 20:15

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

Advertisement



Brauche hilfe pixelget/search etc

Discussion on Brauche hilfe pixelget/search etc within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Brauche hilfe pixelget/search etc

Ich bin langsam am verzweifeln
Ich habe das schon vor nem jahr mal so gemacht weiß aber echt net mrh und komm auch net drauf wie ich das gelöst hab.
Also :
Mit pixelgetcolor wird eine farbe bestimmt
danach soll überbrüft werden ob diese farbe wieder da ist (unbedingt auch mit pixelgetcolor!!!)

Mir fällts grad echt net ein wie das gehen soll
(isarray geht nicht)
YatoDev is offline  
Old 01/26/2013, 03:46   #2
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403




MfG
Achat is offline  
Thanks
1 User
Old 01/26/2013, 04:26   #3
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
-_-
1. Suche zb 4 Punkte auf der Map ab und speichere deren Farbwerte in eine Variable.
2. Bewege dich
3. Suche erneut an den 4 selben Punkten nach der Farbe und speichere die Werte separat in Variablen
4. Vergleiche die Variablen...
kannst du mir einfach sagen wie ich das mache ich komm da grad echt net drauf ist ja nicht so das ich es nicht könnte .
YatoDev is offline  
Old 01/26/2013, 10:36   #4
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
prinziep:

1. farbe einmalig einlesen und zusammen mit coordinaten speichern
2. dauerhaft farbe von gespeicherten coordinaten mit gespeicherter farbe vergleichen

beispiel code:
Code:
Dim $user32 = DllOpen('user32.dll')
Dim $newPosCtrl[4][2] = [['X',0],['Y',0],['Set',0],['Cancel',0]], $pixelColor[3], $running = False, $mouseCheckState = False, $text[2] = ['Start','Stop']
$gui = GUICreate('GUI', 200, 105, Default, Default, 0x10C80000, 8)
$setPosCtrl = GUICtrlCreateButton('Set Current', 10, 10, 180, 20)
GUICtrlCreateGroup('Current Color', 10, 30, 180, 40)
$pixelColorCtrl = GUICtrlCreateLabel('', 15, 45, 170, 20, 0x1001)
SetColor(0,0)
$startCtrl = GUICtrlCreateButton('Start checking for changes', 10, 75, 180, 20)

$childGui = GUICreate('Set Current', 200, 120, Default, Default, 0xC00000, Default, $gui)
For $i=0 To 1
	GUICtrlCreateGroup($newPosCtrl[$i][0], 10, 10+$i*40, 100, 40)
	$newPosCtrl[$i][1] = GUICtrlCreateInput('', 15, 25+$i*40, 90, 20, 0x2000)
	$newPosCtrl[$i+2][1] = GUICtrlCreateButton($newPosCtrl[$i+2][0], 110, 15+$i*40, 80, 36)
Next
$mousePosCtrl = GUICtrlCreateButton('By Mouse Position', 10, 95, 180, 20)


While True
	$msg = GUIGetMsg(1)
	Switch $msg[0]
		Case -3
			Exit
		Case $setPosCtrl
			GUISetState(@SW_SHOW, $childGui)
		Case $newPosCtrl[0][1], $newPosCtrl[1][1]
			ToolTip('')
		Case $newPosCtrl[2][1]
			If StringIsInt(GUICtrlRead($newPosCtrl[0][1])) And StringIsInt(GUICtrlRead($newPosCtrl[1][1])) Then
				$pixelColor[0] = GUICtrlRead($newPosCtrl[0][1])
				$pixelColor[1] = GUICtrlRead($newPosCtrl[1][1])
				SetColor($pixelColor[0], $pixelColor[1])
				GUISetState(@SW_HIDE, $childGui)
			Else
				ToolTip('Enter the X and Y postion to set first!', Default, Default, 'Error', 3, 5)
			EndIf
		Case $newPosCtrl[3][1]
			GUISetState(@SW_HIDE, $childGui)
			ToolTip('')
		Case $startCtrl
			ChangeState()
		Case $mousePosCtrl
			GUISetState(@SW_HIDE, $childGui)
			$mouseCheckState = True
	EndSwitch

	If $mouseCheckState And _IsPressed(1) Then
		SetColor(MouseGetPos(0), MouseGetPos(1))
		$mouseCheckState = False
	EndIf

	If $running Then
		If PixelGetColor($pixelColor[0], $pixelColor[1]) <> $pixelColor[2] Then
			MsgBox(64, 'Info', 'Change detected')
			ChangeState()
		EndIf
	EndIf
WEnd

Func _IsPressed($sHexKey)
	Local $a_R = DllCall($user32, "short", "GetAsyncKeyState", "int", $sHexKey)
	Return BitAND($a_R[0], 0x8000) <> 0
EndFunc
Func ChangeState()
	$running = Not $running
	GUICtrlSetData($startCtrl, $text[$running]&' checking for changes')
EndFunc
Func SetColor($x=0, $y=0)
	$pixelColor[0] = $x
	$pixelColor[1] = $y
	$pixelColor[2] = PixelGetColor($x, $y)
	GUICtrlSetData($pixelColorCtrl, '0x'&Hex($pixelColor[2],6))
	GUICtrlSetBkColor($pixelColorCtrl, $pixelColor[2])
	GUICtrlSetColor($pixelColorCtrl, 0xFFFFFF-$pixelColor[2])
EndFunc
lolkop is offline  
Thanks
1 User
Old 01/26/2013, 13:10   #5
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
das problem ist jetzt das ich die farbe immer wieder neu auslese :
Farbe wird ausgelesen
was machen
Farbe auslesen
Wenn die farben jetzt gleich sind muss die func zu was machen zurückgehen
YatoDev is offline  
Old 01/26/2013, 15:29   #6
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by ~ⓜⓐⓢⓣⓔⓡ~ View Post
das problem ist jetzt das ich die farbe immer wieder neu auslese :
Farbe wird ausgelesen
was machen
Farbe auslesen
Wenn die farben jetzt gleich sind muss die func zu was machen zurückgehen
und wo ist das problem? o0
farbe auslesen ist doch auch "etwas machen"...

Code:
While True
    If PixelGetColor(...) = <wert> Then
        <action>
    EndIf
    <beliebiger anderer kram>
Wend
lolkop is offline  
Thanks
1 User
Old 01/26/2013, 22:40   #7
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
sry ich habe mich ganz vertan und hab es deswegen net hinbekommen . mann musste erst 1 überprüfen und nicht beide .
YatoDev is offline  
Reply


Similar Threads Similar Threads
[Brauche Hilfe]Brauche Hilfe beim einfügen der neuen Rüstungen
01/04/2013 - Metin2 Private Server - 3 Replies
Brauche Hilfe! Hallo epvp. Ich habe mal ein paar Rüstungen gemoddet und dann wollte ich sie einfügen. Es hat fast alles geklappt und ich war recht "happy", weil sie für den männlichen Krieger einbandfrei funktioniert haben. Dann wollt ich gucken wie das bei den anderen Charaktern aussieht. Ich habe mir die Rüstungen gerufen. Die icons der Rüstungen sind für den Ninja und den Krieger richtig. Bei der Sura und der Schami Rüstung sieht mal aber wieder die icons der Krieger und Ninja rüstung....
Brauche Dringend Hilfe! Bin Metin spieler aber Brauche Hilfe
12/30/2009 - Metin2 Private Server - 0 Replies
Es gehört hier zwar nicht rein , aber ich weiß keine andere Lösung Ich habe seit einigen Tagen ein Problem... Microsoft Windows Search Protocol Host funktioniert nicht mehr Die Anwendung wird Aufgrund eines Problems nicht mehr richtig Ausgeführt. Ich weiß nicht was das ist und wie ich es loswerde.
[AutoIt] PixelGet gibt immer den Wert 0
04/17/2009 - AutoIt - 5 Replies
/edit: Topic sollte heißen 0x000000 Hi, ich versuch grade nen simplen Bot zu schreiben der einfach nur auf 8 verschiedene Farben im selben Bereich reagieren soll. Problem ist nur, er sagt mir *immer* der Bereich wäre schwarz... $color = PixelGetColor(90, 50) if $color = 0xff00ff then Send("3") ElseIf $color = 0x00ff00 then



All times are GMT +1. The time now is 20:17.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.