lorddakkon / diablo-iii-wasd

Automatically exported from code.google.com/p/diablo-iii-wasd
0 stars 0 forks source link

Jumpy Mouse + Solution that worked for me #5

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Thanks for the script. For me, using 1.2, the mouse jumps around a lot and I 
decided to tweak the script so that I would have a smoother experience.

I decided to use ControlClick to send a click message without moving the mouse.

So I changed:

MouseGetPos, x_initial, y_initial
MouseMove, %x_final%, %y_final%, 0          
Send {%mkey%}
MouseMove, %x_initial%, %y_initial%, 0

to:

SetControlDelay -1
ControlClick, x%x_final% y%y_final%, Diablo III

This makes moving and clicking at targets fairly seamless.

Enjoy!

Andargor

Original issue reported on code.google.com by andar...@gmail.com on 21 Apr 2012 at 12:10

GoogleCodeExporter commented 8 years ago
Thanks for the update. One question though does running over items
cause you to pick them up? That was the issue we were having before
with using clicks instead of sending the move key.

It is a good idea though.

Original comment by jsig...@gmail.com on 21 Apr 2012 at 9:02

GoogleCodeExporter commented 8 years ago
This change does not work with me.

1. I see a trail of clicking wherever my character moves.
2. Wherever the cursor points it, it auto uses my left mouse button skill.

Is there something I am doing wrong?

Original comment by jtyp...@gmail.com on 21 Apr 2012 at 11:34

GoogleCodeExporter commented 8 years ago
It isn't an ideal solution because all it is doing is sending clicks to a set 
of coordinates. This means if there is anything under the location you are 
sending the click it will interact with it.

That is the reason I transitioned the script from clicks to sending the move 
key a while back. It causes too many issues.

Original comment by jsig...@gmail.com on 21 Apr 2012 at 11:49

GoogleCodeExporter commented 8 years ago
Hi, yes it does send a click to whatever the mouse is pointing at, and it does 
show a trail of clicking, you are right. This was however preferable for me, 
otherwise the mouse kept moving back and forth, "jumping" around, which was 
very difficult for me to control.

I`m playing a wizard, so having the click on the mouse is actually an advantage 
because I would move with WASD and have the mouse away from the character, 
which would make a ranged attack if anything was there.

I guess it is a matter of preference :) Perhaps an alternate version with this 
method, if it helps anyone?

There may be other ControlClick options that I don't know about, or something 
that would prevent the click on mouseover.

Original comment by andar...@gmail.com on 21 Apr 2012 at 3:50

GoogleCodeExporter commented 8 years ago
I understand what you're saying andar.

Yelgis did a great job with the script, however, the only issue I am having is 
the mouse cursor occasionally jumping around, which very annoying and really 
distracts from gameplay haha.

Yelgis informed me that he is going to try his best to take a look at this 
issue.

Hopefully it can be somewhat fixed!

Original comment by jtyp...@gmail.com on 22 Apr 2012 at 12:17

GoogleCodeExporter commented 8 years ago
ok. great solution and thx for the info . after searching in the AHK help file 
, i found a better one which will not leave a trail of mouse click and won't 
interaction with moussover. 
the idea is set the mouse middle key same as F12 (move to the cursor) in the 
game
then change the script as the one metioned before, but add one more parameter:

SetControlDelay -1
ControlClick, x%x_final% y%y_final%, Diablo III, , MIDDLE

this will send the mouse middle button instead of left click
enjoy smooth mouse moves

Original comment by magic....@gmail.com on 1 Jun 2012 at 5:56

GoogleCodeExporter commented 8 years ago
Hmm that is a pretty good idea magic.zju

I will test it out when I get back into town on some of my scripts and see how 
it goes. Might make a new release for it. I don't have many issues with mouse 
jumping myself, but ever system's timing is different which makes it difficult 
to give a universal system that will work great for everyone.

If only Bizzard would give us some native functionality within the game, 
instead of forcing us to come up with solutions like the ones on this code site 
that just manipulate the already existing systems in place. I will never 
understand why they took such a stubborn position on control schemes. 

Original comment by jsig...@gmail.com on 1 Jun 2012 at 6:01

GoogleCodeExporter commented 8 years ago
Awesome sauce is awesome, great find magic. Case closed for me :))

Original comment by base64...@gmail.com on 1 Jun 2012 at 9:15

GoogleCodeExporter commented 8 years ago
Is this what you did for the fix? 
changed:
MouseGetPos, x_initial, y_initial
MouseMove, %x_final%, %y_final%, 0          
Send {%mkey%}
MouseMove, %x_initial%, %y_initial%, 0

to:

SetControlDelay -1
ControlClick, x%x_final% y%y_final%, Diablo III, , MIDDLE

Original comment by khmerha...@gmail.com on 4 Jun 2012 at 2:06

GoogleCodeExporter commented 8 years ago
Yeah, basically same as my original post, but thanks to magic's find, just 
added the ", , MIDDLE" part, and set the "move" binding to middle mouse instead 
of F12 like the docs say

Original comment by andar...@gmail.com on 4 Jun 2012 at 2:16

GoogleCodeExporter commented 8 years ago
Hi there, a really quick response, I have debugged this issue for quite some 
time. My solution is to a) bind move key to middle mouse then b) use this:

        MouseGetPos, x_initial, y_initial
        SetMouseDelay -1
        MouseMove, %x_final%, %y_final%
        Send {click middle %x_final%,%y_final%}
        MouseMove %x_initial%, %y_initial%
        MouseGetPos, x_p, y_p
        MouseMove %x_initial%, %y_initial%

They key here is the second GetPos/MouseMove. It seems these functions are a 
bit jittery so simply setting the position a second time mostly clears up the 
jumpiness. "Works for me".

Original comment by nul...@gmail.com on 12 Jun 2012 at 6:50

GoogleCodeExporter commented 8 years ago
Also I had an issue where I had to add 

        CoordMode,Mouse,Relative

and take off the x/y top corner offset to get the script to work in my windowed 
mode. 

Original comment by nul...@gmail.com on 12 Jun 2012 at 6:51

GoogleCodeExporter commented 8 years ago
Using the code from comment 11 with a slight modification works wonders for me! 
No more does this script "steal" my mouse and leave it in the middle of the 
screen when I'm trying to fight.

My modifications:
        MouseGetPos, x_initial, y_initial
        SetMouseDelay -1
        MouseMove, %x_final%, %y_final%
        Send {XButton1}
        MouseMove %x_initial%, %y_initial%
        MouseGetPos, x_p, y_p
        MouseMove %x_initial%, %y_initial%

I use Mouse4 or XButton1 as my move key. (for some reason my middle mouse 
button doesn't work, something to do with my mouse/drivers) and I removed the 
"click" bit because that causes the annoying ping effect + causes it to 
interact with items and npcs. There is no point in adding the x/y variables in 
the send command since we have to move the mouse anyway.

Original comment by shawnj...@gmail.com on 13 Jun 2012 at 5:56

GoogleCodeExporter commented 8 years ago
On a side note, increasing the WASD_Handler timer duration to 150 instead of 10 
got rid of most of the mouse stealing that was happening. I'm thinking the 
handler runs again before the previous is done doing its business and it sets 
the mouse pointer x/y_initials to where the mouse would be for movement. 
The changed code was the final nail in the coffin though, in a couple hours of 
playing I haven't had it happen once.

Original comment by shawnj...@gmail.com on 13 Jun 2012 at 6:00

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Thanks for the good work people. The mouse jumps were driving me nuts and I was 
all set to debug this sucker into submission. Didn't need to, it's already done 
here :)

Just to save others the time, I've attached the "corners" script (for 
widescreen monitors) modified with the mouse button 4 fix (I changed the mkey 
variable at the top) and the double position set fix. This means you need to 
bind that mouse button in-game to Move instead of F12.

NOTE: larger WASD_Handler timer duration result in worse WASD key response. I 
don't know how you can handle a value of 150 shawnj, I found the degradation 
painful after bumping it up to just 20 and quickly reverted back to 10.

Original comment by denk...@gmail.com on 23 Aug 2012 at 1:47

Attachments:

GoogleCodeExporter commented 8 years ago
Hi everyone! Could someone please explain clearly which to put in for the jumpy 
mouse issue ? I've read the comments multiple times and my english isn't that 
good I don't really understand what change to make.
Thank you

Original comment by AXiao1...@gmail.com on 24 Apr 2014 at 10:19

GoogleCodeExporter commented 8 years ago
up pls

Original comment by RIXEandD...@gmail.com on 24 Mar 2015 at 7:45