10

Null Movement Script

Comments:
Threaded Linear
#1
TechDude

I made an AHK script that emulates the null movement script from TF2/Quake since I couldn't find any versions of it that actually worked.

The goal of this is to change the behavior where holding both A and D stops your character from moving, instead moving in the direction of the last key that was pressed.

Notes:
-Makes sure to only output keypresses that an actual key could create, e.g. A down can only be followed by A up
-Stutter strafing where you hold one strafe key and toggle the other works properly
-Properly passes through key modifiers like shift, ctr, alt (so it works properly with zarya shield and lucio's hold to crossfade)
-Doesn't affect typing usability of the keyboard (I leave it on all the time).

AHK download: https://autohotkey.com/download/
AHK script: https://github.com/Qiasfah/Null-Movement-Script/blob/master/Null%20Movement.ahk

#SingleInstance

; Null Movement Script
; This updates the A and D keys so that only one is held down at a time
; This avoids the situation where game engines treat holding both strafe keys as not moving
; Insead holding both strafe keys will cause you to move in the direction of the last one that was pressed

a_held := 0 ; Variable that stores the actual keyboard state of the a key
d_held := 0 ; Variable that stores the actual keyboard state of the d key
a_scrip := 0 ; Variable that stores the state of the a key output from the script
d_scrip := 0 ; Variable that stores the state of the d key output from the script

*$a:: ; Every time the a key is pressed, * to include occurences with modifiers (shift, control, alt, etc)
    a_held := 1 ; Track the actual state of the keyboard key

    if (d_scrip){ 
        Send {Blind}{d up} ; Release the d key if it's held down, {Blind} so it includes any key modifiers (shift primarily)
        d_scrip := 0
    }

    if (!a_scrip){
        Send {Blind}{a down} ; Send the a down key
        a_scrip := 1
    }
    return

*$a up:: ; Every time the a key is released
    a_held := 0

    if (a_scrip){
        Send {Blind}{a up} ; Send the a up key
        a_scrip := 0
    }

    if (d_held AND !d_scrip){
        Send {Blind}{d down} ; Send the d down key if it's held
        d_scrip := 1
    }
    return

*$d:: ; Every time the d key is pressed
    d_held := 1

    if (a_scrip){
        Send {Blind}{a up}
        a_scrip := 0
    }

    if (!d_scrip){
        Send {Blind}{d down}
        d_scrip := 1
    }
    return

*$d up:: ; Every time the d key is released
    d_held := 0

    if (d_scrip){
        Send {Blind}{d up}
        d_scrip := 0
    }

    if (a_held AND !a_scrip){
        Send {Blind}{a down}
        a_scrip := 1
    }
    return
#2
TechDude
3
Frags
+
–

Use at your own risk of course, has worked great for my for casual use so far.

#3
Pixelfish
3
Frags
+
–

I mean just...wow. This is a lot. Thanks!

#4
Hellafine
1
Frags
+
–

REPORTED BabyRage

#5
Mert
2
Frags
+
–

Streamer where can I download config thank you

#6
poi98
1
Frags
+
–

Wow! Great job man!

#7
TechDude
1
Frags
+
–

Just put it on github, because why not.

Download link if you don't know how to copy text into a .ahk file ;)
https://github.com/Qiasfah/Null-Movement-Script/archive/master.zip

#8
Generation1
-1
Frags
+
–

This is against Overwatch's rules... mods should remove this.

#9
TechDude
1
Frags
+
–

Sorry, how is this against the rules?

#10
Generation1
1
Frags
+
–

It's been in Blizzard's TOS forever. Any script/macro/third party to change default functions is considered cheating. They'll never know because it's so minor and untraceable but still it's against the competitive integrity of the game.

EDIT: Since early in WoW blizzard has promoted "if you can do it with your own two hands, then it's legal" but in this case we are creating a script to allow you to do something faster than you would be capable of with your two hands. IE breaking the rules. Just forewarning users of this, that it is a ban-able offense. Down frag me all you want, doesn't change the truth.

Here is community confirmation on the blizzard forums. https://us.battle.net/forums/en/overwatch/topic/20758846675?page=1#post-4

#11
KuroiRyuu9625
3
Frags
+
–
Generation1 [#10]

It's been in Blizzard's TOS forever. Any script/macro/third party to change default functions is considered cheating. They'll never know because it's so minor and untraceable but still it's against the competitive integrity of the game.

EDIT: Since early in WoW blizzard has promoted "if you can do it with your own two hands, then it's legal" but in this case we are creating a script to allow you to do something faster than you would be capable of with your two hands. IE breaking the rules. Just forewarning users of this, that it is a ban-able offense. Down frag me all you want, doesn't change the truth.

Here is community confirmation on the blizzard forums. https://us.battle.net/forums/en/overwatch/topic/20758846675?page=1#post-4

From what my feeble mind understands this doesn't change game behaviour but keyboard input so that the game doesn't get conflicting information from your hardware causing your character to not move when both keys are pressed because of double key feedback.

As far as I understand it's nothing you can't do with your hands, since not hitting both keys at the same time is very much within the realm of human capabilities.

Correct me if i'm wrong here.

#12
Generation1
0
Frags
+
–

because you are removing that you have to release keys and repress them to achieve a desired result. I can 100% do this faster/easier than I can press a release and then press d release repeat.

Edit: think about how much easier it would be to control the randomness if you only have to move 1 finger to decide your timing on your stutters as well. I don't know about you but thats a lot less thinking for my brain.

#13
TechDude
1
Frags
+
–

It's still 1 key to 1 action, and it's still something you can do without the script.

Meh?

#14
Hudsen
3
Frags
+
–

If you don't use it and are familiar with the default movement settings, then don't use it.

If you want to try it out just to see how it feels, go for it.

If you're familiar with null movement and are used to using it (like myself), then use it.

Thanks TechDude!!

#15
KuroiRyuu9625
2
Frags
+
–
Generation1 [#12]

because you are removing that you have to release keys and repress them to achieve a desired result. I can 100% do this faster/easier than I can press a release and then press d release repeat.

Edit: think about how much easier it would be to control the randomness if you only have to move 1 finger to decide your timing on your stutters as well. I don't know about you but thats a lot less thinking for my brain.

By the way the forum post you linked holds no definite answer, or community confirmation as you put it, just a bunch of differing opinions.

Would definitely need confirmation from Blizz in some form since this is seen as a gray zone by quite a few.

  • Preview
  • Edit
› check that that your post follows the forum rules and guidelines or get formatting help
Sign up or log in to post a comment