Autoit - If Schleife - Problem

05/27/2009 21:25 Kuh123#1
Huhu,

hab nen kleines Problem mit ner If-Schleife:

Code:
$pixel_mob = PixelGetColor (549, 68)
$farbe_mob = Hex($pixel_mob, 6)

if $farbe_mob = 'CE0000' Then
	ToolTip('Attacking...',0,0)
		
	Else
	
	ToolTip('Searching for a target...',0,0)
	Send("{ESC}")
	sleep(400)
	Send("" & $a1) ;führt ein makro aus, um ein neues target zu wählen (RoM)
	sleep(200)
	
endif
so sieht das ganze aus...sucht sich die Farbe von einem bestimmten Pixel (Mobhealth), schaut ob die Farbe an einem bestimmten Pixel mit der anderen übereinstimmt, wenn ja soll er nix machen, wenn nein else ausführen.

(Das ganz befindet sich in einer while-Schleife)...

Problem ist nur, dass - egal ob die if-bedingung erfüllt ist - auch die else bedingung ausführt...bei allen anderen if schleifen funktioniert alles perfekt, werd nicht wirklich schlau draus ^^

Würd mich über Hilfe freuen,

mfg
05/27/2009 21:53 Adroxxx#2
Falsches Forum
#moved
05/27/2009 22:37 felixli93#3
Quote:
Originally Posted by Kuh123 View Post
Code:
$pixel_mob = PixelGetColor (549, 68)
$farbe_mob = Hex($pixel_mob, 6)

if $farbe_mob = [COLOR="Red"]'CE0000'[/COLOR] Then
	ToolTip('Attacking...',0,0)
		
	Else
	
	ToolTip('Searching for a target...',0,0)
	Send("{ESC}")
	sleep(400)
	Send("" & $a1) ;führt ein makro aus, um ein neues target zu wählen (RoM)
	sleep(200)
	
endif
liegt wohl daran, dass PixelGetColor eine hexadezimale zahl zurückgibt, du das ergebnis aber mit einem string vergleichst
benutze statt 'CE0000', 0xCE0000

mfg felixli93
05/27/2009 22:44 Kuh123#4
Das wars schonmal ned :P

Theoretisch funktioniert es ja, er erkennt die Farbe schon...

Hier zb gehts ohne Probleme:

Code:
$pixel_hp = PixelGetColor (229, 29)
$farbe_hp = Hex($pixel_hp, 6)

if $farbe_hp = 'CE0000' Then 
	ToolTip('HP OK...',0,0)
Else
	Send("" & $h1)
	ToolTip('Getting some HP...',0,0)
	sleep(1500)
endif
healt wenn bei einem bestimmten pixel diese eine farbe nicht mehr gegeben ist...

Ka was da beim anderen nicht funktioniert :/