Multiboxing 4 Dummies

In most cases, it doesn't matter if you choose Windower or Ashita as your launcher, however in the case of multiboxing, Windower tends to shine.  This guide was written by a Windower user and is in no way a single source of truth. Please read the description of the addons as you enable them to understand how they're helpful and how to use them. Some of the addons will need to be downloaded from the following links and placed in the addons folder.  Once in the addon folder, add them to your init script which will be discussed below.

Download FastFollow, NPCInteract, and SendTarget

Download Trade - configure with a whitelist

**Essential addons - available in Windower menu**

* autojoin - configure with a whitelist
* cancel
* enternity
* findall
* lottery
* myhome
* sandbox
* send
* shortcuts
* subtarget
* treasury

**Essential Plugins - available in the Windower menu**

* config
* delaymenot
* jazero - to enable this, type the konami code on the Plugins page. Yes, really. Not needed for multiboxing but too big of a QoL enhancement to ignore.

### Using Aliases and Scripts

**Loading addons**

Addons loaded from Windower will automatically launch, but the addons manually downloaded need to also be manually added to the config. Adding the following lines to your init script will accomplish this:

```
lua load FastFollow
lua load NpcInteract
lua load SendTarget
lua load Trade

```

**Aliases**

In your scripts/init file, you may find some examples of aliases.  Aliases can dramatically improve your ability to simplify gameplay, quickly call commands, or write lengthy macros.  It's important to understand that the file is read from the top down, so any aliases that use other aliases should have the embedded alias above it.  A few examples:

```
alias me exec me

```

This alias calls a script that is essential to swapping between characters. It is further explained in the scripts section.

```
alias holla s !tele holla

```

This will make it so that simply typing //holla in game will actually run /s !tele holla.

```
alias totien send Totien

```

Typing //totien sends commands to totien while playing another character.

```
alias all send @all

```

Sends to all online characters.

```
alias others send @others

```

Sends to all characters other than your main.

```
alias blm send @blm

```

Sends to all BLMs

```
alias pass tr passall

```

Depends on the treasury addon.  Passes everything in the loot pool

```
alias apass all tr passall

```

Depends on the treasury addon and the all alias above.  Tells all characters to pass everything in the loot pool.

If an alias would contain a non-alphanumeric character, you may need to escape or double escape that character.  A complex example:

```
alias nexus equip back \\"nexus cape\\"; item \\"Nexus Cape\\" \<me\>; wait 31; item \\"Nexus Cape\\" \<me\>

```

Typing //nexus will equip the nexus cape if it isn't already and attempt to use it if the recast is up.  If it fails it waits 31 seconds then trys again.

**Scripts**

Any time you want to write a macro that contains more than a few lines, or uses multiple characters to complete, it's generally better to write that macro into a script.  An in game macro will stop as soon as another one is called or another ability is used.  Using a script ensures everything completes as expected.  Here are a few examples:

This is a script for a self skillchain and magic burst.  It uses the shortcuts addon to simplify input. Anyone capable of the Death Blossom weapon skill will use it, then anyone capable of blizzard 4 will start casting.  It then has the THF SA and WS, then anyone capable of a t3 MB will cap it off.  The good thing about doing it this way is once the RDM weapon skills, he can continue to cast anything without interrupting the skillchain. The THF is free to move around after the script launches, and a potentially idle BLM will do their part.

```
sendtarget @all /deathblossom;
pause 1;
sendtarget @all /blizzard4;
pause 1.5;
send @thf /trickattack;
pause 1;
sendtarget @all /mercystroke;
pause 1;
sendtarget @all /blizzard3;

```

A ballad script.  It starts by casting Ballad 2.  If that fails (level sync or recast) it will immediately start ballad 1.  It will then attempt ballad 1 again twice more.  The two attempts account for recast time gear like Minstrel Ring and Manteel.

```
input /ma "Mage's Ballad II" <me>;
pause .1;
input /ma "Mage's Ballad" <me>;
pause 7;
input /ma "Mage's Ballad" <me>;
pause 5;
input /ma "Mage's Ballad" <me>;

```

This script should be named 'me' to work with the alias above. It disables NPCInteract mirroring on all characters, cancels FastFollow on all characters, then sets NPCInteract and FastFollow on your main window. This tells every character to follow the one you type //me on. It is helpful when you are moving multiple characters, prevents NPCInteract from crashing alts, and if your main dies and you need to quickly run your remaining characters from another.

```
send @all npc mirror off;
ffo stopall;
pause 1;
ffo me;
npc mirror on;

```

**Best Practices**

While the goal is to be able to control all characters from a single window, that's not always feasible. Your main may die and you need to continue play from alts, you may need to position multiple melee characters, or you may need to otherwise main an alt for some tasks.

Alt+Tab will be your best friend to move between windows. Once each character is launched, alt+tab between them so that they're all at the front of the list for faster switching.

**Copying Macros and Game Settings**

This is a script that will copy macros and game settings from one account to all others. To use it, you need to know which folder in USER correlates to which character. Save it as a batch file, and after running it initially you only need to run it after any macro or setting changes. Having consistent macros is very important when switching between accounts, and this saves you the time of having to write the same thing 3+ times.

```
@ECHO off

::This script allows for fast copying of specific or all FFXI character macros and settings.
set cpath="C:\Games\FFEra\SquareEnix\FINAL FANTASY XI\USER"

::I tried to automate this part but couldn't get the syntax right to pass cookies which would allow me to parse names from a page after converting hex to dec.
dir %cpath% > rawusers.txt
( FOR /F "tokens=5" %%d IN (rawusers.txt) DO ECHO %%d | findstr "[0-9a-f][0-9a-f][0-9a-f][0-9a-f]" | findstr /V "\-" ) > hex.txt

ECHO List of user folders:
more hex.txt
set /p main="Enter the name of the folder you want to copy from:"
set /p which="Do you want to just copy macros, config, or all files [mcr/cnf/all]?"

IF /i "%which%"=="mcr" goto cpMacros
IF /i "%which%"=="cnf" goto cpSettings
IF /i "%which%"=="all" goto cpAll

:cpMacros
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ mcr*
goto cleanUp

:cpSettings
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ AUCSORT.DAT
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ cnf.dat
goto cleanUp

:cpAll
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ AUCSORT.DAT
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ cnf.dat
FOR /F %%f IN (hex.txt) DO robocopy %cpath%\%main%\ %cpath%\%%f\ mcr*
goto cleanUp

:cleanUp
del rawusers.txt
del hex.txt
pause

```