Problem mit Golderkennung

10/28/2008 16:55 Painful Pete#1
Hi ich habe folgendes Problem:

Es gab schonmal nen Thread über Golderkennung und daran arbeite ich jetzt wieder.
Ich hab jetzt das script so, dass er nur die ersten 5 Items checkt, wovon alle gold sind außer das 4.

Aber wenn ich das laufen lasse, dann sagt er mir dass alle items golden sind

und zeigt mir auch danach an, dass insgesamt 5 gold sind.

er zeigt mir sogar an, dass es was goldenes ist, wenn der slot leer ist. also ich das 1. item weg lasse

Hier mal das script:
Code:
sleep(1000)
WinActivate( "Guild Wars" )
Sleep(6000)
_Check_Gold_Item()
sleep(6000)




Func _Check_Gold_Item() ; x und y vom jeweiligen itemslot
	$x1= 272
$x2= 317
$x3= 356
$x4= 396
$x5= 439

$y1= 101
$y2= 152
$y3= 201
$y4= 252
$y5= 331
$y6= 411
$y7= 463
$y8= 545
$y9= 592
$GoldItems=0
IniWrite("Test.txt", "blubb", "GoldItems", $GoldItems)

	MouseMove ($x1, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()

	MouseMove ($x2, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
		
	MouseMove ($x3, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	MouseMove ($x4, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	MouseMove ($x5, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	$GoldItems= IniRead ("Test.txt", "blubb", "GoldItems", $GoldItems)
MsgBox(0,"fndjsnk", "Golditems ist jetz schon " & $GoldItems)
EndFunc

Func _Goldcheck()
$Golditems= 0
$GoldItems= IniRead("Test.txt", "blubb", "GoldItems", $GoldItems)
	
$truhe1=  40  ; X- Koordinate der I-Truhe
$truhe2=  90  ; X- Koordinate der II-Truhe
$truhe3= 140  ; X- Koordinate der III-Truhe
$truhe4= 180  ; X- Koordinate der IV-Truhe
	PixelSearch (233, 30, 630, 580, 0xFFCC55)  ;sucht nach der farbe der goldenen schrift
	sleep(50)
	if not @error Then
		MsgBox(0,"Gold", "Gold!")
		sleep(50)
		$GoldItems = $GoldItems + 1
		sleep(100)
		MouseDown("left")
;die items solange in den jeweiligen truhenslot legen, solang dieser noch nicht voll ist:
		if $GoldItems <= 1 Then
			MouseMove ($truhe1, 150, 1)
			sleep(200)
			MouseUp("left")
		EndIf
		if $GoldItems > 1 and  $GoldItems <=2 Then
			MouseMove ($truhe2, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		if $GoldItems > 2 and $Golditems <=3  Then
			MouseMove ($truhe3, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		if $GoldItems >3 And $GoldItems  Then
			MouseMove ($truhe4, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		IniWrite ("Test.txt", "blubb", "GoldItems", $GoldItems)
	EndIf
EndFunc
Den Aufbau an sich, wie er jetzt ist würde ich gerne beibehalten. ich suche eigtl nur den Fehler, wieso er jetz jedesmal ein positives ergebis bei der Pixelsearch erhält?

Dann dacht ich mir: "testest halt mal aus, ob er da wirklich ein positives Ergebnis bekommt"

dann hab ich das hier laufen lassen.

Code:
sleep(1000)
WinActivate( "Guild Wars" )
Sleep(6000)
MouseMove (396, 101,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird (weißes Item)
	sleep(300)


$coord = PixelSearch (233, 30, 630, 580, 0xFFCC55) ; nach goldener Farbe suchen
If Not @error Then
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
Else
	MsgBox(0,"gold", "hier ist nix gold!")
EndIf

sleep(200)
und hier bekomm ich immer die Msgbox, dass hier nix gold ist!

Ich versteh nicht, weil das genau die gleiche Pixelsearch ist.
Vllt steh ich auch nur aufm schlauch, aber ich se da keinen unterschied O.o

VIELEN Dank, falls ihr mir helfen könnt und danke schonmal fürs lesen ;)
10/28/2008 17:20 Dunham#2
57posts und immer noch 0 plan :-)

Falls du ein fertiges Tutorial über GW hast dann poste es hier, fragen im bezug auf hacks etc. kommen in das Main Forum [no questions]
10/28/2008 17:22 Painful Pete#3
Ok stimmt... tut mir leid hab ich in meinem Zorn auch noch übersehen grad^^
kämpf im moment damit dass ich meine Wut ned an der Tastatur auslass :p

Hach wie schön doch bot schreiben ist :D
10/28/2008 17:52 i4mSoH34Vy#4
Lass den ganzen Desktop absuchen.Und hinter den MouseMove die Sleeps vergrößern dann müsste es funktionieren.
10/28/2008 18:11 Painful Pete#5
Ok hab nach den Mousemoves die zeiten auf 1sekunde gesetzt und er hats immer noch nicht erkannt.
und wenn er den ganzen desktop absucht, dann wirds ja noch ungenauer bzw noch wahrscheinlicher, das in der umgebung iwo so ein Pixel rumliegt oder?
versucht hab ichs, aber hat auch ned geklappt.

Aber danke für deine Antwort
10/28/2008 18:18 i4mSoH34Vy#6
Ich machs so Pixelsearch(0,0,@DesktopWidth,@DesktopHeight,0xFFC C55 , 1)
Und es klappt ^^
10/28/2008 19:27 emtec22#7
habe das script nur überflogen aber desktop absuchen ist ansich schwachsinn da es wenn in dem bereich ist und nicht 5 km drum herum aber gut..

ich würde den shaderwert mal erhöhen, stell den mal auf 5 oder auf 10, ansich trifft man so jedes gold item
10/28/2008 21:32 illuminati™#8
wärst du mal so net dann wenns funktioniert den neuen code zu posten thx
10/28/2008 21:55 Painful Pete#9
er findets einfach ned... bzw er findet zu viel :mad:
immer noch das gleiche... auch nach der shader veränderung.

Ich weis nicht mehr was noch sein könnte.
Warscheinlich is es eh wieder nur irgendein dummer fehler der total einfach ist -.-
10/28/2008 22:19 emtec22#10
hehe :D pete ich denke ich habe deinen Fehler

PixelSearch (233, 30, 630, 580, 0xFFCC55) ;sucht nach der farbe der goldenen schrift
sleep(50)

mach da mal das sleep weg, ich hatte das vor 2 tagen bei meinem neuen Bot auch, das sleep lässt das pixelsearch alles finden aber nicht die farbe :D , so war das bei mir

versuch es mal
10/28/2008 22:45 Painful Pete#11
WOW!!!!!!!
VIELEN DANK!!!! ICH LIEBE DICH :D:handsdown::handsdown:

wie schon vermutet... ein dummer Fehler auf den ich nie kommen würd

Hier jetzt nochmal das script wie es geht:

Code:
Func _Check_Gold_Item() ; x und y vom jeweiligen itemslot
	$x1= 272
$x2= 317
$x3= 356
$x4= 396
$x5= 439

$y1= 101
$y2= 152
$y3= 201
$y4= 252
$y5= 331
$y6= 411
$y7= 463
$y8= 545
$y9= 592
$GoldItems=0
IniWrite("Test.txt", "blubb", "GoldItems", $GoldItems)

	MouseMove ($x1, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()

	MouseMove ($x2, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
		
	MouseMove ($x3, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	MouseMove ($x4, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	MouseMove ($x5, $y1,1) ;Maus auf das Item bewegen, damit die Schrift angezeigt wird
	sleep(100)
	_Goldcheck()
	
	$GoldItems= IniRead ("Test.txt", "blubb", "GoldItems", $GoldItems)
EndFunc

Func _Goldcheck()
$Golditems= 0
$GoldItems= IniRead("Test.txt", "blubb", "GoldItems", $GoldItems)
	
$truhe1=  40  ; X- Koordinate der I-Truhe
$truhe2=  90  ; X- Koordinate der II-Truhe
$truhe3= 140  ; X- Koordinate der III-Truhe
$truhe4= 180  ; X- Koordinate der IV-Truhe
	PixelSearch (233, 30, 630, 580, 0xFFCC55,1)  ;sucht nach der farbe der goldenen schrift
	if not @error Then
		sleep(50)
		$GoldItems = $GoldItems + 1
		sleep(100)
		MouseDown("left")
	EndIf
;die items solange in den jeweiligen truhenslot legen, solang dieser noch nicht voll ist:
		if $GoldItems <= 20 Then
			MouseMove ($truhe1, 150, 1)
			sleep(200)
			MouseUp("left")
		EndIf
		if $GoldItems > 20 and  $GoldItems <=40 Then
			MouseMove ($truhe2, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		if $GoldItems > 40 and $Golditems <=60  Then
			MouseMove ($truhe3, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		if $GoldItems >60 Then
			MouseMove ($truhe4, 150, 1)
			sleep(100)
			MouseUp("left")
		EndIf
		IniWrite ("Test.txt", "blubb", "GoldItems", $GoldItems)
	
EndFunc
10/28/2008 22:53 D_S#12
Quote:
Originally Posted by Painful Pete View Post
Ein weiser Mann sagte einmal: "Wenn wir kein Wasser hätten, könnten wir nicht Schwimmen lernen und müssten alle ertrinken!"
Ohne Wasser müsste man auch garnich schwimmen lernen :rolleyes:

@topic: danke das script wollte ich grade suchen/selbst schreiben :P
10/28/2008 22:53 emtec22#13
naja man lernt dazu :D

aber danke den heiratsantrag kannst du später machen :D


naja leider nutzt mir das script nichts mehr inaktiv geht ja kein pixelsearch :(
10/30/2008 15:02 illuminati™#14
Hi ich hätte noch mal eine frage mit welchem programm erkennt man farben also den wert ??
10/30/2008 15:46 i4mSoH34Vy#15
Autoit Window