(Warcraft) Movement Combined with an Ability Script Request.

Ask gaming related questions
WalterBarlow
Posts: 2
Joined: 21 Aug 2019, 20:14

(Warcraft) Movement Combined with an Ability Script Request.

02 Jan 2021, 13:53

keyboard Movement in World of Warcraft by default is W,A,S,D. I play a mage and I have the ability "BLINK" which transports me 20 yards in whatever direction I'm moving, or 20 yards forward if I'm not moving at all. Is it possible to make a scrip that allows for normal "W,A,S,D" movement but when any of "W,A,S,D" keys are pressed twice rapidly the script moves the character in the default direction associated with "W,A,S,D" AND ALSO uses the ability "BLINK" which is set to another key bind.

For Example

Normal W,A,S,D press, or hold = Default
Double press of W,A,S,D (within a very short time frame) = The W,A,S,D key pressed AND "R" (BLINK ABILITY KEYBIND) key pressed.
Last edited by gregster on 02 Jan 2021, 13:56, edited 1 time in total.
Reason: Moved to 'Ask For Help > Gaming' (from 'Scripts and Functions').
User avatar
mikeyww
Posts: 5104
Joined: 09 Sep 2014, 18:38

Re: (Warcraft) Movement Combined with an Ability Script Request.

02 Jan 2021, 14:06

Code: Select all

$w::
$a::
$s::
$d::Send % (A_PriorHotkey = "~" (hk := SubStr(A_ThisHotkey, 2)) " Up" && A_TimeSincePriorHotkey < 300) ? "r" : hk

~w Up::
~a Up::
~s Up::
~d Up::Return
WalterBarlow
Posts: 2
Joined: 21 Aug 2019, 20:14

Re: (Warcraft) Movement Combined with an Ability Script Request.

03 Jan 2021, 03:10

Came across a script on MMO CHAMPION that was close to what i was looking for, i made some adjustments and its working nicely.

ENJOY :)

Code: Select all

~w::
if (A_PriorHotkey <> "~w" or A_TimeSincePriorHotkey > 200)
{
    ; Too much time between presses, so this isn't a double-press.
    KeyWait, w
    return
}
Send {w down}{1 down}{1 up}{w up}
return

~d::
if (A_PriorHotkey <> "~d" or A_TimeSincePriorHotkey > 200)
{
    ; Too much time between presses, so this isn't a double-press.
    KeyWait, d
    return
}
Send {d down}{1 down}{1 up}{d up}
return

~a::
if (A_PriorHotkey <> "~a" or A_TimeSincePriorHotkey > 200)
{
    ; Too much time between presses, so this isn't a double-press.
    KeyWait, a
    return
}
Send {a down}{1 down}{1 up}{a up}
return

~s::
if (A_PriorHotkey <> "~s" or A_TimeSincePriorHotkey > 200)
{
    ; Too much time between presses, so this isn't a double-press.
    KeyWait, s
    return
}
Send {s down}{1 down}{1 up}{s up}
return
User avatar
Xtra
Posts: 2048
Joined: 02 Oct 2015, 12:15

Re: (Warcraft) Movement Combined with an Ability Script Request.

03 Jan 2021, 05:42

Your script as a function:

Code: Select all

~w::WowKey(1)
~d::WowKey(1)
~a::WowKey(1)
~s::WowKey(1)

WowKey(AbilityKey) {
	RegExMatch(A_ThisHotkey, "[A-Za-z0-9]", key)
    if (A_PriorHotkey <> A_ThisHotkey or A_TimeSincePriorHotkey > 200) {
	    KeyWait, % key
		Exit
	}
	Send {%key% down}{%AbilityKey% down}{%AbilityKey% up}{%key% up}
}

Return to “Gaming”

Who is online

Users browsing this forum: No registered users and 12 guests