hi
ich moechte eine dynamische mausbewegung von punkt zu punkt machen die menschlich aussieht.
ich denke gut eignen dafuer wird sich eine mathematische loesung mit kreisen oder besser ovalen die sehr gross sind (5x bildschirm oder so) und daraus einen teil als kurve fuer die maus zu verwenden(vielleicht auch nur einen teil der strecke um es noch "menschlicher" zu machen)
nur leider finde ich die funktionen dafuer nicht unter maths functions in der autoit help datei.
bin mir fast sicher dass autoit so etwas kann nur finde ich es nicht.
vielen dank fuer eure hilfe, mar bobley
//edit: hab die loesung doch noch hier im forum gefunden: [ gelöst ] Dynamischen Kreis zeichnen bzw mit MouseMove abfahren?
verstehs zwar noch nicht aber wird schon noch und den rest krieg ich dann auch zusammengebastelt
dynamische menschlich aussehende mausbewegungen?
-
- [ offen ]
-
Mar Bobley -
17. August 2009 um 23:52 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hi,
vielleicht hilft dir aus noch
Spoiler anzeigen
[autoit];WinMinimizeAll()
[/autoit] [autoit][/autoit] [autoit]
;mousemovereal(0,0,3,0,1)
;mousemovereal(200,200,3,0,1)
;mouseclickreal("left",50,100,1,1,0,1)
;mouseclickdragreal("left",100,100,400,400,1,1,10,0)
;mousedownreal("left")
;mousemovereal(600,600,1,0,1)
;mouseupreal("left")
;WinMinimizeAllUndo()
Testreal2(1, 1);1=X ,2=Y ,3=Speed << How higher , how faster
; Note : 1 = x goto.
; 2 = y goto.
; 3 = Speed behide steps
; 4 = The total of steps .. For a nice example use speed 10 and steps 2
; 5 = automatic makes a the good step number. 1 to enable , 0 to disable
;This is named "Mousemovereal", something which simulates a normally moving mouse cursor. Be honest,
;how many times do you draw a straight line from point a to point b?
; If you're lucky, that means if blizzard is running a detector you don't want to be making perfect straight lines all the time.
;This function moves your mouse to the desired position, but not in a straight line
;
;dit is mousemovereal dat betekend dat het een echte mousemove na maakt , want zeg zelf , hoe vaak
;trek je een rechte lijn van a tot b ? soms als je een keer mazzel hebt , dus als blizzard een
;detector heeft draaien moet je niet altijd een perfecte rechte lijn maken , daarom gebruik deze funcie
;deze is niet recht maar gaat wel naar gewenste posietie
;
;This is mouseclickreal , this is the same as mousemovereal but then with click funcion , parameters 1=Button 2=x 3=y 4=speed 5=nubclick 6=stepsFunc mousemovereal($x, $y, $speed, $steps, $Auto)
[/autoit]
; The mousemover , but he dont make a perfect line
Dim $q[2]
$q[0] = $x
$q[1] = $y
$p = MouseGetPos()
$len = Sqrt(($p[0] + $q[0]) * ($p[0] + $q[0])) + (($p[1] + $q[1]) * ($p[1] + $q[1]))
If $Auto = 1 Then
$steps = $len / 2000
ToolTip("Auto Steps :" & $steps)
EndIf
$mousestart = MouseGetPos()
For $i = 1 To $steps
MouseMove(($p[0] + ($i * ($q[0] - $p[0]) / $steps)) + Random(Random(-2, 0), Random(0, 2)), $p[1] + ($i * ($q[1] - $p[1]) / $steps) + Random(Random(-2, 0), Random(0, 2)), $speed)
$Secondmove = MouseGetPos()
Next
MouseMove($x, $y, $speed)
EndFunc ;==>mousemovereal
Func mouseclickreal($button, $x, $y, $speed, $Nubofclicks, $steps, $Auto)
;A mouseclick without a perfect line mouse move
mousemovereal($x, $y, $speed, $steps, $Auto)
$pos = MouseGetPos()
MouseClick($button, $pos[0], $pos[1], $Nubofclicks)
EndFunc ;==>mouseclickreal
Func mouseclickdragreal($button, $x, $y, $x2, $y2, $speed, $Nubofclicks, $steps, $Auto)
;Drag with a real mouse move , How mutch time you move your mouse really in a perfect line ? , why you shall do it perfect in drag?
mousemovereal($x, $y, $speed, $steps, $Auto)
MouseDown($button)
mousemovereal($x2, $y2, $speed, $steps, $Auto)
MouseUp($button)
EndFunc ;==>mouseclickdragreal
Func mousedownreal($button)
;Maby its sicko , but do you click your mouse without a little mouse move ?
$pos = MouseGetPos()
MouseMove($pos[0] - Random(Random(-2, 0), Random(0, 2)), $pos[1] - Random(Random(-2, 0), Random(0, 2)), 1)
MouseDown($button)
EndFunc ;==>mousedownreal
Func mouseupreal($button)
;Maby its sicko , but do you click your mouse without a little mouse move ?
$pos = MouseGetPos()
MouseMove($pos[0] - Random(Random(-2, 0), Random(0, 2)), $pos[1] - Random(Random(-2, 0), Random(0, 2)), 1)
MouseUp($button)
EndFunc ;==>mouseupreal
;\/ = beta , alpha
; This here under is beta testing , TestReal Works..
; \/ = beta , alpha
Func TestReal($x, $y)
Dim $q[2]
$q[0] = $x
$q[1] = $y
$p = MouseGetPos()
$len = Sqrt(($p[0] + $q[0]) * ($p[0] + $q[0])) + (($p[1] + $q[1]) * ($p[1] + $q[1]))
$steps = $len / 1000
ToolTip("Auto Steps :" & $steps)
Sleep(5000)
$mousestart = MouseGetPos()
For $i = 1 To $steps
MouseMove(($p[0] + ($i * ($q[0] - $p[0]) / $steps)) + Random(Random(-2, 0), Random(0, 2)), $p[1] + ($i * ($q[1] - $p[1]) / $steps) + Random(Random(-2, 0), Random(0, 2)), 1)
$s = MouseGetPos()
ToolTip("Auto Steps :" & Sqrt(($s[0] + $q[0]) * ($s[0] + $q[0])) + (($s[1] + $q[1]) * ($s[1] + $q[1])) / 1000, 0, 05)
Next
MouseMove($x, $y, 1)
EndFunc ;==>TestReal
Func TestReal2($x, $y)
$do = 1
Dim $q[2]
$q[0] = $x
$q[1] = $y
$p = MouseGetPos()
$len = Sqrt(($p[0] + $q[0]) * ($p[0] + $q[0])) + (($p[1] + $q[1]) * ($p[1] + $q[1]))
$steps = $len / 1000
$Random = Random(0, 1)
ToolTip("Auto Steps :" & $steps & "|random :" & $Random)
$do = 0
If $Random > 1.75 Then
$do = 1
EndIf
;sleep(5000)
If $do = 1 Then
Dim $r[2]
Dim $s[2]
$s[0] = $p[0] / (+(Cos($q[1]) * 2))
$s[1] = $p[1] / (+(Cos($q[0]) * 2))
$r[0] = $q[0] / (+(Cos($p[1]) * 2))
$r[1] = $q[1] / (+(Cos($p[0]) * 2))
$max = Random(-$steps, $steps)
For $count = 1 To +$max
$i = $max
MouseMove(($s[0] + ($i * ($r[0] - $s[0]) / $steps)) + Random(Random(-2, 0), Random(0, 2)), $s[1] + ($i * ($r[1] - $s[1]) / $steps) + Random(Random(-2, 0), Random(0, 2)), 1)
ToolTip("Auto Steps :" & Sqrt(($s[0] + $q[0]) * ($s[0] + $q[0])) + (($s[1] + $q[1]) * ($s[1] + $q[1])) / 1000, 0, 05)
Next
Return TestReal2($q[0], $q[1])
EndIf
$mousestart = MouseGetPos()
For $i = 1 To $steps
MouseMove(($p[0] + ($i * ($q[0] - $p[0]) / $steps)) + Random(Random(-2, 0), Random(0, 2)), $p[1] + ($i * ($q[1] - $p[1]) / $steps) + Random(Random(-2, 0), Random(0, 2)), 1)
$s = MouseGetPos()
ToolTip("Auto Steps :" & Sqrt(($s[0] + $q[0]) * ($s[0] + $q[0])) + (($s[1] + $q[1]) * ($s[1] + $q[1])) / 1000, 0, 05)
Next
EndFunc ;==>TestReal2Mega