This is my code in AHK to move 2 characters on world of warcraft. just im having problems with it and the character which is following the player character is not moving correctly, i press w an the character moves forward, i press a an they both move left... eg. but unless im standing still and pressing A or D to turn, the secondary character goes offset in the wrong direction slightly. can any 1 have a look at my code an see if their is something wrong with it plz? (btw im new to this - the code iv made so far is by using the AHK guide).

WinGet, wowid, List, World of Warcraft

~w::
#IfWinActive, World of Warcraft
{
ControlSend, , {w Down}, ahk_id %wowid1%
ControlSend, , {w Down}, ahk_id %wowid2%
}
Return

~w Up::
#IfWinActive, World of Warcraft
{
ControlSend, , {w Up}, ahk_id %wowid1%
ControlSend, , {w Up}, ahk_id %wowid2%
}
Return

WinGet, wowid, List, World of Warcraft

~a::
#IfWinActive, World of Warcraft
{
ControlSend, , {a Down}, ahk_id %wowid1%
ControlSend, , {a Down}, ahk_id %wowid2%
}
Return

~a Up::
#IfWinActive, World of Warcraft
{
ControlSend, , {a Up}, ahk_id %wowid1%
ControlSend, , {a Up}, ahk_id %wowid2%
}
Return

WinGet, wowid, List, World of Warcraft

~d::
#IfWinActive, World of Warcraft
{
ControlSend, , {d Down}, ahk_id %wowid1%
ControlSend, , {d Down}, ahk_id %wowid2%
}
Return

~d Up::
#IfWinActive, World of Warcraft
{
ControlSend, , {d Up}, ahk_id %wowid1%
ControlSend, , {d Up}, ahk_id %wowid2%
}
Return

WinGet, wowid, List, World of Warcraft

~s::
#IfWinActive, World of Warcraft
{
ControlSend, , {s Down}, ahk_id %wowid1%
ControlSend, , {s Down}, ahk_id %wowid2%
}
Return

~s Up::
#IfWinActive, World of Warcraft
{
ControlSend, , {s Up}, ahk_id %wowid1%
ControlSend, , {s Up}, ahk_id %wowid2%
}
Return