Multiboxing Guide

My long awaited Multiboxing Guide is finally here… the first part at least. I started writing this way back in November of last year when I wrote about my Adventures in Multiboxing. I got about halfway through it and then something else grabbed my attention, and I forgot all about it until a reader reminded me recently. So here is the first part on how to multibox and I’ll have it finished up soon.

If you’ve been around the WoW or MMO scene for any length of time, chances are very good that you’re familiar with, or have at least heard of, multiboxing. Multiboxing is when you are controlling multiple characters at the same time, whether it be two or more instances of WoW open on the same computer, or more than one computer, each with their own program of WoW.

Multiboxing can be useful for a number of reasons. The first, and most common reason, is that it makes killing things very easy. Many people multibox for quicker leveling, and some even do it in PvP to easily take down the competition. It can also be done to let a higher level character help a lower level one. Let’s take a look at how exactly multiboxing is done.

Multibox Lite

If you have more than one WoW account, or even just one paid account and one trial account, you can do a very simple version of multiboxing rather easily. Just open up two instances of WoW, one for each account, tell one character to /follow the other, and you’re set. I’ve done this numerous times to drag a lowbie alt through a dungeon on one of my higher level characters.

The main problem with this is that the second character can’t contribute or interact in any way. This doesn’t matter too much when you’re playing a high level character, but if you have two toons around the same level doing some quests, having both of them attacking at the same time will definitely speed things up.

The big advantage to multiboxing properly is that both of your characters are always contributing in some manner, whether it’s by attacking, healing or some other function.

Multiboxing Program

There are a number of programs out there to assist you in multiboxing. The one that I use is called AutoHotKey. It’s free, it can handle everything you need it to, and it’s also very easy to set it up for multiboxing. (It’s safe too – no keyloggers or spyware.)

AHK allows you to send your keystrokes automatically to multiple programs. So when you’re multiboxing you’ll be playing your main character, and the keys that you hit will be automatically sent to your other toon(s). Here’s how it works.

Once you’ve got AHK downloaded and installed, you need to edit the script, delete everything that is in there currently, and put in the following script:

WinGet, wowid, List, World of Warcraft

~XX::
KeyWait XX
IfWinActive, World of Warcraft
{
ControlSend,, XX, ahk_id %wowid1%
ControlSend,, XX, ahk_id %wowid2%
Return
}

You will need to change XX to the key that you want duplicated, and you can do multiple keys. So, for instance, if you wanted keys 1, 2 and 3 duplicated, then your script would look like this:

WinGet, wowid, List, World of Warcraft

~1::
KeyWait 1
IfWinActive, World of Warcraft
{
ControlSend,, 1, ahk_id %wowid1%
ControlSend,, 1, ahk_id %wowid2%
Return
}
~2::
KeyWait 2
IfWinActive, World of Warcraft
{
ControlSend,, 2, ahk_id %wowid1%
ControlSend,, 2, ahk_id %wowid2%
Return
}
~3::
KeyWait 3
IfWinActive, World of Warcraft
{
ControlSend,, 3, ahk_id %wowid1%
ControlSend,, 3, ahk_id %wowid2%
Return
}

If you want 4, 5, and 6, or Q, E, and R to be duplicated as well you can extend the script to include them.

A quick caveat on using AHK: Using the program as I’ve detailed is completely legal. Hitting one key and having one keystroke sent is fine. If you start playing around with AHK and add in a delay or start sending multiple keystrokes, that is crossing the line into botting and will get you banned.

Macros

Now that you’ve gotten AHK set up, you need to get some macros done as well. Most of the macros will need to be done for the secondary character, but there are a few for the main character that will help as well.

The first thing you need to do is decide which spells on the two characters you want paired up (i.e., cast at the same time). Since I was multiboxing a mage and a priest, I went with Frostbolt/Power Word: Shield, Fireball/Smite, and Fire Blast/Mind Blast.

Frostbolt, Fireball, Fire Blast is my normal spell rotation on my mage so I bound those spells to keys 1, 2, and 3. (You don’t have to do anything special for your main character here. Just pick your three spells, and bind them to the keys.)

For the secondary character, you’ll have to make macros for the spells. In my case, I made the following macros and bound them to keys 1, 2, and 3 on my priest.

Macro One:

/tar (Mage)
/cast Power Word: Shield

Macro Two:

/assist (Mage)
/cast Smite

Macro Three:

/assist Mage
/cast Mind Blast

A /follow macro for the secondary character will help a lot, saving you the trouble of having to type it every time.

/follow (Mage)

You’ll also need an invite macro for the main character.

/invite (Priest)

Check back soon for the second part.

 Subscribe to DrainingSouls.net.

Related Posts

10 Responses to “Multiboxing Guide”

  1. Hey, I wanted to thank you for getting the first part of your multibox tutorial up. I look forward to reading the rest of it. :)

  2. It’s up! =D

  3. Great guide.
    The software I use is called PwnBoxer.

    I got 5 level 74 shammy’s right now and its the most fun. Put 4 behind a tree and watch the 80′s land to gank and then get ganked!

  4. Is there a way to do this for other pc games and how? I am not really good at scripting

  5. You can get the pwnboxer here: http://www.zshare.net/download/631275289c3294c2/

  6. im confused new to this and i have my 2 mates old acouts and mine

    so i made 3 new druids to try muilti boxing on and i have donloaded the AHK wasnt 2 sure how to write the script but i copied and pasted and muked around and it worked once but now i kant get it to work again

    could you please explain what progarms i need 2 open and how to write the script

    thx

  7. hey i think i got it, but i wanted to know how you do keys like spacebar and enter… do you just type in space/enter?

  8. ClonesPush(strKeys)
    {
    global WowWinId1
    global WowWinId2
    IfWinNotActive, ahk_id %WowWinId1%
    ControlSend, , %strKeys%, ahk_id %WowWinId1%
    IfWinNotActive, ahk_id %WowWinId2%
    ControlSend, , %strKeys%, ahk_id %WowWinId2%
    }

    ;Grab unique window ID’s
    WinGet, WowWinId, List, World of Warcraft

    ; *******************************
    ; *** Only if WoW is in focus ***
    ; *******************************
    #IfWinActive, World of Warcraft

    ;*** Special Functions ***

    ; *** Makes clones follow main ***
    -::ClonesPush(“{- down}{- up}”)

    ; *** Makes clones assist main ***
    =::ClonesPush(“{= down}{= up}”)

    ; *** Move clones ***
    Up::ClonesPush(“{Up down}”)
    Up Up::ClonesPush(“{Up up}”)
    Down::ClonesPush(“{Down down}”)
    Down Up::ClonesPush(“{Down up}”)
    Left::ClonesPush(“{Left down}”)
    Left Up::ClonesPush(“{Left up}”)
    Right::ClonesPush(“{Right down}”)
    Right Up::ClonesPush(“{Right up}”)

    ; ******************
    ; *** Extra Stuff ***
    ; ******************

    ; *** Makes clone Loot ***
    ~;::ClonesPush(“{; down}{; up}”)

    ; *** Makes clones jump with main ***
    ~Space::ClonesPush(“{Space down}{Space up}”)

    ; *** Suspends HotKeys while typing on main ***
    ~Enter::Suspend, Toggle
    ~/::Suspend, On
    ~Escape::Suspend, Off
    ~PgDn::Suspend, Toggle

    ; *******************
    ; *** Hotbars 1-0 ***
    ; *******************
    ~1::ClonesPush(“{= down}{= up}{1 down}{1 up}”)
    ~2::ClonesPush(“{= down}{= up}{2 down}{2 up}”)
    ~3::ClonesPush(“{= down}{= up}{3 down}{3 up}”)
    ~4::ClonesPush(“{= down}{= up}{4 down}{4 up}”)
    ~5::ClonesPush(“{= down}{= up}{5 down}{5 up}”)
    ~6::ClonesPush(“{= down}{= up}{6 down}{6 up}”)
    ~7::ClonesPush(“{= down}{= up}{7 down}{7 up}”)
    ~8::ClonesPush(“{= down}{= up}{8 down}{8 up}”)
    ~9::ClonesPush(“{= down}{= up}{9 down}{9 up}”)
    ~0::ClonesPush(“{= down}{= up}{0 down}{0 up}”)

    ; ***************************
    ; *** Hotbars SHIFT(+) 1-0 ***
    ; ***************************
    ~+1::ClonesPush(“{LShift down}{1 down}{1 up}{LShift up}”)
    ~+2::ClonesPush(“{LShift down}{2 down}{2 up}{LShift up}”)
    ~+3::ClonesPush(“{LShift down}{3 down}{3 up}{LShift up}”)
    ~+4::ClonesPush(“{LShift down}{4 down}{4 up}{LShift up}”)
    ~+5::ClonesPush(“{LShift down}{5 down}{5 up}{LShift up}”)
    ~+6::ClonesPush(“{LShift down}{6 down}{6 up}{LShift up}”)
    ~+7::ClonesPush(“{LShift down}{7 down}{7 up}{LShift up}”)
    ~+8::ClonesPush(“{LShift down}{8 down}{8 up}{LShift up}”)
    ~+9::ClonesPush(“{LShift down}{9 down}{9 up}{LShift up}”)
    ~+0::ClonesPush(“{LShift down}{0 down}{0 up}{LShift up}”)

    ; **************************
    ; *** Hotbars CTRL(^) 1-0 ***
    ; **************************
    ~^1::ClonesPush(“{Ctrl down}{1 down}{1 up}{Ctrl up}”)
    ~^2::ClonesPush(“{Ctrl down}{2 down}{2 up}{Ctrl up}”)
    ~^3::ClonesPush(“{Ctrl down}{3 down}{3 up}{Ctrl up}”)
    ~^4::ClonesPush(“{Ctrl down}{4 down}{4 up}{Ctrl up}”)
    ~^5::ClonesPush(“{Ctrl down}{5 down}{5 up}{Ctrl up}”)
    ~^6::ClonesPush(“{Ctrl down}{6 down}{6 up}{Ctrl up}”)
    ~^7::ClonesPush(“{Ctrl down}{7 down}{7 up}{Ctrl up}”)
    ~^8::ClonesPush(“{Ctrl down}{8 down}{8 up}{Ctrl up}”)
    ~^9::ClonesPush(“{Ctrl down}{9 down}{9 up}{Ctrl up}”)
    ~^0::ClonesPush(“{Ctrl down}{0 down}{0 up}{Ctrl up}”)

    ; *********************
    ; *** Hotbars F1-F12 ***
    ; *********************
    ~F1::ClonesPush(“{= down}{= up}{F1 down}{F1 up}”)
    ~F2::ClonesPush(“{= down}{= up}{F2 down}{F2 up}”)
    ~F3::ClonesPush(“{= down}{= up}{F3 down}{F3 up}”)
    ~F4::ClonesPush(“{= down}{= up}{F4 down}{F4 up}”)
    ~F5::ClonesPush(“{= down}{= up}{F5 down}{F5 up}”)
    ~F6::ClonesPush(“{= down}{= up}{F6 down}{F6 up}”)
    ~F7::ClonesPush(“{= down}{= up}{F7 down}{F7 up}”)
    ~F8::ClonesPush(“{= down}{= up}{F8 down}{F8 up}”)
    ~F9::ClonesPush(“{= down}{= up}{F9 down}{F9 up}”)
    ~F10::ClonesPush(“{= down}{= up}{F10 down}{F10 up}”)
    ~F11::ClonesPush(“{= down}{= up}{F11 down}{F11 up}”)
    ~F12::ClonesPush(“{= down}{= up}{F12 down}{F12 up}”)

    ; ***************************
    ; *** Hotbars SHIFT F1-F12 ***
    ; ***************************
    ~+F1::ClonesPush(“{LShift down}{F1 down}{F1 up}{LShift up}”)
    ~+F2::ClonesPush(“{LShift down}{F2 down}{F2 up}{LShift up}”)
    ~+F3::ClonesPush(“{LShift down}{F3 down}{F3 up}{LShift up}”)
    ~+F4::ClonesPush(“{LShift down}{F4 down}{F4 up}{LShift up}”)
    ~+F5::ClonesPush(“{LShift down}{F5 down}{F5 up}{LShift up}”)
    ~+F6::ClonesPush(“{LShift down}{F6 down}{F6 up}{LShift up}”)
    ~+F7::ClonesPush(“{LShift down}{F7 down}{F7 up}{LShift up}”)
    ~+F8::ClonesPush(“{LShift down}{F8 down}{F8 up}{LShift up}”)
    ~+F9::ClonesPush(“{LShift down}{F9 down}{F9 up}{LShift up}”)
    ~+F10::ClonesPush(“{LShift down}{F10 down}{F10 up}{LShift up}”)
    ~+F11::ClonesPush(“{LShift down}{F11 down}{F11 up}{LShift up}”)
    ~+F12::ClonesPush(“{LShift down}{F12 down}{F12 up}{LShift up}”)

    There you go the best script you can find allow you have alot of buttons to use and not only 1-9 as the script many posted on other forums;D

  9. Ok,very good.

  10. I am not sure if this is the appropriate place, but I thought you should know I read this post a little while ago on another site. I think it was a wordpress blog with a similar title. The content was almost the same, but I noticed that this one has an older date. I guess they took it from you, but maybe not who knows. Thought you may like to know.

Trackbacks


Leave a Reply