Warum schreibst du denn die Func Start() in die While-Schleife rein, das ist unnötig.
Code:
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
Local $mousePos = MouseGetPos()
MouseClick ("left",$mousePos[0], $mousePos[1],2)
EndFunc
Func Close()
Exit
EndFunc
While True
;Damit das Programm nicht zugeht
WEnd
Edit: habe das evtl etwas falsch verstanden, hier mein zweiter Versuch =D
Code:
Global $botEnabled=false
Global $dll = DllOpen("user32.dll")
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
$botEnabled = true
EndFunc
Func Close()
Exit
EndFunc
Func CheckForClick()
if _IsPressed("01", $dll) Then
Sleep(10);evtl variieren
MouseClick ("left")
EndIf
EndFunc
While True
If $botEnabled Then
CheckForClick()
EndIf
;Damit das Programm nicht zugeht
WEnd
Func _start()
While 1
$search = PixelSearch(700,300,900,500,0x9A0003,40)
If not @error Then
MouseClick("left",$search[0],$search[1])
EndIf
WEnd
EndFunc
Func _exit()
Exit
EndFunc
While 1
sleep(1)
WEnd
Allerdings bezweifel ich dass es geht, da die pixel bestimmt irgendwo in der Umgebung schon gebraucht werden.
Wieso ist mein Code denn umständlich? ^^
Ich habe in der Endlosschleife eine Bool-Abfrage, ob der "Bot" gestartet ist, wenn ja, dann greift er auf die Funktion CheckForClick zu. In dieser wird geprüft ob der User geklickt hat, und reagiert entsprechend
Zu dem Pixelsearch:
Warum definierst du nicht einfach ein Rechteck, welches sich nur um 20[LE] um die Mausposition herum befindet?
Damit minimierst du den Fall, dass der Pixel eventuell schon woanders sein könnte, als am Kopf des Gegners ^^
Code:
Local $mP = MouseGetPos()
Local $dx = 20
Local $search = PixelSearch(mP[0]-$dx,mP[1]-$dx,mP[0]+$dx,mP[1]+$dx,0x9A0003,40)
Danke Danke Danke für eure genialen Antworten ;D Ja die Idee mit dem Rechteck hatte ich auch schon in meine Bot eingebaut.
Nun gibt es noch ein Problem mit der Sache. Der Bot funktioniert irgendwie nicht, wenn CA gestartet ist. Vorher funktioniert er tadellos. Ich hab versucht, die Prioität im Taskmanager festzulegen aber das funzt irgendwie auch nicht.
Hat wer eine Ahnung wieso nicht?
Liegts daran, dass das Spiel nur im Vollbildmodus läuft?
Bei Vollbild kommt es darauf an wie die auflösung ist, ob sie die gleiche hat wie dein desktop oder so oder nicht, da der bot dann z.B. nicht mehr auf die position 1000, 1000 klicken kann, wenn du eine andere Auflösung im spiel hast
Es ist zwar eine andere auflösung, aber das dürfte diesen Bot eher wenig beeindrucken, da er ja eigentlich nichts mit pixelsearch oder so zu tun hat...
trotzdem ein dickes THX für die schnelle Antwort ;D
Doppelklick-Bot 12/05/2010 - AutoIt - 1 Replies Sorry für den Doppelpost
War keine Absicht.
Bitte Löschen
Doppelklick mit AutoIt in CheatEngine 07/30/2010 - AutoIt - 20 Replies Hallo Leute
ich möchte einen mausklick simulieren,und damit in cheat engine eine value ändern.
wenn ich aber doppelklick auf die adresse mache,damit das fenster mit der aktuellen value auf geht passiert nichts.
ebenso kann ich das nicht machen indem ich rechtsklick mache dann chance record und dann value
bei dem letzten schritt wenn er auf value klicken soll passiert dies einfach nicht.
den doppelklickt woltle ich mit
MouseClick ("left" ,812,500,2)machen
und den normalen klick mit ...
Doppelklick auf Liste? 05/11/2010 - AutoIt - 21 Replies Ich habe eine Liste (GUICtrlCreateList)... wenn ich einen Doppelklick auf einen Eintrag mache, soll eine Funktion ausgeführt werden.
Mir gehts also um den Doppelklick, ne Idee?
EDIT: Vllt ist's wichtig - ich benutz OnEventMode
Hilfe?:Doppelklick auf gefundenen Pixel (AutoIt) 04/02/2009 - Metin2 - 7 Replies Hallo,
Ich hab jetzt einen Farmbot gescriptet der recht gut funktioniert.
er macht dies
Global $Paused
HotKeySet("{F5}", "TogglePause")
while 1
Send("{SPACE}")
DoppelKlick 08/21/2008 - General Coding - 2 Replies Also ich benutze seit heute AutoITv3
und einen Mouseklick macht man ja so:
MouseClick("left", 50, 665)
Aber wie macht man einen doppelklick und wie hält man die Mouse gedrückt und läst sie wieder los ??