[AutoIt] Probleme mit der Maus...

03/23/2008 05:58 Sleipnir Xiv#1
Also... Ich Code mir derzeit einen Farmbot... soweit, sogut. Nun stehe ich jedoch vor einem Problem: Ich versuche die Sicht mit der Maus zu bewegen, da mir die Bewegungen mit a und d zu unpräzise sind. Dazu klickt man die Rechte Maustaste und bewegt die Maus. Der Mauscursor selbst wird dabei jedoch nicht bewegt... (ist schlecht zu erklären, doch ich denke ihr wisst, was ich meine). Also drücke ich die Maustaste mit MouseDown runter, und will die Maus ein paar Pixel bewegen, immer wieder - per While-Schleife, bis ein Argument erfüllt ist. Das klappt nur leider nicht richtig, da der Befehl zum Maus bewegen, nämlich MoveMouse darauf baut, von einer Pixelposition zur anderen zu bewegen, und man diesem nicht einfach "3 Pixel nach rechts bewegen" sagen kann. So passiert es, dass die Sicht shcnell rotiert, was mir jedoch nicht viel bringt. Nun frage ich, wie ich das, was ich vorhabe realisieren kann? Ich hoffe, dass ich mich verständlich genug ausgedrückt habe... ist schon spät! :)
03/23/2008 10:34 Gabba2#2
Genau vor so einem Prob steh ich auch nur, dass ichs nimmal hinkriege den vonnem Festen Punkt zunem anderen Festen Punkt die Kamera zu drehen. Die Kamera rotiert dann und man zoomt was in den Char rein. Aber irgendwie muss es realisierbar sein da ich hfff Bots kenne die die Kamera drehen.
Bei mir gehts um den hfff Bot bei dem bei mir das einzig auffällige noch ist, dass man beim Start je nach Position ne 3/4 Drehung macht.
03/23/2008 10:42 Azunai#3
mousedown("left")
mousemove(x,y)
mouseup("left")
evtl geht auch mouseclickdrag() aber ich habs noch nie probiert :D
03/23/2008 10:47 Gabba2#4
Hast dafür n Beispiel? ich hab eig beides schon probiert und bei beidem dreht er sich wie irre und zoomt was in den Char rein obwohls nur ne veränderung von n paar Pixeln war
03/23/2008 10:53 Term!nX#5
Kamerabewegungen mit der Maus in GW zu automatisieren, ist so ziemlich das unsicherste und fehleranfälligste. Probiers gerne aus, bis du bekloppt wirst, aber wenn du dirn Tipp geben lassen willst, mach es irgendwie anders, aber nicht mit Kamerabewegungen über Maus. Jede kleinste Veränderung der Ausgangskameraposition kann zu desaströsen Ergebnissen führen, gerade in komplexeren Automatisierungen.
03/23/2008 10:56 Sleipnir Xiv#6
Bitchbi, das ist ja das Problem. Guild Wars "freezed" die Maus wenn man die rechte Maustaste gedrückt hält, und ich schätze AutoIt bewegt die Maus solange in die Richtung der Koordinaten, bis der Zeiger dort ankommt, was jedoch nie der Fall sein kann, da dieser ja gefreezed ist!

Ich überlege mir den AutoIt Source mal ein wenig näher nazuschauen und mir ne eigene Funktion hinzuzufügen... ist ja recht übersichtlich programmiert!
03/27/2008 21:00 Illuminatus#7
Jupp, Problem is halt, wie Sleipnir schon sagte, dass sich die Maus beim Kamera drehen ja nicht von der Stelle bewegt, das script aber trotzdem versucht die Maus zu bewegen ---> ergo, der dreht so lange bis... jo.. bis wann eigentlich? Unendlich :O oder? xD ;-)
03/27/2008 22:13 Azunai#8
rofl ihr habt probleme...
man muss das so machen, vorsichtig :P

Code:
winactivate("Guild Wars")
sleep(2000)
traytip("maus","down",5)
MouseDown("right")
$wo = MouseGetPos()
mousemove($wo[0]+1,$wo[1]) ; minimale veränderung
mouseup("right")
sleep(3000)
03/28/2008 06:38 Sleipnir Xiv#9
*Lach*

Das findest du ist minimal? Also entweder bei mir fuznktionierts nicht richtig, oder du hast keinen Sinn für Feingefühl :D

Nun ja, habe es aber, so wie meinen HFFF Bot, schon längst fertig :D ...416 Zeilen und der läuft garantiert nirgens gegen :D

Kann man aber hier und da noch ein wenig optimieren... Naja.
03/28/2008 11:17 Azunai#10
naja also bei mir dreht er sich um etwa 2° nachwest :P
03/29/2008 07:56 Sleipnir Xiv#11
Quote:
Originally Posted by bitchbi View Post
naja also bei mir dreht er sich um etwa 2° nachwest :P
Seltsam, seltsam... vielleicht aber auch nicht: schätze das liegt mit der Maus Empfindlichkeit zusammen, habe meine ziemlich schnell...
03/29/2008 16:17 Azunai#12
dito ist bei mir auch sehr hoch, aber ich hab ne auflösung von 1200*1024 vllt liegts daran
04/15/2008 18:03 hEDDA#13
Ok hab genau das selbe Problem, hab dann das skript von bitchbi ausprobiert und dat funktioniert zwar um einiges besser, aber die kamera wird trotzdem um bis zu 90° gedreht -.-

Außerdem nicht nach westen sondern nach osten, was meiner meinung nach nur logisch ist, wenn man zu X 1 addiert und nich abzieht...

PS: hat schon jemand ne möglichkeit gefundn das drehen noch weiter zu "sensibilisieren"?

greez
04/15/2008 20:36 Azunai#14
nach rechts halt ^^
04/17/2008 21:36 Sleipnir Xiv#15
Quote:
Originally Posted by hEDDA View Post
PS: hat schon jemand ne möglichkeit gefundn das drehen noch weiter zu "sensibilisieren"?
So hab ichs gemacht:

Code:
;(c) Svardi
Func Richtung()
	Select
		Case  = "w"
			 = "0x00f7ff"
		Case  = "n"
			 = "0xff0000"
		Case  = "o"
			 = "0xfffd00"
		Case  = "s"
			 = "0x2aff00"
		Case Else
			MsgBox(0, "", "Fehler: keine Richtung ausgewählt.")
	EndSelect
	
	 = 0
	MouseMove( 500, 500 )
	MouseDown( "right" )

	While  = 0
		 = PixelSearch( 890, 40, 896, 55, , 1 )
		If @error Then
			MouseMove( 500, 501, 1 )
			Sleep( 20 )
		Else
			 = 1
		EndIf
	WEnd
	
	MouseUp( "right" )
EndFunc
Per TexMod bei jeder Himmelsrichtung ne andere Farbe, und dann per Richtung("w"/"n"/"s"/"o") die Richtung auswählen. Dauert natürlich etwas. Je nach Rechnerleistung kann man das Sleep(20) evtl. noch niedriger setzen. Habs auf 1024*768 im Fenstermodus...

MfG

PS: Bitte keine Bots öffentlich stellen, welche diese Funktion verwenden...

Edit: Warum schneidet das Forum meine Variablen raus?! Nun ja, wenn man selber Coden kann sollte man das auch selber hinbekommen...