Problem mit auflösung

07/11/2008 18:26 LightTheTorch#1
hiho alle zusammen... ich habe folgendes problem:

ich habe einen Bildschirm mit der auflösung 1680x1050. wenn ich jetzt guildwars mit der auslösung 1024x768 oder sonst irgendeiner an habe und nen screenshot davon mache oder pixelgetcolor, dann nimmt er die koordinate von der eigentlichen bildschirmauflösung also von der 1680x1050... das gleiche wenn ich den bot von jemandem, der ihn mit einer anderen auflösung geschrieben hat, laufen lasse, dann sucht er irgendwie nicht den richtigen pixel. ist das bei euch auch so? wenn ja, wie habt ihr das problem gelöst?

danke schonmal... greeez
07/11/2008 18:30 wadimwadim#2
versuch es mal hiermit
opt ("PixelCoordMode",2)

helpfile:
0 = relative coords to the defined window
1 = absolute screen coordinates (default)
2 = relative coords to the client area of the defined window
07/11/2008 18:40 LightTheTorch#3
Quote:
Originally Posted by wadimwadim View Post
versuch es mal hiermit
opt ("PixelCoordMode",2)

helpfile:
0 = relative coords to the defined window
1 = absolute screen coordinates (default)
2 = relative coords to the client area of the defined window
danke für die schnelle antwort, aber das wars leider nicht. ich hab das problem mit dem foli bot von solos und zwar beim runout. er checkt ja die npcs ab (wär eigentlich noch gut wenn ich wüsste welche pixel er absucht). ich hab schon mousemove und dann die beiden ecken angegeben, aber dann geht die maus vom einen pixel aus etwa die halbe bildschirmseite rüber ^^ so gross kanns ja kaum sein denk ich mal ^^
07/11/2008 18:55 wadimwadim#4
schreib doch die 3 pixelsearch s schnell um die da im bot drinn sind. dann ist es auch am besten zu deinem clienten angepasst.
07/11/2008 18:59 LightTheTorch#5
jo hab ich mir auch schon überlegt, dann muss ich mir aber alles in die andere auflösung umschreiben... ich mache es jetzt mal pixelchecksum, dass ist glaub einfacher, ich hab keine lust die weissen pixels miteinander zu vergleichen hehe...

also wenn ich das richtig interpretiert habe geht das jetzt so:


$Checksum = PixelChecksum(507, 34, 574, 50)
Sleep(500)
WinMinimizeAll()
HotKeySet("{space}","sum")
While True
Sleep(100)
WEnd
Func sum()
Send($Checksum)
Exit
EndFunc


für die PixelChecksum-Zahl und dann muss ich die einfach mit der richtigen koordinate für jeden npc suchen und dann den weg mit Ifs und Elselfs programmieren oder? damn bin ich ein noob -.- sry.. ac tool war ein feuchter schiss dagegen xD
07/11/2008 19:02 _revo#6
würd vorher das gw fenster aktivieren ;)

WinActivate ("Guild Wars")
Sleep (2000)
$Checksum = PixelChecksum(507, 34, 574, 50)
undsoweiter
07/11/2008 19:04 LightTheTorch#7
jo das ist schon klar hehe... und was macht ich wenn es immer die gleich zahl ergibt, obwohl immer wieder ein anderer npc da ist? :-?

wenn ich mousemove mache dann geht er genau zum dem feld mit St. 10 / St. 20 / N20 aber die zahl ist bei allen gleich.. ^^
07/11/2008 19:07 kknb#8
dann nehme doch einach den ganzen roten balken für die pixelchecksum, so hab ichs auch gemacht.
07/11/2008 19:11 LightTheTorch#9
Quote:
Originally Posted by kknb View Post
dann nehme doch einach den ganzen roten balken für die pixelchecksum, so hab ichs auch gemacht.
hab ich auch versucht - gleiche zahl, obwohl ich mit den selben kords genau den roten balken durchfahre, wenn ich sie mit mousemove nutze -.-

skript sieht so aus:


If Not WinActive("Guild Wars","") Then WinActivate("Guild Wars","")
WinWaitActive("Guild Wars","")

sleep (3000)

$Checksum = PixelChecksum(705, 27, 958, 46)
Sleep(500)
WinMinimizeAll()
HotKeySet("{space}","sum")
While True
Sleep(100)
WEnd
Func sum()
Send($Checksum)
Exit
EndFunc
07/11/2008 19:12 Atheuz#10
Quote:
Originally Posted by LightTheTorch View Post
ich habe einen Bildschirm mit der auflösung 1680x1050. wenn ich jetzt guildwars mit der auslösung 1024x768 oder sonst irgendeiner an habe und nen screenshot davon mache oder pixelgetcolor, dann nimmt er die koordinate von der eigentlichen bildschirmauflösung also von der 1680x1050
(Auflösung.X / Auflösung2.X)*MausKoordinaten.X
(Auflösung.Y / Auflösung2.Y)*MausKoordinaten.Y

Beschäftige mich nicht wirklich mit autoit, sollte aber so theoretisch funktionieren.
Auflösung ist die eigene Auflösung, Auflösung2 ist die womit der Bot gemacht wurde.
Müsste man nurnoch in eine Funktion umschreiben wenn es nicht bereits eine gibt.
07/11/2008 19:18 LightTheTorch#11
Quote:
Originally Posted by Atheuz View Post
(Auflösung.X / Auflösung2.X)*MausKoordinaten.X
(Auflösung.Y / Auflösung2.Y)*MausKoordinaten.Y

Beschäftige mich nicht wirklich mit autoit, sollte aber so theoretisch funktionieren.
Auflösung ist die eigene Auflösung, Auflösung2 ist die womit der Bot gemacht wurde.
Müsste man nurnoch in eine Funktion umschreiben wenn es nicht bereits eine gibt.

gute idee, einfach das verhältnis mit den mousekoords zu multiplizieren xD darauf wär ich nie gekommen hehe..