Hallo,
ich hoffe ihr könnt mir helfen, ich habe ein einfaches Skript für ein Flashgame erstellt, welches nach Eingabe der Buchstaben a,s,d,f,g (zu Erkennung der Mausposition) Mausklicks emuliert. Das Skript funktioniert, leider habe ich eine Prozessorlast von 100%. Was kann ich da am Code verändern? Kommt er überhaupt aus den ganzen While Schleifen wieder raus?
[autoit]
; AutoIt Version: 3.0
#Include <Misc.au3>
$dll = DllOpen("user32.dll")
hotkeyset("{ESC}", "Term")
; HotKeySet ("{F7}", "start")
dim $feather_cord, $width = 100, $height = 60, $time, $sp, $featherx, $feathery
[/autoit][autoit][/autoit][autoit]While 1
while 1
;Sleep (100)
If _IsPressed("41", $dll) Then
$x1 = MouseGetPos(0)
$y1 = MouseGetPos(1)
ExitLoop
EndIf
WEnd
while 1
;Sleep (100)
If _IsPressed("53", $dll) Then
$x2 = MouseGetPos(0)
$y2 = MouseGetPos(1)
ExitLoop
EndIf
WEnd
while 1
;Sleep (100)
If _IsPressed("44", $dll) Then
$x3 = MouseGetPos(0)
$y3 = MouseGetPos(1)
ExitLoop
EndIf
WEnd
while 1
;Sleep (100)
If _IsPressed("46", $dll) Then
$x4 = MouseGetPos(0)
$y4 = MouseGetPos(1)
ExitLoop
EndIf
WEnd
while 1
;Sleep (100)
If _IsPressed("47", $dll) Then
$x5 = MouseGetPos(0)
$y5 = MouseGetPos(1)
ExitLoop
EndIf
WEnd
While 1
MouseClick ("left",$x1, $y1)
sleep (500)
MouseClick ("left",$x2, $y2)
sleep (500)
MouseClick ("left",$x3, $y3)
sleep (500)
MouseClick ("left",$x4, $y4)
sleep (500)
MouseClick ("left",$x5, $y5)
sleep (500)
WEnd
WEnd
func Term ()
DllClose($dll)
exit
endfunc
Vielen Dank
Gruß Mario