The distance they follow you at is directly related to your ping. The higher your ping, the longer it takes for your other characters to receive (and react to) game information from each other. So when leading, if you have a 500ms ping, you are going to walk away for half a second before your other guys even know you moved. When moving around obstacles, and up stairs etc, make wide turns -- in some cases the widest possible.
Nobody will permanently "move as one" because your characters don't perfectly face the same direction (except the moment you zone into an instance) and therefore will not move together if you hold forward, or strafe, or backward, etc regardless of how perfect the broadcasting is. --
FAQ: Why do my toons move in different directions?Formations are typically used for entertainment, or ranged combat where you have some time to set up beforehand. You can't really remain in formation and move around for the same reason described above, and the complexities of having to turn at different rates to remain in formation (manually, mind you)
With all of that in mind, yes there are absolutely some times where it is handy to broadcast movement. But not permanently. For a simple example, to avoid something on the ground during a boss fight you often can't afford the delay in auto-follow. Personally I have a Logitech G13, and I find the thumbstick to be perfect for moving my toons as a group in those rare cases. I've assigned it through ISBoxer to move all of my characters, and my normal movement keys are untouched.
One thing you can do is set up a toggle button for your movement keys. In fact, I just went ahead and set up a generic toggle button for movement keys now. Here's code for it that can be pasted into your ISBoxer config, instructions below the box:
- Code:
<?xml version="1.0" encoding="utf-8"?>
<Box xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ObjectType>System.Collections.Generic.List`1[ISBoxer_Toolkit.Configs.KeyMaps.MappedKey]</ObjectType>
<SerializedObject><?xml version="1.0" encoding="utf-8"?>
<ArrayOfMappedKey xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MappedKey>
<Name>W</Name>
<Description />
<Combo>
<Combo>W</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>W</Key>
<Code>17</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>W</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>W</Key>
<Code>17</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>A</Name>
<Description />
<Combo>
<Combo>A</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>A</Key>
<Code>30</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>A</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>A</Key>
<Code>30</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>S</Name>
<Description />
<Combo>
<Combo>S</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>S</Key>
<Code>31</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>S</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>S</Key>
<Code>31</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>D</Name>
<Description />
<Combo>
<Combo>D</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>D</Key>
<Code>32</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>D</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>D</Key>
<Code>32</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>Q</Name>
<Description />
<Combo>
<Combo>Q</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>Q</Key>
<Code>16</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>Q</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>Q</Key>
<Code>16</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>E</Name>
<Description />
<Combo>
<Combo>E</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>E</Key>
<Code>18</Code>
</Key>
</Combo>
<Hold>
<Value>true</Value>
</Hold>
<UseFTLModifiers>
<Value>false</Value>
</UseFTLModifiers>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>true</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="Keystroke">
<Target>all</Target>
<Combo>
<Combo>E</Combo>
<Modifiers>None</Modifiers>
<Key>
<Key>E</Key>
<Code>18</Code>
</Key>
</Combo>
<RoundRobin>false</RoundRobin>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
<MappedKey>
<Name>Toggle Movement</Name>
<Description />
<Combo>
<Combo>Ctrl+Shift+W</Combo>
<Modifiers>Ctrl Shift</Modifiers>
<Key>
<Key>W</Key>
<Code>17</Code>
</Key>
</Combo>
<SendNextClickBlockLocal>false</SendNextClickBlockLocal>
<ManualLoad>false</ManualLoad>
<ResetTimer>0.1</ResetTimer>
<ResetType>Never</ResetType>
<Mode>OnRelease</Mode>
<Steps>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>W</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>A</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>S</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>D</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>Q</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>On</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>E</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStepAction">
<Target>all other</Target>
<MappedKey>
<KeyMapString>General</KeyMapString>
<MappedKeyString>Toggle Movement</MappedKeyString>
</MappedKey>
<Action>Set</Action>
<Value>2</Value>
</MappedKeyAction>
<MappedKeyAction xsi:type="PopupTextAction">
<Target>all</Target>
<Text>Movement Mode: ALL</Text>
<DurationMS>1500</DurationMS>
<FadeDurationMS>1000</FadeDurationMS>
<Red>0</Red>
<Green>255</Green>
<Blue>0</Blue>
</MappedKeyAction>
</Actions>
</Step>
<Step>
<Stick>0</Stick>
<Stop>false</Stop>
<Stump>false</Stump>
<Actions>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>W</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>A</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>S</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>D</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>Q</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStateAction">
<Target>all</Target>
<Value>Off</Value>
<KeyMapString>General</KeyMapString>
<MappedKeyString>E</MappedKeyString>
</MappedKeyAction>
<MappedKeyAction xsi:type="MappedKeyStepAction">
<Target>all other</Target>
<MappedKey>
<KeyMapString>General</KeyMapString>
<MappedKeyString>Toggle Movement</MappedKeyString>
</MappedKey>
<Action>Set</Action>
<Value>1</Value>
</MappedKeyAction>
<MappedKeyAction xsi:type="PopupTextAction">
<Target>all</Target>
<Text>Movement Mode: Normal</Text>
<DurationMS>1500</DurationMS>
<FadeDurationMS>1000</FadeDurationMS>
<Red>255</Red>
<Green>255</Green>
<Blue>255</Blue>
</MappedKeyAction>
</Actions>
</Step>
</Steps>
</MappedKey>
</ArrayOfMappedKey></SerializedObject>
</Box>
I just set this up for movement keys WASD with Q and E for strafing. If you hit Ctrl+Shift+W, it will toggle these movement keys to moving everyone. Hit Ctrl+Shift+W to toggle it back to normal. This is just one way of doing it of course, but you might be able to learn from it anwyay.
So, to put this in your ISBoxer, here's what to do.
1.
Copy the XML code above (you should have a "Select All" button on the code box you can use, and then right click and copy).
2. In ISBoxer, in the top left pane,
select General under Key Maps. (If you select a differently Key Map for it, see the non-WoW players note below)
3. In the bottom left pane, right click on "Mapped Keys" and select "
Paste Mapped Keys from Clipboard". If you do not see that, either step 1 or step 2 didn't go right
4.
Export to Inner Space and try it in game
Note: For anyone not playing WoW or with different movement keys, I made a little generator for you:
http://isboxer.com/wizards/movement-toggle.php. Same basic instructions as above, except you can pick the keys and the Key Map this will be pasted in. After you click Generate you will be shown the full XML, you can hit Ctrl+A to select all at that point to Copy it.