Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Guild Wars > GW Bots
You last visited: Today at 08:37

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

Advertisement



Pixelcheck

Discussion on Pixelcheck within the GW Bots forum part of the Guild Wars category.

Reply
 
Old   #1
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
Pixelcheck

Hab da mal so ne Frage bez. Pixelcheck

Gibts iwas mit dem ich 3 verschiedene Orte (Kordinaten) die ganze Zeit checken kann und sobald sie sich verändern(farblich) sie eine Function ausführen ?


wäre für jede Hilfe dankbar
NANAAA is offline  
Old 06/02/2009, 22:05   #2
 
Neon™'s Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 2,173
Received Thanks: 1,766
PHP Code:
$checksum Pixelchecksum(linksobenrechtsunten)

While 
$checksum Pixelchecksum(linksobenrechtsunten)
Sleep(50)
WEnd 
Eigentlich ist Pixelchecksum für einen Bereich gedacht(darum auch die 4 Koordinaten), müsste aber auch mit einem Pixel funktionieren.
Neon™ is offline  
Thanks
1 User
Old 06/02/2009, 22:15   #3
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
muss ich nicht noch irgendwo die Pixel etc angeben ?

also wie ist das genau gemeint ?

wenn ich zb schreibe

Quote:
While 1

If $checksum1 = PixelChecksum(779,452,809,483) Then
send("1")
Else
sleep(10)

EndIf
WEnd
so zb ich möchte dass wenn in diesem bereich, am besten nur 1 Kordinate die Farbe wechselt es die Taste 1 drückt. ?



So neu

PHP Code:
$var PixelGetColor(792,500)
$var1 PixelGetColor(842,498)
$var2 PixelGetColor(884,498)


While 
1

If $var false Then 
    Send
("1")
    
ElseIf 
$var1 false Then 
    Send
("2")
    
ElseIf 
$var2 false Then 
    Send
("3")
Else 
    
msgbox(False,"ErroR","ErroR")
EndIf
WEnd 
also dacht wenn jetz iwie die $var variablen sich ändern also false dann = .... wenn nicht das

sollt doch so iwie klappen oder ?
NANAAA is offline  
Old 06/02/2009, 23:36   #4
 
Neon™'s Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 2,173
Received Thanks: 1,766
das mit dem $var funktioniert nicht.

PHP Code:
$checksum Pixelchecksum(linksobenrechtsunten
;
erstellt sozusagen einen screenshot von diesem bereich und speichert ihn in die variable

While 
$checksum Pixelchecksum(linksobenrechtsunten)
;
checkt ob der screenshot und das momentane bild übereinstimmen
Sleep
(50)
WEnd 

Do blalbalabla 
Neon™ is offline  
Thanks
1 User
Old 06/03/2009, 12:58   #5
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
PHP Code:
$checksum0 Pixelchecksum(linksobenrechtsunten)  
$checksum1 Pixelchecksum(linksobenrechtsunten
$checksum2 Pixelchecksum(linksobenrechtsunten
;
erstellt sozusagen einen screenshot von diesem bereich und speichert ihn in die variable 

While  
$checksum0 Pixelchecksum(linksobenrechtsunten
$checksum1 Pixelchecksum(linksobenrechtsunten
$checksum2 Pixelchecksum(linksobenrechtsunten
;
checkt ob der screenshot und das momentane bild übereinstimmen 
Sleep
(50
WEnd  


While 1
If $checksum0 verändert Then 
  func
()

Elseif 
$checksum1 verändert then 
  func1
()

Elseif 
$checksum2 verändert then
  func2
()

Else 
Then
  sleep
(10)

Endif 
Wend


Funk
's ....

func0
blabla

func1
blabla

func2 
blabla 
wie mach ich das jetzt , dass wenn $checksum sich verändert hat es eine Funktion ausführt ? mit einer If und Elseif ?

so irgendwie sollte das doch gehen oder ?
NANAAA is offline  
Old 06/03/2009, 14:38   #6
 
Rosemarie Lein's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 388
Received Thanks: 113
Code:
$Checksum1a = Pixelchecksum(links, oben, rechts, unten)  
$Checksum2a = Pixelchecksum(links, oben, rechts, unten) 
$Checksum3a = Pixelchecksum(links, oben, rechts, unten) 
While 1
	$Checksum1b = Pixelchecksum(links, oben, rechts, unten)  
	$Checksum2b = Pixelchecksum(links, oben, rechts, unten) 
	$Checksum3b = Pixelchecksum(links, oben, rechts, unten) 
	Switch $nMsg
		Case $Checksum1a = $Checksum1b
			Funktion1()
			ExitLoop ;bei Bedarf aus While Schleife raus
		Case $Checksum2a = $Checksum2b
			Funktion2()
			ExitLoop ;bei Bedarf aus While Schleife raus
		Case $Checksum3a = $Checksum3b
			Funktion3()
			ExitLoop ;bei Bedarf aus While Schleife raus
	EndSwitch
WEnd
so?
Rosemarie Lein is offline  
Old 06/03/2009, 18:43   #7


 
buFFy!'s Avatar
 
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
willst du einen bereich oder einen einzigen pixel überprüfen?
buFFy! is offline  
Old 06/03/2009, 18:50   #8
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
kommt eigendlich nicht sonderlich drauf an , einfach sollt der Bot sobald sich ein Bereich/Pixel ändert ne Taste drücken und so halt wenn wieder der Pixel "zurück" ist die Taste aufhört zu drücken
NANAAA is offline  
Old 06/03/2009, 20:01   #9


 
buFFy!'s Avatar
 
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
Naja dann sollte dir das hier reichen.

Code:
;================================================================================================= 
; Function:          Vergleichen von PixelFarben + Reaktion
; Description:       Vergleicht Pixel mit ihrer Farbe und reagiert dementsprechend
; Parameter(s):      $x[$nr], $y[$nr] = Koordinaten
;                    Func[$nr] = Aufzurufende Funktion bei erfolg
;                    $hwnd = Windowhandle (Relativ zu den Koordinaten)
; Requirement(s):    None
; Return Value(s):   Array
;                    $Array[0] = X Coord
;                    $Array[1] = Y Coord
;                    $Array[2] = Farbe in Hex
;                    On Failure - Returns 0 
; Author(s):         eF_Hacks
; Note(s):           No ******* Notes here.
;================================================================================================= 
Func PixelCheck($x1, $y1, $x2, $y2, $x3, $y3, $Func1 = "", $Func2 = "", $Func3 = "", $hwnd = Default)
	$PX1 = PixelGetColor($x1, $y1, $hwnd)
	$PX2 = PixelGetColor($x2, $y2, $hwnd)
	$PX3 = PixelGetColor($x3, $y3, $hwnd)
	While 1
		If PixelGetColor($x1, $y2, $hwnd) Then
			Local $rt_aR[3]
			$rt_aR[0] = $x1
			$rt_aR[1] = $y1
			$rt_aR[2] = Hex($PX1)
			Call($Func1)
			Return $rt_aR
		EndIf
		If PixelGetColor($x2, $y2, $hwnd) = Not $PX2 Then
			Local $rt_aR[3]
			$rt_aR[0] = $x2
			$rt_aR[1] = $y2
			$rt_aR[2] = Hex($PX2)
			Call($Func2)
			Return $rt_aR
		EndIf
		If PixelGetColor($x3, $y3, $hwnd) = Not $PX3 Then
			Local $rt_aR[3]
			$rt_aR[0] = $x3
			$rt_aR[1] = $y3
			$rt_aR[2] = Hex($PX3)
			Call($Func3)
			Return $rt_aR
		EndIf
	WEnd
	Return 0
EndFunc   ;==>PixelCheck
buFFy! is offline  
Thanks
2 Users
Old 06/05/2009, 17:04   #10
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
PHP Code:
While 1

$PX1 
PixelGetColor(795,484)
$PX2 PixelGetColor(835,484)
$PX3 PixelGetColor(875,484)

    
        
        If 
PixelGetColor(795,484) =  Not $PX1 Then
            Funktion1
()
        EndIf
        
        If 
PixelGetColor(835,484) =  Not $PX2 Then
            Funktion2
()
        EndIf
        
        If 
PixelGetColor(875,484) =  Not $PX3 Then
            Funktion3
()
        EndIf
        
        
    
    

        
WEnd 
warum geht mir das mit dem "Not" nicht ?

hab immer so Probleme beim Not irgendwas mach ich da einfach Falsch -.-
NANAAA is offline  
Old 06/05/2009, 17:33   #11
 
Rosemarie Lein's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 388
Received Thanks: 113
Quote:
Originally Posted by NANAAA View Post
PHP Code:
While 1

$PX1 
PixelGetColor(795,484)
$PX2 PixelGetColor(835,484)
$PX3 PixelGetColor(875,484)

    
        
        If 
PixelGetColor(795,484) =  Not $PX1 Then
            Funktion1
()
        EndIf
        
        If 
PixelGetColor(835,484) =  Not $PX2 Then
            Funktion2
()
        EndIf
        
        If 
PixelGetColor(875,484) =  Not $PX3 Then
            Funktion3
()
        EndIf
        
        
    
    

        
WEnd 
warum geht mir das mit dem "Not" nicht ?

hab immer so Probleme beim Not irgendwas mach ich da einfach Falsch -.-
Denke es muss "Not =" oder nur "Not" heißen.
Dein Code ergibt aber keinen Sinn, da innerhalb weniger MS der gleiche bereich 2 mal überprüft wird.
du musst die ersten 3 Abfragen vor die Schleife machen.
Rosemarie Lein is offline  
Old 06/05/2009, 17:40   #12
 
NANAAA's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 293
Received Thanks: 40
Das wegen der Abfrage ist eigentlich nicht so wichtig (weil verändert sich nicht nach den ersten Ms), aber vielen Dank fürs mitteilen

ehm das mit

If PixelGetColor(795,484) = Not= $PX1 Then
Funktion1()
EndIf

Funktioniert leider nicht bez. Error
NANAAA is offline  
Old 06/05/2009, 17:53   #13
 
Rosemarie Lein's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 388
Received Thanks: 113
Quote:
Originally Posted by NANAAA View Post
Das wegen der Abfrage ist eigentlich nicht so wichtig (weil verändert sich nicht nach den ersten Ms), aber vielen Dank fürs mitteilen

ehm das mit

If PixelGetColor(795,484) = Not= $PX1 Then
Funktion1()
EndIf

Funktioniert leider nicht bez. Error
erstes "=" weglassen oder einfach "<>"

Zu der Schleife. Vor der If abfrage wird ja nicht angehalten. Also klappt es nicht denn dein Script
Guck die Wand an, sieht das die Wand rot ist --> Schaut die Wand 1 ms später nochmal an --> sie ist immer noch gleich. Und das ganze von vorne
Rosemarie Lein is offline  
Thanks
1 User
Old 06/05/2009, 18:02   #14


 
buFFy!'s Avatar
 
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
So gehts bei mir.
Code:
$PX1 = PixelGetColor(795, 484)
$PX2 = PixelGetColor(835, 484)
$PX3 = PixelGetColor(875, 484)

While 1
	If PixelGetColor(795, 484) = Not $PX1 Then
		Sleep(10)
	EndIf

	If PixelGetColor(835, 484) = Not $PX2 Then
		Sleep(10)
	EndIf

	If PixelGetColor(875, 484) = Not $PX3 Then
		Sleep(10)
	EndIf
	Sleep(250);DontFucktheCPU
WEnd
buFFy! is offline  
Reply




All times are GMT +1. The time now is 08:37.


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.