Script
It works without errors, well I use it dual boxing mainly. It will complain if you close one of the windows down, that it can't send commands to that window. But it won't cause problems.
There might be code redundancies, I haven't had time to check and test each snippet of the script.
Code:
//-----------------------------------------------------------
// DEFINE MAIL LABELS FOR SENDING KEY STROKES.
//-----------------------------------------------------------
<Label w1 Local SendWinM wow1>
<Label w2 Local SendWinM wow2>
<Label w3 Local SendWinM wow3>
//----------------------------------------------------------------
// Resize and position the windows
<Command SetPip>
<SendPC Local>
<SendWinM %1%>
<SetWinRect 0 0 1280 1024>
<SendWinM %2%>
<SetWinRect 1280 0 640 512>
<SendWinM %3%>
<SetWinRect 1280 512 640 512>
//----------------------------------------------------------------
// Turn HotKeyNet on/off!
<Hotkey Pause>
<ToggleHotkeys>
<DisplayVars>
<SendPC local>
<Cancel>
//----------------------------------------------------------------
// Subroutine starts WoW and logs in
<Command WoWStart>
<Run %1%>
<WaitForWin "World of Warcraft" 20000>
<WaitForWinEnabled 20000><wait 2000>
<SetFocusWin>
<SendWinSF "World of Warcraft">
<Key Backspace><wait 500>
<SendWin "World of Warcraft">
<Text %3%><wait 100><Key tab><wait 100><Text %4%><wait 100><Key Enter><wait 500>
<RenameWin "World of Warcraft" %2%>
<WaitForWin %2% 20000>
//----------------------------------------------------------------
// Pressing ctrl+alt+w will launch and log into the toons below.
// TODO: Add support for solo, 3box, 5box
<Hotkey ctrl alt w>
<SendPC local>
<if WinDoesNotExist wow1>
<WoWStart "C:\World of Warcraft_clean\wow.exe" wow1 ToonA Password>
<endif>
<if WinDoesNotExist wow2>
<WoWStart "C:\World of Warcraft_clean\wow.exe" wow2 ToonB Password>
<endif>
<if WinDoesNotExist wow3>
<WoWStart "C:\World of Warcraft_clean\wow.exe" wow3 ToonC Password>
<endif>
<wait 2000>
<SetPip wow1 wow2 wow3>
//----------------------------------------------------------------
// Cycle through windows with the F1-F3 keys
<Hotkey F1>
<SetPip wow1 wow2 wow3>
<Hotkey F2>
<SetPip wow2 wow1 wow3>
<Hotkey F3>
<SetPip wow3 wow2 wow1>
//-----------------------------------------------------------
// DEFINE HOTKEYS FOR ALL KEY COMBINATIONS THAT WILL GET
// SENT TO BOTH WOWS. ADD MORE KEY COMBO'S IF YOU WANT.
//-----------------------------------------------------------
<KeyList MyList A-Z, 3-9, space except W, A, S, D, H,1,2,E,Q,F>
<Hotkey MyList>
<SendLabel w1, w2>
<Key %Trigger%>
//-----------------------------------------------------------
// DEFINE MOVEMENT KEYS THAT WILL GET SENT TO BOTH WOW'S.
// ADD MORE KEYS IF YOU WANT.
//-----------------------------------------------------------
<MovementHotkey >
<SendLabel w1,w2>
<Key %Trigger%>
//-----------------------------------------------------------
// BROADCAST MOUSE CLICKS. HOLD DOWN OEM5
//(THAT'S THE SQUIGGLE KEY IN UPPPER LEFT CORNER) WHEN YOU
// WANT TO BROADCAST.
//-----------------------------------------------------------
<UseKeyAsModifier Oem5>
<Hotkey Oem5 LButton, MButton, RButton, Button4, Button5>
<SendLabel w1,w2,w3>
<ClickMouse %TriggerMainKey%>
//----------------------------------------------------------------
// BEGIN: FTL Engine(Focusless Leaderless Targetless engine)
//----------------------------------------------------------------
//Added FTL Templates
//%1% : Master Key
// %2% : Slave Key
// %3% : Modifier
// %4% : SlavesToSend
<Template SendMasterAndSlave>
<SendFocusWin>
<Key %1%>
<Sendlabel %4%>
<Key %3% %2%>
// PRIORITY VERSION
<DoHotkey Hotkey RAlt F10>
<EndTemplate>
// %1% : master key
// %2% : slave key
// %3% : modifier
// %4% : Active window
// %5% : Slave Windows
<Template SendLeaderless>
<If ActiveWinIs %4%>
<ApplyTemplate SendMasterAndSlave "%1%" "%2%" "%3%" "%5%">
<EndTemplate>
// %1% : master-key
// %2% : slave-key
<Template FTL>
<Hotkey %1%>
<ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl rshift" wow1 "w2,w3">
<ApplyTemplate SendLeaderless "%1%" "%2%" "rctrl ralt" wow2 "w1,w3">
<ApplyTemplate SendLeaderless "%1%" "%2%" "ralt rshift" wow3 "w1,w2">
<EndTemplate>
<Hotkey RAlt F10>
<SendLabel w1>
<Key E>
<Key Q>
<Key F>
<SendLabel w2>
<Key E>
<Key Q>
<Key F>
//----------------------------------------------------------------
// FTL Key assignments
// Create a new <ApplyTemplate FTL "x" "y">
// x = Key pressed in the current window
// y = Key to be sent to background windows.
//----------------------------------------------------------------
<ApplyTemplate FTL "H" "H">
<ApplyTemplate FTL "F" "F">
<ApplyTemplate FTL "E" "E">
<ApplyTemplate FTL "Q" "Q">
<ApplyTemplate FTL "Shift F" "1">
<ApplyTemplate FTL "Shift Q" "2">
<ApplyTemplate FTL "Shift E" "3">
Macros
Assist , unbound. But every attack spell on either char refers to that bar poisition. /click BT4Button47 This is the bar slot for me, cause I use Bartender. That means it's button 7 on bar 4.
Code:
/stopmacro [nomod]
/assist [mod:rctrl,mod:rshift,nomod:ralt]ToonA;
[mod:rctrl,mod:ralt,nomod:rshift]ToonB
Follow, on both chars, keybound to H
Code:
/stopmacro [nomod]
/target [mod:rctrl,mod:rshift,nomod:ralt,target=ToonA][mod:rctrl,mod:ralt,nomod:rshift,target=ToonB]
/follow
/targetlasttarget
Attack buttons, I use three spells, but using HKN to link them all to pressing one Key (in my case "F"). But keyboundwise LB is on "F", FS on "E" and ES on "Q" on both chars
Lightning Bolt
Code:
#showtooltip
/click BT4Button47
/cast Lightning bolt
Flame Shock & Earth Shock
Code:
#showtooltip
/click BT4Button47
/castsequence reset=combat/target/12 Flame Shock, Earth Shock
/startattack [harm]
Connect With Us