up::
KeyWait, up, Up
#IfWinActive, World of Warcraft
{
ControlSend,, {Up Down}, ahk_id %idClone%
}
Return

up Up::
#IfWinActive, World of Warcraft
{
ControlSend,, {Up Up}, ahk_id %idClone%
}
Return

down::
KeyWait, Down, Down
#IfWinActive, World of Warcraft
{
ControlSend,, {Down Down}, ahk_id %idClone%
}
Return

down Up::
#IfWinActive, World of Warcraft
{
ControlSend,, {Down Up}, ahk_id %idClone%
}
Return

left::
KeyWait, left, Left
#IfWinActive, World of Warcraft
{
ControlSend,, {Left Down}, ahk_id %idClone%
}
Return

left Up::
#IfWinActive, World of Warcraft
{
ControlSend,, {Left Up}, ahk_id %idClone%
}
Return

right::
KeyWait, right, Right
#IfWinActive, World of Warcraft
{
ControlSend,, {Right Down}, ahk_id %idClone%
}
Return

right Up::
#IfWinActive, World of Warcraft
{
ControlSend,, {Right Up}, ahk_id %idClone%
}
Return

I'm using this, and the character seems to turn and move backwards properly. However whenever I press forward he runs forward indefinitely and I can't stop him unless i turn off autohotkey.