loot func

11/17/2008 17:06 Painful Pete#1
Hi

Ich weis sowas gabs schonmal in dem Thermalquellen Bot von Blackworkxx glaub ich.
Ich hab mich auch grad dran versucht, aber ich find den Fehler einfach nicht mehr.

Im moment siehts so aus:

Code:
func _loot()
	for $a= 0 to 8 step 1
		sleep(100)
		send("{ö}")
		sleep(50)
		$weiss=Pixelsearch (510, 41, 768, 79,0xFFFFFF)
		$blau=Pixelsearch (510, 41, 768, 79,0x99EEFF)
		$lila=Pixelsearch (510, 41, 768, 79,0x99EEFC)  ; Lila gegenstand noch anpassen!
		$gold=Pixelsearch (510, 41, 768, 79,0xFFCC55)
		Select
			Case  $weiss or $blau or $lila or $gold = True 
			MsgBox(0, "Drop", "Ein Drop!")
			Send("{space}")
			sleep(500)
				While $weiss or $blau or $lila or $gold = True And PixelGetColor(689, 67) <> 0xFFFFFF 
				sleep(300)
				WEnd
			MsgBox(0, "aufgehoben", "aufgehoben!" )
			sleep(100)
			If PixelGetColor(689, 67) = 0xFFFFFF Then
			ExitLoop
			EndIf
		sleep(100)
		EndSelect
	Next
Er soll einfach alles aufheben und wenn er das Schild anwählt,(PixelGetColor(689, 67) = 0xFFFFFF ) dan soll er die schleife beenden.

Aber das Problem ist im Moment, dass er nach dem Aufheben nicht aus der While Schleife kommt. Also er zeigt mir nie die msgbox mit dem "aufgehoben" an. soweit scheint er nicht zu kommen.
Weiß vllt einer woran das liegen könnte?

Wäre super nett. danke!
11/17/2008 17:26 Illuminatus#2
Quote:
Originally Posted by Painful Pete View Post
Hi

Ich weis sowas gabs schonmal in dem Thermalquellen Bot von Blackworkxx glaub ich.
Ich hab mich auch grad dran versucht, aber ich find den Fehler einfach nicht mehr.

Im moment siehts so aus:

Code:
func _loot()
	for $a= 0 to 8 step 1
		sleep(100)
		send("{ö}")
		sleep(50)
		$weiss=Pixelsearch (510, 41, 768, 79,0xFFFFFF)
		$blau=Pixelsearch (510, 41, 768, 79,0x99EEFF)
		$lila=Pixelsearch (510, 41, 768, 79,0x99EEFC)  ; Lila gegenstand noch anpassen!
		$gold=Pixelsearch (510, 41, 768, 79,0xFFCC55)
		Select
			Case  $weiss or $blau or $lila or $gold = True 
			MsgBox(0, "Drop", "Ein Drop!")
			Send("{space}")
			sleep(500)
				While $weiss or $blau or $lila or $gold = True And PixelGetColor(689, 67) <> 0xFFFFFF 
				sleep(300)
				WEnd
			MsgBox(0, "aufgehoben", "aufgehoben!" )
			sleep(100)
			If PixelGetColor(689, 67) = 0xFFFFFF Then
			ExitLoop
			EndIf
		sleep(100)
		EndSelect
	Next
Er soll einfach alles aufheben und wenn er das Schild anwählt,(PixelGetColor(689, 67) = 0xFFFFFF ) dan soll er die schleife beenden.

Aber das Problem ist im Moment, dass er nach dem Aufheben nicht aus der While Schleife kommt. Also er zeigt mir nie die msgbox mit dem "aufgehoben" an. soweit scheint er nicht zu kommen.
Weiß vllt einer woran das liegen könnte?

Wäre super nett. danke!
In anderen Sprachen (glaube net das AutoIT da abweicht), stellt man mit dem operator == fest ob zwei Werte gleich sind... In deinem Qeullcode steht da nur nen = denke net das das so richtig ist oO

//edit: nochma nachgeguckt:
Zuordnung: =
Vergleich: ==
11/17/2008 17:32 DaAlex#3
so jetzt lasse ich die -.- mal weg xD
nimm statt der msg box tool tips
weil die space geht bei dir auf die die msg box und nicht aufs gw fenster
denke mal das es das ist bei mir funktioniert es ohne die msg box
11/17/2008 17:36 Painful Pete#4
ok dann test ich das mal... danke schonmal für eure antworten :D

Edit: klappt immer noch nicht mit den Tooltips. er zeigt mit jetz dauerhaft den Tooltip "Ein Drop!!!" an
Code:
func _loot()
	for $a= 0 to 8 step 1
		sleep(100)
		send("{ö}")
		sleep(50)
		$weiss=Pixelsearch (510, 41, 768, 79,0xFFFFFF)
		$blau=Pixelsearch (510, 41, 768, 79,0x99EEFF)
		$lila=Pixelsearch (510, 41, 768, 79,0x99EEFC)  ; Lila gegenstand noch anpassen!
		$gold=Pixelsearch (510, 41, 768, 79,0xFFCC55)
		Select
			Case  $weiss or $blau or $lila or $gold = True 
		ToolTip(" Ein Drop!!!", 100,100)
			Send("{space}")
			sleep(500)
				While $weiss or $blau or $lila or $gold == True And PixelGetColor(689, 67) <> 16777215 
				sleep(300)
				WEnd
		ToolTip("Aufgehoben!", 100,100)
			sleep(100)
			If PixelGetColor(689, 67) = 16777215 Then
			ExitLoop
			EndIf
		sleep(100)
		EndSelect
	Next
EndFunc

Quote:
so jetzt lasse ich die -.- mal weg xD
Sorry wegen vorhin, aber bei sowas reagier ich allergisch :-P
11/17/2008 17:37 D_S#5
Hab dir schon im icq gesagt dass du bei Pixelgetcolor IMMER den dezimalen Wert rauskriegst ;) und ich glaube kaum dass es an der MsgBox liegt :rolleyes:
11/17/2008 17:48 Painful Pete#6
dezimalen Wert hab ich reineditiert in den neueren Post ;)
11/17/2008 18:13 Illuminatus#7
sind immernoch 2 = die da nciht hingehören! mit denen funktioniert dein source net.... und wenn doch is autoit fehlertolerant ohne ende.... aber ich glaubs net ^^
11/17/2008 18:15 Painful Pete#8
Ich weis grad ne dgenau wie du das meinst... kannst du mir das bitte mal rot markieren, wo du das meinst? bzw umändern?
11/17/2008 18:18 Illuminatus#9
Code:
func _loot()
	for $a= 0 to 8 step 1
		sleep(100)
		send("{ö}")
		sleep(50)
		$weiss=Pixelsearch (510, 41, 768, 79,0xFFFFFF)
		$blau=Pixelsearch (510, 41, 768, 79,0x99EEFF)
		$lila=Pixelsearch (510, 41, 768, 79,0x99EEFC)  ; Lila gegenstand noch anpassen!
		$gold=Pixelsearch (510, 41, 768, 79,0xFFCC55)
		Select
			Case  $weiss or $blau or $lila or $gold [COLOR="Red"]==[/COLOR] True 
		ToolTip(" Ein Drop!!!", 100,100)
			Send("{space}")
			sleep(500)
				While $weiss or $blau or $lila or $gold == True And PixelGetColor(689, 67) <> 16777215 
				sleep(300)
				WEnd
		ToolTip("Aufgehoben!", 100,100)
			sleep(100)
			If PixelGetColor(689, 67) [COLOR="Red"]==[/COLOR] 16777215 Then
			ExitLoop
			EndIf
		sleep(100)
		EndSelect
	Next
EndFunc
Klar, np!
Aber AutoIT als erste sprache zu lernen ist meiner meinung nach das schlimmste was man machen kann... wenn du danach ne "richtige" sprache lernen willst isses umso schwerer mit dem syntax


edit: hat der compiler bei den gleichzeichen eigenltihc keinen fehler ausgegeben?
11/17/2008 18:26 Painful Pete#10
Also bisher hat immer alles mit einem einfachen gereicht... und hab mittlerweile doch schon einiges gemacht. ich teste mal eben das von dir.

Edit: Immer noch das gleiche: Tooltip: "Ein Drop!!!" und danach gehts nicht weiter :'(
11/17/2008 18:37 Illuminatus#11
oh man xD is ya klar das er in der While schleife stecken bleibt wenn PixelGetColor(689, 67) <> 16777215 immer zutrifft :P

//edit: totaler quastch ^^ bitte ignorieren
11/17/2008 18:47 Painful Pete#12
Aber da steht ja And und nicht or oder?
wie soll ich denn dann das machen?
11/17/2008 18:59 Illuminatus#13
yo hab mich vertan... sry... oO hm weiß auch nicht...
11/17/2008 19:04 Painful Pete#14
wahrscheinlich isses wieder n total simpler fehler und ich komm einfach nicht drauf
11/17/2008 19:06 Illuminatus#15
bist dir aber sicher das du den return von pixelSearch einfach auf true überprüfen kannst? Weil in der doku steht das da nen array returned wird...

//edit: Doku: [Only registered and activated users can see links. Click Here To Register...]