wie der titel schon sagt würde ich gerne wissen ob es auch ein pixelgetcolor fürn hintergrudmode gibt(wär ja komisch da es ja die grafik an dem punkt sucht)
oda wie mann sowas lösen kann
also ich brache das zu folgendem:
ich lasse ich schleife so lang durch laufen bis der der nächste gegner (durch ständiges "nächstbefindlicher gegner" drücken) der fern kämpfer ist
also While not pixelgetcolor (......)
......
WEnd
lauf zu fehrkämpfer und beende
die brache ich da die nah kämpfer immer unter schiedlich lange dauern getöten zu werden.
wie der titel schon sagt würde ich gerne wissen ob es auch ein pixelgetcolor fürn hintergrudmode gibt(wär ja komisch da es ja die grafik an dem punkt sucht)
oda wie mann sowas lösen kann
also ich brache das zu folgendem:
ich lasse ich schleife so lang durch laufen bis der der nächste gegner (durch ständiges "nächstbefindlicher gegner" drücken) der fern kämpfer ist
also While not pixelgetcolor (......)
......
WEnd
lauf zu fehrkämpfer und beende
die brache ich da die nah kämpfer immer unter schiedlich lange dauern getöten zu werden.
lg ender
Ein Blick in der Hilfe, hätte dir das hier gezeigt:
Function PixelGetColorPixelGetColor ( x , y [, hwnd] )
Parameters
x x coordinate of pixel. y y coordinate of pixel. hwnd [optional] Window handle to be used.
hmm funktioniert das auch richtig? weil wenn ja könnte man dadurch doch so ne art "pixelchecksum" schreiben ^^ x bis x und y bis y jeden pixel checken dann die werte addieren und damits vll nicht so ne groé zahl wird durch 10, 100 oder so teilen...
also vll etwa so ka ob es geht
PHP Code:
Func bgpixelcheck($x1, $x2, $y1, $y2, $window)
$hwnd = $window
$dx = $x2 - $x1
$dy = $y2 - $y1
$bgpixelcheck = 0
For $i = $dy To 1 Step -1
$y = $y1 + 1
For $i = $dx To 1 Step -1
$x = $x1 + 1
$bgpixelcheck = $bgpixelcheck + PixelGetColor($x, $y, $hwnd)
Next
Next
EndFunc ;==>bgpixelcheck
jo also nö das funktioniert nicht wirklich im "hintergrund", man kann zwar mit den Autoit funktionen die pixel lesen oder auch checksum prüfen, das fenster muss dabei nicht das vorderste aktive sein, ABER der Bereich wo man die pixel liest darf nicht durch ein anderes fenster überdeckt sein. Das hat folgenden Grund: Autoit benutzt GDI um den Device Context des Screens zu bekommen (GetDC), wenn man so die pixel eines directx fenster liest sind die alle schwarz (zumindest ist das sicher so in Vista), was jedoch geht ist den DC vom ganzen Screen zu holen, den offset des fenster bestimmen und dann die pixel relativ lesen, daher darf der Bereich nicht überdeckt sein.
In Autoit wird übrigens die Adler32 checksum benutzt, die ist recht kompakt und performant zu implementieren und hat eine recht gute Genauigkeit.
Das könnte aber recht spannend sein das mit DX9 hinzubekommen, dann könnte man im background auch pixelcolor/pixelchecksum usw. benutzen. Ich hab da ein openspurce tool gefunden, das das können sollte Taksi, hat aber bei mir unter Vista und mit GW nicht funktioniert. Vielleicht könnte das weiterhelfen
also pixelgetcolour (x , y , "Guild Wars") geht auch im hinter grund
habs mal aus getestet und einfach ein fenster von die auszulesende stelle geschoben funktionierte ohne probleme.
also joar ich habs ma verändert
also ziehmlich sicher das es geht
hab nen while not pixelgetcclour schleife
also sehe ich ja wann er die verlässt und aufgibt
hmm also bei mir unter Vista32 klappts leider nicht, alles durchprobiert verschiedene coordmodes und als hwnd sowohl string als auch nen handle von getwindowhandle. Hat jemand das unter Vista hinbekommen?
Würde mich wundern wenn man über getpixel das performant hinbekommt, dazu gibts längliche diskussionen in diversen foren...
Brauche Hilfe für Pixelgetcolor 04/26/2010 - AutoIt - 2 Replies Erstmal ein Vorwort ich habe jetzt 6 Tage Probiert einen Ladebildschirm ohne Ladezeiten zu überbrücken was in gewissem maße Funktioniert hat...
Das Problem war das ich in Guild Wars verschiedene Farben öffters gleich sind und bei Kamera Schwenkung trotzdem die farbe schon gefunden wurde :-( ich dachte mir das wenn die Schrift erscheint z.B rata sum diese farbe abzufragen doch ein exaktes Client Pixel wurde trotz allem nicht definiert von Autoit das heißt da ähnliche Farben das script auch dazu...
PixelGetColor 12/05/2009 - AutoIt - 2 Replies Hi ich schreibe schon seit längerem an einem Tool für Warcraft3.
Jetzt wollte ich einbauen, dass er nach dem Map laden automatisch den Modus eingibt.
Ich dachte das geht mit PixelGetColor, also hab ich es so probiert:
If GUICtrlRead ($checkbox3) = 1 Then
Do
PixelGetColor (1063, 520)
sleep (150)
Until PixelGetColor (1063, 520) = 0x000000
autoit prob mit pixelgetcolor 02/22/2009 - General Coding - 1 Replies ; wenn Pixel 137,133 dann
Send("{$Char down}")
sleep(500)
Send("{$Char UP}")
sleep(1000)
mouseclick("left",191,564)
;end if
wie schreibe ich des
ich will halt das wenn 137,133 den farbcode 0x1E2971 bekommt der mit
Pixelgetcolor frage dazu 12/26/2008 - Guild Wars - 15 Replies das geht ja auch in anderen fenster neuerdings will ich mal nciht sagen aber hat einer erfahrung damit?
also ich meine mit erfahrung bugs oder so ob jemand mal gemerkt hat da funzt etwas nicht richtig oder der ließt eine pixel farbe falsch.
ich hatte damit jetzt noch keinerlei probleme aaber vllt hatte ja jemand schonmal probs damit nur als vorwahrnung sozusagen:p