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.
(Warcraft) Movement Combined with an Ability Script Request.
-
- Posts: 2
- Joined: 21 Aug 2019, 20:14
(Warcraft) Movement Combined with an Ability Script Request.
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').
Reason: Moved to 'Ask For Help > Gaming' (from 'Scripts and Functions').
Re: (Warcraft) Movement Combined with an Ability Script Request.
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
-
- Posts: 2
- Joined: 21 Aug 2019, 20:14
Re: (Warcraft) Movement Combined with an Ability Script Request.
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
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
Re: (Warcraft) Movement Combined with an Ability Script Request.
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}
}
Who is online
Users browsing this forum: No registered users and 12 guests