Koordinaten an eigene Auflösung anpassen

12/07/2008 20:47 | Moep |#1
Da es bei Bots öfters zu Kompatibilitäts Problemen wegen den verschiedenen Auflösung kommt, habe ich mir mal Gedanken dazu gemacht. Daraus sind zwei einfache Funktionen entstanden. Diese Funktionen passen die Coords von der Auflösung in der das Script geschrieben wurde, verhältnismäßig an die gerade genutze Auflösung an.

Dies ist jedoch mit Vorsicht zu genießen!!!

Da sich bei den verschiedenen Auflösungen die Objekte auf dem Bildschirm verschieben. Leider stehen sie beim Wechsel der Auflösungen NICHT immer im gleichen Verhältnis zueinander. Daher ist noch eine nachträgliche Kontrolle der Mousecoords von nöten. Generell kann man sagen: je größer die Differenz zwischen der Auflösung in der dass Script entwickelt wurde und der neuen Auflösung ist, je ungenauer werden die Klicks.

Die Funktion arbeitet nur im Vollbildmodus und mit nur einem offenem Guild Wars Fenster!!! Fenstermodus und Multi GW kommt, wenn ich mehr Zeit hab, vielleicht später dazu.

Hier die Funktionen, welche ihr an Anfang eures Scriptes einfügen müsst:

Code:
$window_position = WinGetPos("Guild Wars")
$build_width = 1280			;[COLOR="Red"]<~~~ Breite[/COLOR]
$build_height = 1024			;[COLOR="Red"]<~~~ Höhe[/COLOR]

Func _x($build_x)
	Local $new_x
		$new_x = ($build_x * $window_position[2]) / $build_width
		Return $new_x
EndFunc
	
	
Func _y($build_y)
	Local $new_y
		$new_y = ($build_y * $window_position[3]) / $build_height
		Return $new_y
EndFunc
Dort müsst ihr dann an den Stellen mit dem roten Pfeil, die Auflösung eingeben für die dass Script eigentlich geschrieben wurde. Eure derzeitige Auflösung müsst ihr NICHT angeben.

Ist dass erledigt, müsst ihr in dem Script noch alle Stellen an denen mit Koordinaten gearbeitet wird umändern, so zb:

Code:
MouseMove(100,200)
MouseClick("left",100,200)
PixelGetColor(100,200)
.
.
.
usw
daraus wird dann:

Code:
MouseMove(_x(100),_y(200))
MouseClick("left",_x(100),_y(200))
PixelGetColor(_x(100),_y(200))
.
.
.
usw
12/07/2008 21:28 Atheuz#2
Das Konzept hierfür hatte ich auch schonmal hier gepostet :|
12/07/2008 21:46 kknb#3
hatte das ja damals schon gelesen gehabt. das problem was entsteht wenn man eine neue auflösung benutzt sind ja eigentlich kaum die mausklicks, die sind in der regel schnell geändert. nur leider passen meistens die ganzen laufwege nach einer neuskalierung nicht mehr.

trotzdem nimmt es einem ja schonmal arbeit ab.