Hello all. As promised, my findings on using software to multibox WAR:
I used AutoHotkey (AHK) and HotkeyNet (HKN) to successfully broadcast keystrokes to WAR. AutoHotkey has a very undesirable disadvantage, so I won't bother posting a script with it. Its only use is to reliably rename the WAR windows, for use in HKN. I have a few options for those wishing to tinker with my findings to get the optimum.
Please note the following examples are to run 3 instances of WAR (as much as most computers these days could handle, I suspect). You will have to be intuitive to remove script should you choose to 2-box.
You start by creating an AHK script file in your HKN directory, naming it whatever you like (maybe making a shortcut from the desktop to it). This is to be run once all your WAR games are launched. The script:
Now, create a HKN file, named anythingyoulike.txt, containing one of the examples:WinGet, warid, List, Warhammer: Age of Reckoning`, Copyright 2001-2008 Electronic Arts`, Inc.
WinSetTitle, ahk_id %warid1%,,war1
WinSetTitle, ahk_id %warid2%,,war2
WinSetTitle, ahk_id %warid3%,,war3
Run, HotkeyNet.exe
ExitApp
This is the most reliable script, and fairly fast.<Hotkey 1>
<TargetWin war2>
<SetActiveWin>
<SendFocusWin>
<Key 1>
<TargetWin war3>
<SetActiveWin>
<SendFocusWin>
<Key 1>
<TargetWin war1>
<SetActiveWin>
<SendFocusWin>
<Key 1>
The function used to send input here is under testing. This script is the fastest, but causes very odd graphical anomolies for a couple milliseconds while the keys are being processed. I'm sure it can be worked out in the future.<hotkey 1>
<sendpc local>
<SendWinX war1>
<Key 1>
<SendWinX war2>
<Wait 20>
<Key 1>
<SendWinX war3>
<Wait 20>
<Key 1>
The worst by far, but interesting none the less. I would not recommend using this script, as it is slow and unreliable. If you wish to try it, first press [ to make it so that whatever window is under the mouse is the active window. You will need to press ] to disable this function prior to cancelling the script, as it is a windows setting and remains on/off until changed, regardless of whether or not HKN is running.<Hotkey [>
<SetActiveWindowTracking on>
<Hotkey ]>
<SetActiveWindowTracking off>
<Hotkey 1>
<SaveMousePos>
<TargetWin war2>
<MoveMouse 100 100>
<SendFocusWin>
<Wait 100>
<Key 1>
<Wait 30>
<TargetWin war3>
<MoveMouse 100 100>
<SendFocusWin>
<Wait 100>
<Key 1>
<Wait 30>
<TargetWin war1>
<RestoreMousePos>
<SendFocusWin>
<Wait 100>
<Key 1>
With all of these scripts, it involves switching to each WAR window running to make it active, before injecting the keystroke. This can be slow on some on some systems, but I didn't experience much of a problem with it. It is similar to boxing EQ2 or AoC with HKN. You will run into annoyance if you try to play with minimized WARs. You really need screen space to have each WAR window up and running the whole time. If you can manage this (for EX. I have 2 monitors) you will be fine.
A limitation is that you will be unable to move or turn your alts using the movement keys, period. You will have to rely on /follow to orient your alts. Luckily, as stated below, character facing is not necessary. The game will do it automatically.
All in all, I would have to agree with Slats in another post that Multiboxing WAR is probably not going to be much good.
I would like to point out, however, that you do not need to be facing your opponent to cast spells. Some effects use a Cone-AoE, and in these cases, pressing C will cause your character to swing around to face his enemy target (only works on enemies). You are able to have a friendly target and an enemy target at the same time.
**ADDED
For those interested, here is the working AHK Script. The reason I do not recommend AHK is that it is extremely slow when broadcasting. When broadcasting to just a single WAR window, there is enough time to press 2 non-hotkeyed keystrokes before the AHK keystroke is registerred. I figure it to be about a 600ms delay. That's like adding 600ms Lag permanently to your application. I'm not sure if broadcasting to multiple windows would multiply this lag, or if it would just add a flat 600ms no matter how many WARs were being broadcasted though. I didn't bother testing AHK past sending keystrokes through to a single WAR window.
The reason it is slow is due to the Keyboard Hook, necessary for AHK's SendInput command to direct input to the correct control of WAR. I have no idea why normal SendInput fails to work. I just know that installing the Keyboard Hook works. The hook is quite memory intensive. I don't know if it is just written inefficiently, but I'm sure it's the cause of the slow response. If anyone can figure out a WinAPI function in AHK with which we can avoid using the hook, it would be very helpful.WinGet, gameid, List, ahk_class WARWIN
#UseHook
SetKeyDelay, 50
~1::
#IfWinActive, ahk_Class WARWIN
{
WinActivate ahk_id %gameid2%
SendInput 1
WinActivate ahk_id %gameid3%
SendInput 1
WinActivate ahk_id %gameid1%
Return
}
Connect With Us