Yes hpavc, that's the issue I'm referring to unfortunately.
It's maint/patch tonight (for the EU at least) so it's possible, although incredibly unlikely, that it will be fixed... not exactly getting my hopes up though.
From what I can tell, there's communication between the follower and the person being followed which is building too high and the server is kicking the follower off to reduce this load. If you wait a while and try again, it takes longer to get kicked (about 3-4 minutes at a rough estimate) and the more action you take the faster too, however standing still seems to actualy work in an opposite way and increase the rate of being disconnected, which seems contrary to logic (,since standing still would surely require no communication?).
Does anyone have any alternative solutions until this issue is fixed?
Thanks
;Edit
Well, I've edited my AHK script to include wasd keys for movement (hopefull) however as the EU servers are down for 3 hours 40 minutes I was wondering if anyone else could tell me if this solution would actually work?
All I have done is add the following to the script;
(As reference, are the keys case sensitive? So is 'e' the same as 'E'? Does one work and not the other?)
[code:1]; *******************
; *** WASD ***
; *******************
#IfWinActive, World of Warcraft
~w::
ControlSend,,{w down}{w up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{w down}{w up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~a::
ControlSend,,{a down}{a up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{a down}{a up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~s::
ControlSend,,{s down}{s up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{s down}{s up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~d::
ControlSend,,{d down}{d up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{d down}{d up}, ahk_id %idClone%
return
[/code:1]
Here is the 'w' script for my dual box, just add more id clones for more. '-' is a macro set to follow my main...
My only problem with this is that there is always a gap between the two characters, most likely due to lag, whereby the clone stops following well before it is directly behind the main. Thanks for the script though, I have added it to my script however commented it out until I am able to test without as much lag.
For anyone that's interested, below is my entire script. It works for two clients and is basically Sorn's script with two /follow scripts added and a Suspend script added. Comments and suggestions welcome!
[code:1]
;
; Wow Duel Account Helper Version: .02a
; Language: English
; Platform: AutoHotkey Script
; Author: Sorn
; NOTES: Written for the Duel-Boxing.com forums, Send PM or post in the Autohotkey thread for assistance or suggestion
;
; Script Function:
; Allows you to play two copies of WOW at the same time
;
; Edited by Zaza 16/8/07 to include Suspend and Following, mainly for people with disconnects due to /follow.
; Edited without permission of Sorn, no attempt at plagiarism is intended. All other scripting work by Sorn.
; ************************************************** **************************************
; *** READ BEFORE USE! ***
; *** Uncomment ONE of the FOLLOW scripts to setup follow (line 82 to 90 OR 97 to 105) ***
; *** Bind 'Q' to follow macro on Clone ***
; *** Bind '=' to '/assist party1' on Clone ***
; *** Bind 'Ctrl+Q' to target self macros on both Main and Clone ***
; ************************************************** **************************************
;Tell user what is about to happen
SplashTextOn, 325, , Preparing to find your Main and Clone windows of WoW.
Sleep, 2000
SplasHtextoff
;Grab unique window ID's
WinGet, wowid, List, World of Warcraft
; Minimize All WOW windows
WinMinimize, ahk_id %wowid1%
WinMinimize, ahk_id %wowid2%
;Determine Main and Clone Windows
WinActivate, ahk_id %wowid1%
MsgBox, 4,, Is this your WOW Main window? (press Yes or No)
IfMsgBox Yes
idMain = %wowid1%
else
idMain = %wowid2%
If idMain = %wowid1%
{
idClone = %wowid2%
} else {
idClone = %wowid1%
}
;Activate All WOW windows
WinActivate, ahk_id %idMain%
WinActivate, ahk_id %idClone%
;*** Special Functions ***
#IfWinActive, World of Warcraft
; *** Makes wow2 follow Wow1 Player ***
^-::
ControlSend,,{- down}{- up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
; *** Makes wow2 Assist Wow1 Player ***
^=::
return
; ************************************************** *******************
; *** Suspending (Pausing) the Script ***
; *** Used when you need to type etc without duplicating keypresses ***
; ************************************************** *******************
^E::Suspend ; Press Ctrl+E to Suspend this script, press it again to resume.
; ************************************************** ***
; *** FOLLOW TYPE 1 ***
; *** Bind 'Q' to follow macro on clone ***
; *** Bind 'E' to walk forwards on clone (unfollow) ***
; ************************************************** ***
;#IfWinActive, World of Warcraft
; ~Q::
; ControlSend,,{Q down}{Q up}, ahk_id %idClone%
;return
;
;#IfWinActive, World of Warcraft
; ~E::
; ControlSend,,{E down}{E up}, ahk_id %idClone%
;return
; ************************************************** **********
; *** FOLLOW TYPE 2 ***
; *** On W down Clone follows Main until W key is released ***
; ************************************************** **********
;#IfWinActive, World of Warcraft
; ~w::
; ControlSend,,{Q down}{Q up}, ahk_id %idClone% ; Replace Q with follow macro keybinding
;return
;
;#IfWinActive, World of Warcraft
; ~w Up::
; ControlSend,,{w down}{w up}, ahk_id %idClone% ; When W is released, clone takes a step ergo breaks follow
;return
; *******************
; *** Target Self ***
; *******************
#IfWinActive, World of Warcraft
~^Q::
ControlSend,,{Ctrl down}{Q down}{Q up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{Ctrl down}{Q down}{Q up}{Ctrl up}, ahk_id %idClone%
return
; *******************
; *** Hotbars 1-0 ***
; *******************
#IfWinActive, World of Warcraft
~1::
ControlSend,,{1 down}{1 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{1 down}{1 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~2::
ControlSend,,{2 down}{2 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{2 down}{2 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~3::
ControlSend,,{3 down}{3 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{3 down}{3 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~4::
ControlSend,,{4 down}{4 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{4 down}{4 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~5::
ControlSend,,{5 down}{5 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{5 down}{5 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~6::
ControlSend,,{6 down}{6 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{6 down}{6 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~7::
ControlSend,,{7 down}{7 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{7 down}{7 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~8::
ControlSend,,{8 down}{8 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{8 down}{8 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~9::
ControlSend,,{9 down}{9 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{9 down}{9 up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~0::
ControlSend,,{0 down}{0 up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{0 down}{0 up}, ahk_id %idClone%
return
; ***************************
; *** Hotbars Shift ^ 1-0 ***
; ***************************
#IfWinActive, World of Warcraft
~+1::
ControlSend,,{Shift down}{1 down}{1 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{1 down}{1 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+2::
ControlSend,,{Shift down}{2 down}{2 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{2 down}{2 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+3::
ControlSend,,{Shift down}{3 down}{3 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{3 down}{3 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+4::
ControlSend,,{Shift down}{4 down}{4 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{4 down}{4 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+5::
ControlSend,,{Shift down}{5 down}{5 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{5 down}{5 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+6::
ControlSend,,{Shift down}{6 down}{6 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{6 down}{6 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+7::
ControlSend,,{Shift down}{7 down}{7 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{7 down}{7 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+8::
ControlSend,,{Shift down}{8 down}{8 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{8 down}{8 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+9::
ControlSend,,{Shift down}{9 down}{9 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{9 down}{9 up}{Shift up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~+0::
ControlSend,,{Shift down}{0 down}{0 up}{Shift up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Shift down}{0 down}{0 up}{Shift up}, ahk_id %idClone%
return
; **************************
; *** Hotbars Cntl ^ 1-0 ***
; **************************
#IfWinActive, World of Warcraft
~^1::
ControlSend,,{Ctrl down}{1 down}{1 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{1 down}{1 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^2::
ControlSend,,{Ctrl down}{2 down}{2 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{2 down}{2 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^3::
ControlSend,,{Ctrl down}{3 down}{3 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{3 down}{3 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^4::
ControlSend,,{Ctrl down}{4 down}{4 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{4 down}{4 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^5::
ControlSend,,{Ctrl down}{5 down}{5 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{5 down}{5 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^6::
ControlSend,,{Ctrl down}{6 down}{6 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{6 down}{6 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^7::
ControlSend,,{Ctrl down}{7 down}{7 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{7 down}{7 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^8::
ControlSend,,{Ctrl down}{8 down}{8 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{8 down}{8 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^9::
ControlSend,,{Ctrl down}{9 down}{9 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{9 down}{9 up}{Ctrl up}, ahk_id %idClone%
return
#IfWinActive, World of Warcraft
~^0::
ControlSend,,{Ctrl down}{0 down}{0 up}{Ctrl up}, ahk_id %idMain%
ControlSend,,{= down}{= up}, ahk_id %idClone%
ControlSend,,{Ctrl down}{0 down}{0 up}{Ctrl up}, ahk_id %idClone%
return
[/code:1]
Djarid
10-01-2007, 10:56 AM
modify your script to something like
[code:1]
; *******************
; *** WASD ***
; *******************
#IfWinActive, World of Warcraft
w::
ControlSend,,{w down}, ahk_id %idMain%
ControlSend,,{= down}, ahk_id %idClone%
ControlSend,,{w down}, ahk_id %idClone%
return
w up::
ControlSend,,{w up}, ahk_id %idMain%
ControlSend,,{= up}, ahk_id %idClone%
ControlSend,,{w up}, ahk_id %idClone%
return
a::
ControlSend,,{a down}, ahk_id %idMain%
ControlSend,,{= down}, ahk_id %idClone%
ControlSend,,{a down}, ahk_id %idClone%
return
a up::
ControlSend,,{a up}, ahk_id %idMain%
ControlSend,,{= up}, ahk_id %idClone%
ControlSend,,{a up}, ahk_id %idClone%
return
s::
ControlSend,,{s down}, ahk_id %idMain%
ControlSend,,{= down}, ahk_id %idClone%
ControlSend,,{s down}, ahk_id %idClone%
return
s up::
ControlSend,,{s up}, ahk_id %idMain%
ControlSend,,{= up}, ahk_id %idClone%
ControlSend,,{s up}, ahk_id %idClone%
return
d::
ControlSend,,{d down}, ahk_id %idMain%
ControlSend,,{= down}, ahk_id %idClone%
ControlSend,,{d down}, ahk_id %idClone%
return
d up::
ControlSend,,{d up}, ahk_id %idMain%
ControlSend,,{= up}, ahk_id %idClone%
ControlSend,,{d up}, ahk_id %idClone%
return [/code:1]
you don't want the ~ if you are explicitly sending the control to your main... ~ tells AHK to not block the key press to the current focus so you would end up with 2x w
btw what is the = being sent for? is this a straight copy of Sorn's script?
if so do you want a slightly improved version of the instance identification code? (not all my work)
vBulletin® v4.2.2, Copyright ©2000-2025, Jelsoft Enterprises Ltd.