Sign in to follow this  
Followers 0
=sinister=

Smoother MouseMove function not working

6 posts in this topic




I'd not seen that before. nice.

I just tried it in the latest release AutoIt, and the latest Beta AutoIt. It worked fine in both.

Are you using the correct function name?

If so, what is the error you are getting?

;o)

(or


nothing is foolproof to the sufficiently talented fool..

Share this post


Link to post
Share on other sites

sinister:

1. What was your older version that was working?

2. What is the current version you are trying?

I looked through the code in that UDF and I don't see any function calls that have changed.

Share this post


Link to post
Share on other sites

I was using version 3.0 or so (I can't remember). Now i'm using version v3.2.8.1. But the problem is it goes to the x,y coord instantly.

Share this post


Link to post
Share on other sites

I tried it, it just moves my mouse instantly, I have version 3.2.8.1

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

I went ahead and fixed it (EDIT: BTW i'm running 3.2.8.1):

; Smoother Mouse Move
; by the DtTvB
; Edited by WeaponX 10/8/07

; Ease in function
func __calci1($i, $sm)
    return $i ^ $sm;
endFunc

; Ease out function
func __calci2($i, $sm)
    return 1 - ((1 - $i) ^ $sm);
endFunc

; Ease in out function
func __calci($i, $sm)
    if ($i < 0.5) then
        return __calci1($i * 2, $sm) / 2;
    else
        return (__calci2(($i - 0.5) * 2, $sm) / 2) + 0.5;
    endIf
endFunc

; Ease backward function
func __calof($i, $sm)
    if ($i < 0.5) then
        return __calci($i * 2, $sm);
    else
        return __calci((1 - $i) * 2, $sm);
    endIf
endfunc

; MAIN FUNCTION
func mouseMove2($x2, $y2, $speed)
    $pos = mouseGetPos()
    $xv = random(-100, 100);
    $yv = random(-100, 100);
    $sm = random(1.5, 2.5);
    $m = random(50, 160);
    for $i = 0 to $m
        $ci = __calci($i / $m, $sm);
        $co = __calof($i / $m, $sm);
        $cx = $pos[0] + (($x2 - $pos[0]) * $ci) + ($xv * $co);
        $cy = $pos[1] + (($y2 - $pos[1]) * $ci) + ($yv * $co);
        mouseMove ($cx, $cy, $speed);
    next
endFunc

; Test Script
mouseMove2 (512, 386, 1);
Edited by weaponx

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0