Hi, I want to share my HKN script too.

I run 5 chars on a core i7 cpu with 16MB of RAM, vista64 and 2 graphic cards with 2 monstrous 27" monitors 8)
I start all accounts from the same directory. I do not need to separate addons, because I use very few. Currently I have only healbot, CT-Mod core module, Atlas and Jamba installed. Jamba is absolutely cool for multiboxing :thumbsup:

The speciality of my script is that I can turn on synchronous mode to let all chars chat or emote the same.

Pause turns HKN on/off.

PrintScreen and ScrollLock controll keyboard transmission to one/all windows. Target of this was to be able to chat without breaking follow of the slave chars. So if you press enter or shift 7 to enable the input line, a flag is set and all normal keys are no longer transmitted to the slave windows (space, q, w, e,...). After you leave the input line, everything is to normal.
Sometimes you want to make the group act syncronous, (/dance, /chicken,...) Press printscreen once, press enter, type "/dance", press enter, Tadaaa!
To disable synchronization, press printscreen once more.
A lot of normal keyboard commands are not transmitted to the slave windows. But sometimes you want to open all pockets of all chars at once, or whatever. Press printscreen, press scrolllock, then anything you like. Don't forget to press printscreen and scrolllock again after you are done

With ctrl alt w you can start 5 clients of WoW. If any of the clients are open allready, that one is skipped.

With capslock the group disperses a little so the chars are no longer standing all on the same spot. It has the nice side effect that you will never again shout in chat

F1-F5 do no longer target the group members. Instead, they make window1-window5 of the different accounts act as main window and let them switch places.

Sone other keys are defined for other actions, they are described in the script.


Code:
// 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">
  <SetAffinity %5% %6%>
  <Text %3%><wait 100><Key tab><wait 100><Text %4%><wait 100><Key Enter><wait 500>
  <RenameWin "World of Warcraft" %2%>
  <WaitForWin %2% 20000>

<Command script>
  <Key shift 7><wait 100><Text script %1%><wait 100><Key enter>
<Command cmd>
  <wait 300><Key shift 7><wait 100><Text %1%><wait 1000><Key enter>


// move windows to their place
<Command OrderWin>
  <SendPC local>
  <TargetWin %1%><SetWinRect -1280 168 1280 1024>
  <SetFocusWin>
  <TargetWin %2%><SetWinRect 0 0 800 590>
  <TargetWin %3%><SetWinRect 800 0 800 590>
  <TargetWin %4%><SetWinRect 0 590 800 590>
  <TargetWin %5%><SetWinRect 800 590 800 590>

   
// Eingabezeilenmodus trigger
<Hotkey ScrollLock>
  < 	if kz is -->	<SetVar kz e->
  <else if kz is -m>	<SetVar kz em>
  <else if kz is e->	<SetVar kz -->
  <else if kz is em>	<SetVar kz -m>
  <endif>

// Multichatmodus trigger
<Hotkey PrintScreen>
  < 	if kz is -->	<SetVar kz -m>
  <else if kz is -m>	<SetVar kz -->
  <else if kz is e->	<SetVar kz em>
  <else if kz is em>	<SetVar kz e->
  <endif>


<Hotkey F1>
  <OrderWin wow1 wow2 wow3 wow4 wow5>
<Hotkey F2>
  <OrderWin wow2 wow1 wow3 wow4 wow5>
<Hotkey F3>
  <OrderWin wow3 wow1 wow2 wow4 wow5>
<Hotkey F4>
  <OrderWin wow4 wow1 wow2 wow3 wow5>
<Hotkey F5>
  <OrderWin wow5 wow1 wow2 wow3 wow4>


<label win1 local SendWinM wow1>
<label win2 local SendWinM wow2>
<label win3 local SendWinM wow3>
<label win4 local SendWinM wow4>
<label win5 local SendWinM wow5>
<label mwin1 local SendWinS wow1>
<label mwin2 local SendWinS wow2>
<label mwin3 local SendWinS wow3>
<label mwin4 local SendWinS wow4>
<label mwin5 local SendWinS wow5>
<label current local SendFocusWin>


// synchron chat and commands
//kz indicates if commandline or not
<hotkey Enter; NumpadEnter>
  <DoHotkey Hotkey ScrollLock>
  <if kz is -m>
	<SendLabel win1, win2, win3, win4, win5>
  	<Key %Trigger%>
  <else if kz is em>
	<SendLabel win1, win2, win3, win4, win5>
  	<Key %Trigger%>
  <else>
	<SendPC local>
  	<SendFocusWin>
    	<Key %Trigger%>
  <endif>

<hotkey b-c; f-p; r; t-v; x-z>
  <if kz is em>
  <SendLabel win1, win2, win3, win4, win5>
	<Key %Trigger%>
  <else>
	<SendLabel current>
  	<Key %Trigger%>
  <endif>

<hotkey shift a-z>
  <if kz is em>
  <SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
	<key %Trigger%>
  <else>
	<SendLabel current>
  	<Key %Trigger%>
  <endif>

<hotkey shift 7>
  <if kz is -m>
   <SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
	<DoHotkey Hotkey ScrollLock>
	<key shift 7>
  <else if kz is -->
   <SendLabel current>
	<DoHotkey Hotkey ScrollLock>
	<key shift 7>
  <else if kz is em>
   <SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
   <key divide>
  <else if kz is e->
   <SendLabel current>
   <key divide>
  <endif>


// turn camera 180° assigned to Backspace. Very useful
<hotkey Backspace; Delete>
  <if kz is em>
  <SendLabel win1, win2, win3, win4, win5>
	<Key %Trigger%>
  <else>
	<SendLabel current>
  	<Key %Trigger%>
  <endif>


// Movement ALL chars
<MovementHotkey q; w; e; a; s; d; space>
  <if kz is e->
	<SendLabel current>
  	<Key %Trigger%>
  <else>
  <SendLabel win1, win2, win3, win4, win5>
	<Key %Trigger%>

// Movement Slaves only
<MovementHotkey Numpad8>
  <Sendlabel win2, win3, win4, win5>
	<Key up>
<MovementHotkey Numpad2>
  <Sendlabel win2, win3, win4, win5>
	<Key down>
<MovementHotkey Numpad4>
  <Sendlabel win2, win3, win4, win5>
	<Key left>
<MovementHotkey Numpad6>
  <Sendlabel win2, win3, win4, win5>
	<Key right>


// follow groupleader (WoW Follow Macro assigned to this key)macrocall
<hotkey decimal>
  <SendLabel win2, win3, win4, win5>
	<Key %Trigger%>

// ^ assist groupleader (WoW Assist Macro assigned to this key)macrocall
<hotkey OEM5>
  <if kz is e->
	<SendLabel current>
  	<Key %Trigger%>
  <else if kz is em>
	<SendLabel mwin1, mwin2, mwin3, mwin4, mwin5>
  	<Key %Trigger%>
  <else>
	<SendLabel win2, win3, win4, win5>
  	<Key F2><Key F>
	<SendLabel win1, win2, win3, win4, win5>
  	<Key G>
  <endif>


// attack key bar (the main left bottom bar)
<hotkey 0-9; OEM4; OEM6>
  <if kz is e->
	<SendLabel current>
  	<Key %Trigger%>
  <else>
	<SendLabel win1, win2, win3, win4, win5>
  	<Key %Trigger%>
  <endif>

// support key bar (in WoW I assigned these keys to the right bottom bar)
<hotkey ctrl alt 0-9>
  <SendLabel win1, win2, win3, win4, win5>
	<Key %Trigger%>

// stop follow
// capslock - master nothing, slaves disperse
<HotKey capslock>
  <if kz is e->
  <else if kz is em>
  <else>
  <SendPC local>
	<SendWinM wow1><KeyDown down>
	<SendWinM wow2><KeyDown down>
	<SendWinM wow3><KeyDown down>
	<SendWinM wow4><KeyDown down>
	<SendWinM wow5><KeyDown down>
	<wait 10>
	<SendWinM wow2><KeyDown q>
	<SendWinM wow3><KeyDown e>
	<SendWinM wow4><KeyDown q>
	<SendWinM wow5><KeyDown e>
	<wait 160>
	<SendWinM wow1><KeyUp down>
	<SendWinM wow2><KeyUp q>
	<SendWinM wow3><KeyUp e>
	<SendWinM wow4><KeyUp down>
	<SendWinM wow5><KeyUp down>
	<wait 110>
	<SendWinM wow2><KeyUp down>
	<SendWinM wow3><KeyUp down>
	<SendWinM wow4><KeyUp q>
	<SendWinM wow5><KeyUp e>
  <endif>

<Hotkey ctrl alt w>
  <SendPC local>
  <if WinDoesNotExist wow1>
	<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow1 user1 password1 0 2>
  <endif>
  <if WinDoesNotExist wow2>
	<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow2 user2 password2 1 3>
  <endif>
  <if WinDoesNotExist wow3>
	<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow3 user3 password3 4 6>
  <endif>
  <if WinDoesNotExist wow4>
	<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow4 user4 password4 5 7>
  <endif>
  <if WinDoesNotExist wow5>
	<WoWStart "D:\Programme\Spiele\World of Warcraft\wow.exe" wow5 user5 password5 5 6>
  <endif>
  <wait 2000>
  <OrderWin wow1 wow2 wow3 wow4 wow5>
  <SetVar kz -->