| | #1 |
| Member Join Date: Oct 2009
Posts: 41
| Team Faeil - EU Azuremyst (previously Team Malaias) ![]()
Pwnboxer Setup My FTL makes use of PwnBoxer key broadcasting and PwnBoxer key mappings. ![]() Game Setup I use the Bartender4 addon for advanced action bars. ![]() I have two displays for multiboxing 5 instances of WoW. One 27" and one 15". ![]() The Theory The idea behind FTL (Focusless, targetless, leaderless) is to setup multiboxing in a way that you can transparently switch masters without having to change macros, play solo without worrying about the other characters and to not rely on focus or target for group actions. A good article on these forums can be found here: How to configure a Focusless/Targetless/Leaderless multiboxing system Another good article about FTL can be found here: Focusless, targetless, 'leaderless' (FTL) setup Macro modifiers and PwnBoxer key mappings The fundamental challenge of FTL is how to write macros that "know" who the current master is without hardcoding the name of master in WoW macros. The trick is to use PwnBoxer key mappings and WoW Macro "Modifiers". Disclaimer: This is my way of implementing FTL. There are many other ways. First of all, assign a keyboard modifier to each of your characters. It's a good idea to draw a diagram or write them down. This can be very confusing. e.g.
Next, decide on which keys to use on master and which keys to use for slaves. In my screenshot above, and for the purpose of this guide, I will pick:
The idea is that if you press Key "1" on the master, it will map to Key "6" on all the slaves with a modifier indicating who the master was that pressed "1". When a slave receives the Key "6", the slave understands that the master pressed Key "1" and in the macro associated with Key "6", it will interpret a modifier to determine who the master was. Confusing? An example. Pressing "1" on Faeil (Game 1) will result in Key "6" being pressed on all slaves (Malaia/Game2, Daemian/Game3, Malaiah/Game4, Malaena/Game5). Because I assigned the modifier "Shift + Alt" (arbitrarily) to Faeil/Game1, the slaves don't get simply a Key "6", I actually setup PwnBoxer so that they all receive "Shift + Alt + 6". Again, to explain: the "6" says that the master pressed "1" and the "Shift + Alt" says the master is Faeil/Game1. The Key Mapping in PwnBoxer for this example is shown in the screenshot above and should look like... Code: If "Game 1" selected, transform "1" into "Alt + Shift + 6" on "Game 2". If "Game 1" selected, transform "1" into "Alt + Shift + 6" on "Game 3". If "Game 1" selected, transform "1" into "Alt + Shift + 6" on "Game 4". If "Game 1" selected, transform "1" into "Alt + Shift + 6" on "Game 5". A macro can now use the following to determine the master and set the target accordingly. The nice thing is that the same macro can be used on all slaves. Code: /target [mod:shift,mod:alt,target=Faeil] [mod:ctrl,mod:alt,target=Malaia] [mod:shift,target=Daemian] [mod:ctrl,target=Malaiah] [mod:alt,target=Malaene] A "FTL" follow macro would therefore look like... Code: /target [mod:shift,mod:alt,target=Faeil] [mod:ctrl,mod:alt,target=Malaia] [mod:shift,target=Daemian] [mod:ctrl,target=Malaiah] [mod:alt,target=Malaene] /follow /targetlasttarget Generating the PwnBoxer Configuration
The difficult part is now to define Key Mappings for all possible combinations. Perl helps! The script below can be used to generate a PwnBoxer configuration for the Key Mappings. If you don't have access to a Linux box, you can install Perl for Windows from here. Code: #!/usr/bin/perl
# Game instances (0 = first, 1 = second, etc)
my @games = ( 0, 1, 2, 3, 4 );
# The name of the WoW characters for each of the game instances
my @toons = ( 'Faeil', 'Malaia', 'Daemian', 'Malaiah', 'Malaene' );
# The list of all keys you want to map from
my @keys = ( '1', '2', '3', '4', '5', 'Alt + 1', 'Alt + 2', 'Alt + 3', 'Alt + 4', 'Alt + 5' );
# The list of all keymaps you want to map to
my @mapped = ( '6', '7', '8', '9', '0', 'Z', 'U', 'I', 'O', 'P' );
# Important about Macros & Modifiers
# Max. length of a WoW (3.2) Macro is 255 characters. Save space!
# Make sure the combined modifiers (Ctrl+Shift, Ctrl+Alt, Shift+Ctrl) come first!
# The WoW macro modifiers. One for each WoW character
my @mods = ( 'shift+alt', 'ctrl+alt', 'shift', 'ctrl', 'alt' );
# The PwnBoxer keystroke modifiers. One for each WoW modifier
my @pwnmods = ( 'Shift + Alt', 'Ctrl + Alt', 'Shift', 'Ctrl', 'Alt' );
my $modifier = 'mod';
# Basic data checks
if($#keys ne $#mapped) {
die("You must have equal number of keys to mapped keys.\n");
}
if($#games ne $#toons) {
die("You must have the same number of characters as game instances.\n");
}
if($#toons ne $#mods) {
die("You must have one macro modifier per character.\n");
}
if($#pwnmods ne $#mods) {
die("You must have one Pwnboxer modifier for each macro modifier.\n");
}
sub entry {
my $src = shift;
my $in = shift;
my $out = shift;
my $dst = shift;
my $comma = shift;
print "\t\t{\n";
print "\t\t\t\"Active Window\" : $src,\n";
print "\t\t\t\"Input Key\" : \"$in\",\n";
print "\t\t\t\"Output Key\" : \"$out\",\n";
print "\t\t\t\"Output Window\" : $dst\n";
print "\t\t}$comma\n";
}
for($k=0;$k<=$#keys;$k++) {
for($i=0;$i<=$#games;$i++) {
for($j=0;$j<=$#games;$j++) {
next if ($i == $j);
my $src = $games[$i];
my $dst = $games[$j];
my $in = $keys[$k];
my $out = $mapped[$k];
my $mod = $pwnmods[$i];
my $comma = ',';
$comma = '' if(($j==$#games) and ($i==$j));
entry($src,$in,"$mod + $out",$dst,$comma);
}
}
}
print "\n\n";
for($t=0;$t<=$#toons;$t++) {
print "Game $games[$t] has toon $toons[$t] who has modifier $pwnmods[$t].\n";
}
print "\n";
my $modstr = '/target ';
for($t=0;$t<=$#toons;$t++) {
my $toon = $toons[$t];
my $mod = $mods[$t];
my $index = index($mod, '+');
if($index<0) {
$modstr .= "[$modifier:$mod,target=$toon]";
} else {
($mod1, $mod2) = split(/\+/, $mod);
$modstr .= "[$modifier:$mod1,$modifier:$mod2,target=$toon]";
}
}
print "\nExample - Target Leader Macro:\n$modstr\n";
print "\nExample - Shaman Lightning Bolt FTL Macro:\n$modstr\n/cast [target=targettarget] Lightning Bolt\n/targetlasttarget\n";
print "\nExample - Follow FTL Macro:\n$modstr\n/follow\n/targetlasttarget\n";
print "\nExample - Sequenced Group Invite Macro (run from $toons[0]):\n";
my $delay = 1;
for($t=1;$t<=$#toons;$t++) {
print "/in $delay /invite $toons[$t]\n";
$delay += 3;
}
Running the above script on Linux produces the following... Code: {
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "1",
"Output Key" : "Ctrl + Alt + 6",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "1",
"Output Key" : "Ctrl + Alt + 6",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "1",
"Output Key" : "Ctrl + Alt + 6",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "1",
"Output Key" : "Ctrl + Alt + 6",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "1",
"Output Key" : "Shift + 6",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "1",
"Output Key" : "Shift + 6",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "1",
"Output Key" : "Shift + 6",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "1",
"Output Key" : "Shift + 6",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "1",
"Output Key" : "Ctrl + 6",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "1",
"Output Key" : "Ctrl + 6",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "1",
"Output Key" : "Ctrl + 6",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "1",
"Output Key" : "Ctrl + 6",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "1",
"Output Key" : "Alt + 6",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "1",
"Output Key" : "Alt + 6",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "1",
"Output Key" : "Alt + 6",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "1",
"Output Key" : "Alt + 6",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "2",
"Output Key" : "Shift + Alt + 7",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "2",
"Output Key" : "Shift + Alt + 7",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "2",
"Output Key" : "Shift + Alt + 7",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "2",
"Output Key" : "Shift + Alt + 7",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "2",
"Output Key" : "Ctrl + Alt + 7",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "2",
"Output Key" : "Ctrl + Alt + 7",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "2",
"Output Key" : "Ctrl + Alt + 7",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "2",
"Output Key" : "Ctrl + Alt + 7",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "2",
"Output Key" : "Shift + 7",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "2",
"Output Key" : "Shift + 7",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "2",
"Output Key" : "Shift + 7",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "2",
"Output Key" : "Shift + 7",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "2",
"Output Key" : "Ctrl + 7",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "2",
"Output Key" : "Ctrl + 7",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "2",
"Output Key" : "Ctrl + 7",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "2",
"Output Key" : "Ctrl + 7",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "2",
"Output Key" : "Alt + 7",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "2",
"Output Key" : "Alt + 7",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "2",
"Output Key" : "Alt + 7",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "2",
"Output Key" : "Alt + 7",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "3",
"Output Key" : "Shift + Alt + 8",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "3",
"Output Key" : "Shift + Alt + 8",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "3",
"Output Key" : "Shift + Alt + 8",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "3",
"Output Key" : "Shift + Alt + 8",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "3",
"Output Key" : "Ctrl + Alt + 8",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "3",
"Output Key" : "Ctrl + Alt + 8",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "3",
"Output Key" : "Ctrl + Alt + 8",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "3",
"Output Key" : "Ctrl + Alt + 8",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "3",
"Output Key" : "Shift + 8",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "3",
"Output Key" : "Shift + 8",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "3",
"Output Key" : "Shift + 8",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "3",
"Output Key" : "Shift + 8",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "3",
"Output Key" : "Ctrl + 8",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "3",
"Output Key" : "Ctrl + 8",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "3",
"Output Key" : "Ctrl + 8",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "3",
"Output Key" : "Ctrl + 8",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "3",
"Output Key" : "Alt + 8",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "3",
"Output Key" : "Alt + 8",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "3",
"Output Key" : "Alt + 8",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "3",
"Output Key" : "Alt + 8",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "4",
"Output Key" : "Shift + Alt + 9",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "4",
"Output Key" : "Shift + Alt + 9",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "4",
"Output Key" : "Shift + Alt + 9",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "4",
"Output Key" : "Shift + Alt + 9",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "4",
"Output Key" : "Ctrl + Alt + 9",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "4",
"Output Key" : "Ctrl + Alt + 9",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "4",
"Output Key" : "Ctrl + Alt + 9",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "4",
"Output Key" : "Ctrl + Alt + 9",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "4",
"Output Key" : "Shift + 9",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "4",
"Output Key" : "Shift + 9",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "4",
"Output Key" : "Shift + 9",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "4",
"Output Key" : "Shift + 9",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "4",
"Output Key" : "Ctrl + 9",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "4",
"Output Key" : "Ctrl + 9",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "4",
"Output Key" : "Ctrl + 9",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "4",
"Output Key" : "Ctrl + 9",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "4",
"Output Key" : "Alt + 9",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "4",
"Output Key" : "Alt + 9",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "4",
"Output Key" : "Alt + 9",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "4",
"Output Key" : "Alt + 9",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "5",
"Output Key" : "Shift + Alt + 0",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "5",
"Output Key" : "Shift + Alt + 0",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "5",
"Output Key" : "Shift + Alt + 0",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "5",
"Output Key" : "Shift + Alt + 0",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "5",
"Output Key" : "Ctrl + Alt + 0",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "5",
"Output Key" : "Ctrl + Alt + 0",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "5",
"Output Key" : "Ctrl + Alt + 0",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "5",
"Output Key" : "Ctrl + Alt + 0",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "5",
"Output Key" : "Shift + 0",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "5",
"Output Key" : "Shift + 0",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "5",
"Output Key" : "Shift + 0",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "5",
"Output Key" : "Shift + 0",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "5",
"Output Key" : "Ctrl + 0",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "5",
"Output Key" : "Ctrl + 0",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "5",
"Output Key" : "Ctrl + 0",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "5",
"Output Key" : "Ctrl + 0",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "5",
"Output Key" : "Alt + 0",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "5",
"Output Key" : "Alt + 0",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "5",
"Output Key" : "Alt + 0",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "5",
"Output Key" : "Alt + 0",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Alt + Z",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Alt + Z",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Alt + Z",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Alt + Z",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Alt + Z",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Alt + Z",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Alt + Z",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Alt + Z",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Z",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Z",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Z",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "Alt + 1",
"Output Key" : "Shift + Z",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Z",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Z",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Z",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "Alt + 1",
"Output Key" : "Ctrl + Z",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "Alt + 1",
"Output Key" : "Alt + Z",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "Alt + 1",
"Output Key" : "Alt + Z",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "Alt + 1",
"Output Key" : "Alt + Z",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "Alt + 1",
"Output Key" : "Alt + Z",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + Alt + U",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + Alt + U",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + Alt + U",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + Alt + U",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + Alt + U",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + Alt + U",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + Alt + U",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + Alt + U",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + U",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + U",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + U",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "Alt + 2",
"Output Key" : "Shift + U",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + U",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + U",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + U",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "Alt + 2",
"Output Key" : "Ctrl + U",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "Alt + 2",
"Output Key" : "Alt + U",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "Alt + 2",
"Output Key" : "Alt + U",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "Alt + 2",
"Output Key" : "Alt + U",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "Alt + 2",
"Output Key" : "Alt + U",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + Alt + I",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + Alt + I",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + Alt + I",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + Alt + I",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + Alt + I",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + Alt + I",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + Alt + I",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + Alt + I",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + I",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + I",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + I",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "Alt + 3",
"Output Key" : "Shift + I",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + I",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + I",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + I",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "Alt + 3",
"Output Key" : "Ctrl + I",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "Alt + 3",
"Output Key" : "Alt + I",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "Alt + 3",
"Output Key" : "Alt + I",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "Alt + 3",
"Output Key" : "Alt + I",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "Alt + 3",
"Output Key" : "Alt + I",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + Alt + O",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + Alt + O",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + Alt + O",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + Alt + O",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + Alt + O",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + Alt + O",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + Alt + O",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + Alt + O",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + O",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + O",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + O",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "Alt + 4",
"Output Key" : "Shift + O",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + O",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + O",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + O",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "Alt + 4",
"Output Key" : "Ctrl + O",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "Alt + 4",
"Output Key" : "Alt + O",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "Alt + 4",
"Output Key" : "Alt + O",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "Alt + 4",
"Output Key" : "Alt + O",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "Alt + 4",
"Output Key" : "Alt + O",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + Alt + P",
"Output Window" : 1
},
{
"Active Window" : 0,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + Alt + P",
"Output Window" : 2
},
{
"Active Window" : 0,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + Alt + P",
"Output Window" : 3
},
{
"Active Window" : 0,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + Alt + P",
"Output Window" : 4
},
{
"Active Window" : 1,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + Alt + P",
"Output Window" : 0
},
{
"Active Window" : 1,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + Alt + P",
"Output Window" : 2
},
{
"Active Window" : 1,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + Alt + P",
"Output Window" : 3
},
{
"Active Window" : 1,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + Alt + P",
"Output Window" : 4
},
{
"Active Window" : 2,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + P",
"Output Window" : 0
},
{
"Active Window" : 2,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + P",
"Output Window" : 1
},
{
"Active Window" : 2,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + P",
"Output Window" : 3
},
{
"Active Window" : 2,
"Input Key" : "Alt + 5",
"Output Key" : "Shift + P",
"Output Window" : 4
},
{
"Active Window" : 3,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + P",
"Output Window" : 0
},
{
"Active Window" : 3,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + P",
"Output Window" : 1
},
{
"Active Window" : 3,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + P",
"Output Window" : 2
},
{
"Active Window" : 3,
"Input Key" : "Alt + 5",
"Output Key" : "Ctrl + P",
"Output Window" : 4
},
{
"Active Window" : 4,
"Input Key" : "Alt + 5",
"Output Key" : "Alt + P",
"Output Window" : 0
},
{
"Active Window" : 4,
"Input Key" : "Alt + 5",
"Output Key" : "Alt + P",
"Output Window" : 1
},
{
"Active Window" : 4,
"Input Key" : "Alt + 5",
"Output Key" : "Alt + P",
"Output Window" : 2
},
{
"Active Window" : 4,
"Input Key" : "Alt + 5",
"Output Key" : "Alt + P",
"Output Window" : 3
},
Game 0 has toon Faeil who has modifier Shift + Alt.
Game 1 has toon Malaia who has modifier Ctrl + Alt.
Game 2 has toon Daemian who has modifier Shift.
Game 3 has toon Malaiah who has modifier Ctrl.
Game 4 has toon Malaene who has modifier Alt.
Example - Target Leader Macro:
/target [mod:shift,mod:alt,target=Faeil][mod:ctrl,mod:alt,target=Malaia][mod:shift,target=Daemian][mod:ctrl,target=Malaiah][mod:alt,target=Malaene]
Example - Shaman Lightning Bolt FTL Macro:
/target [mod:shift,mod:alt,target=Faeil][mod:ctrl,mod:alt,target=Malaia][mod:shift,target=Daemian][mod:ctrl,target=Malaiah][mod:alt,target=Malaene]
/cast [target=targettarget] Lightning Bolt
/targetlasttarget
Example - Follow FTL Macro:
/target [mod:shift,mod:alt,target=Faeil][mod:ctrl,mod:alt,target=Malaia][mod:shift,target=Daemian][mod:ctrl,target=Malaiah][mod:alt,target=Malaene]
/follow
/targetlasttarget
Example - Sequenced Group Invite Macro (run from Faeil):
/in 1 /invite Malaia
/in 4 /invite Daemian
/in 7 /invite Malaiah
/in 10 /invite Malaene
One PwnBoxer KeyMapping looks like this in the .pbcfg file. Code: {
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 1
}
Code: "Key Remapping" :
[
{
"Active Window" : 0,
"Input Key" : "1",
"Output Key" : "Shift + Alt + 6",
"Output Window" : 1
}
]
It's not working! It definitely works with PwnBoxer - that's what I'm using. Below are some of the mistakes I made:
__________________ --- Team Faeil <Quinquevirate> Faeil Protection Paladin (80) and Einya Discipline Priest (80) Haille (80), Malaia (80) and Malaena (80) Elemental Shaman Last edited by jal; 01-03-2010 at 06:04 AM. |
| | |
| | #2 |
| Member Join Date: Oct 2009
Posts: 41
| My Addons Descriptions courtesy of curse.com. Jamba (info) Jamba is an addon for World of Warcraft that is designed to assist multiboxers. --- AlphaMap (images) AlphaMap is a scalable, moveable, transparent WorldMap that the user can have on screen while they continue to play and interact with the world. Bagnon (images) Bagnon is an addon that merges all of your bags into three frames: One for your inventory, one for your bank, and one for your keyring. Bartender4 (info) Full ActionBar replacement mod. It provides you with all the features needed to fully customization most aspects of your action and related bars. ButtonFacade (skin list) ButtonFacade, with its associated library, is a small add-on that allows for the dynamic skinning of button-based add-ons. Carbonite (info) (map) (quest) (guide) (warehouse) (battlegrounds) Multi feature addon developed by game industry veterans to improve and enhance the game playing experience. The Carbonite map gives you all the information you need in one easy to use and flexible Google like map. Blaze through quests at lightning speed and level faster than you ever thought possible. Our extensive quest database lists the location of quest givers, objectives and turn-ins. Dominate your opponents with our enhanced battleground map. See the combat status, heath, target and target health of all your teammates CensusPlus (weekly activity) (census) Capture population data for WarcraftRealms. ChatMod (images) ChatMOD provides many features which makes chatting / communication InGame much easier. Deadly Boss Mods (images) Boss mods for all raid bosses Decursive (images) Decursive is a cleansing mod intended to render affliction removal easy, effective and fun for all the classes having this ability. EquipCompare (info) When you shop for items at a vendor or the Auction House and you hover over an item, you get a comparison tooltip showing the "currently equipped" item too. Fishing Buddy (info) A fishing addon that keeps track of the fish you catch and helps manage your fishing gear. FuBar (info) (plugins) FriendsFu, GuildFu, BagFu, BartenderFu, CalendarFu, CurrencyFu, GearFu, InstanceInfoFu, MailExpireyFu, MoneyFu, ProfessionsFu, RecountFu, ThreatFu, TopScoreFu, VolumeFu GearScore (images) GearScore is an addon for World of Warcraft that allows you to quickly and easily judge a player's level of Gear. Simply mouse-over any player in the game and their GearScore will appear in their tooltip. No need to visit the armory. HealBot Continued (info) (youtube) One-click healing and buffing for your group LoggerHead (info) LoggerHead is a an automated combat log enabler. It allows you to select via a simple GUI interface which Zones and Instances to automatically enable for logging. LootFilter (info) It lets you filter loot by quality, item name and item value, and helps you keep your inventory clean. It also features an option to easily sell or delete items in bulk. MobInfo2 (images) MobInfo-2 is a World of Warcraft AddOn that provides you with useful additional information about Mobs (ie. opponents/monsters). It adds new information to the game's Tooltip whenever you hover with your mouse over a mob. Omen Threat Meter (info) What Omen does is provide accurate values of your group's relative threat level on individual enemies, so that you can see when you're in danger of pulling aggro Outfitter (images) Outfitter is an equipment management addon which gives you fast access to multiple outfits to optimize your abilities in PvE and PvP, automated equip and unequip for convenience doing a variety of activities, or to enhance role-playing. PallyPower (images) Pally Power is an add-on that provides an interactive and easy to use interface that allows you to control assignments of blessings for yourself and, if you are a party leader or an assistant, for other paladins in your group or raid. Quartz (review) The core of Quartz is lightweight implementation of a standard casting bar, with configurable size, text and icon positioning, and colors RangeDisplay (images) RangeDisplay is a simple range display addon. It is using spell range, item range and interact-distance based checks to determine the approximate range to your current target. Recount (images) Recount is a graphical damage meter RecountThreat (images) A threat-mode module for Recount. Requires Recount to work. ScrollingCombatText (images) A fairly simple but very configurable mod that adds damage, heals, and events (dodge, parry, windfury, etc...) as scrolling text above you character model, much like what already happens above your target. SexyMap (images) SexyMap is a minimap awesomification mod. SpamSentry (images) This addon stops goldspam messages from showing in your chatframes. To detect spam, SpamSentry uses sophistacted heuristics that have been developed over the course of over two years. TankadinTps (images) TankadinTps is a threat-analyzer for tanks. It records all threat you generated during a fight, without encounter specific gimmicks like aggro resets etc. When using FuBar the addon shows your current sustained tps, otherwise you can check this later in the details. TipTac (images) TipTac is a tooltip enchancement addon, it allows you to configure various aspects of the tooltip, such as moving where it's shown, the font, the scale of tips, plus a lot more. TipTacTalents (images) An addon to show the talents of players in the tooltip. A cache up to 25 is stored for the last players, so you quickly can see their talents again without having to wait for talents to load. X-Perl UnitFrames (images) Perl, with Extra stuff. Much enchanced from Nymbia's Perl UnitFrames, and a complete replacement for Blizzard's default unit frames, including raid frames and raid tools, with little remaining of the original Nymbia code. Last edited by jal; 01-03-2010 at 03:10 AM. |
| | |
| | #3 | |
| Member Join Date: Oct 2009
Posts: 41
| Click-Casting (in progress) Click-Casting is the process of defining a single keystroke that will perform appropriate actions. Unlike the traditional use of /castsequence, /click-casting allows for prioritization versus just a simple sequence. This article will show how I use /click-casting to perform a rough 96969 Paladin Tank sequence (more detail) as well as DPS with the Shamans and the Warlock. While far from perfect, this will significantly simplify your gameplay when multiboxing. This setup does not fully support FTL. It assumes FTL Master is /clicker. Executive Summary Press only one button on FTL Master repeatedly to
Macro Addon I now use the 'Super Duper Macro' addon for writing macros and distributing them to my slaves. It works quite nicely and is definitely an improvement over the classic WoW macros. Suggested Reading I strongly suggest reading 'Using Click Castsequences' available from this forum. FTL Setup and Keys I'm assuming the following FTL setup from my original post above. Quote:
In my setup, I will select 'Key 1' as my action button for the /click-casting. Associated with that will be 'Key 6' for my slaves using FTL to determine the master and her target. I also need 2/4 additional arbitrary ActionBar buttons (Classic, Bartender or other) for four different actions on the Shamans and Warlock, as well as two different actions for the Paladin Tank (96969). These buttons must not be broadcast or key-remapped using PwnBoxer. The /clicker The /clicker is the only button you will ever be spamming. It is the only one that needs to be Key-Remapped using PwnBoxer (as described above) and it is the only one that needs to be in the associated FTL slot as well on the slaves. All other buttons will be "pressed" by the /clicker. Paladin Tank
DPS - Shaman / Warlock (e.g. using priorities from maxdps.com)
The Macros Who am I ? One of the most difficult parts of /click-casting is determining the 'name' of your ActionBar buttons that have the macros. This useful macro can be placed in an ActionBar slot. When pressed, it will show you the 'name' of the button which can be used with the /click command. Super Duper Macro Example ![]() Here's the Macro (source) Code: /run print(GetMouseFocus():GetName()) Use your button names! Look them up as shown above. Place the clicker macro in your preferred ActionBar slot. In my case, it's in a slot bound to 'Key 1'. Place the clicker macro also in your associated slave FTL slot. In my case, it's in a slot bound to 'Key 6' (described above). Code: /click ActionButton8 /click ActionButton9 Use your button names! Look them up as shown above. Place the clicker macro in your preferred ActionBar slot. In my case, it's in a slot bound to 'Key 1'. Place the clicker macro also in your associated slave FTL slot. In my case, it's in a slot bound to 'Key 6' (described above). Code: /target [mod:alt,mod:shift,target=Faeil][mod:ctrl,mod:alt,target=Malaia][mod:shift,target=Daemian][mod:ctrl,target=Malaiah][mod:alt,target=Malaene] /click BT4Button37 /click BT4Button38 /click BT4Button39 /click BT4Button40 /targetlasttarget This is *my* sequence. It differs from person to person. It's based mostly on Glyphs, Talents and my personal click speed. You will have to "fine-tune" the sequence. Code: #showtooltip /console Sound_EnableSFX 0 /castsequence reset=combat Holy Shield,,,,,,,,Consecration,,,,,,,,Judgement of Light,,,,,,,, /console Sound_EnableSFX 1 /script UIErrorsFrame:Clear() see 'Tank 9 Sequence' for details. Code: #showtooltip /console Sound_EnableSFX 0 /castsequence reset=combat Shield of Righteousness,,,,,,Hammer of the Righteous,,,,,, /console Sound_EnableSFX 1 /script UIErrorsFrame:Clear() DPS - Shaman Flame Shock This is *my* sequence. It differs from person to person. It's based mostly on Glyphs, Talents and my personal click speed. You will have to "fine-tune" the sequence. Code: #show Flame Shock /use 14 /castsequence [target=targettarget] reset=combat Flame Shock,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, DPS - Shaman Lava Burst see 'DPS - Shaman Flame Shock' for details. Code: #show Lava Burst /use 13 /castsequence [target=targettarget] reset=combat Lava Burst,,,,,,,,,,,,,,,,, see 'DPS - Shaman Flame Shock' for details. Code: #show Chain Lightning /castsequence [target=targettarget] reset=combat Chain Lightning,,,,,,, Lightning Bolt is my lowest priority spell. It has no recast timer. So no /castsequence is needed. Code: #show Lightning Bolt /cast [target=targettarget] Lightning Bolt see 'DPS - Shaman Flame Shock' for details. Code: #show Immolate /use 14 /castsequence [target=targettarget] reset=combat Immolate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, see 'DPS - Shaman Flame Shock' for details. Code: #show Corruption /use 13 /castsequence [target=targettarget] reset=combat Corruption,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, see 'DPS - Shaman Flame Shock' for details. Code: #show Curse of Agony /castsequence [target=targettarget] reset=combat Curse of Agony,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Just like my Shaman's Lightning Bolt, this is my lowest priority spell. It has no recast timer. So no /castsequence is needed. Code: #show Shadow Bolt /cast [target=targettarget] Shadow Bolt If you're getting alot of error sounds and spam, you can disable it slightly using this code wrapper from above. Code: /console Sound_EnableSFX 0 <do my thing> /console Sound_EnableSFX 1 /script UIErrorsFrame:Clear() How to spam /clicker consistently ? Clicking at a steady rate - especially when everything starts going wrong in-game, is tricky! I highly recommend a Metronome such as the free 'Weird Metronome' if you're on Windows. ![]() Not Working ? I needed about 2-3 hours to get this working for my Tank, Shamans and Warlock. It's not trivial and it takes time. The best place to work on this is on the Practice Dummies that are in all major cities (well, at least in Stormwind's Old Town). --- Last edited by jal; 01-03-2010 at 05:42 AM. | |
| | |
| | #4 |
| Senior Member Join Date: Jul 2009 Location: Goldshire, Wakefield England
Posts: 705
| nice work im glad the more experienced boxers are posting guides as it helps all the newcomers |
| | |
| | #5 |
| Senior Member | wow nice setup space goats FTW!
__________________ |
| | |
| | #6 |
| Senior Member Join Date: Nov 2009 Location: Vancouver, Canada.
Posts: 2,257
| If you want you can include [nomod] as well as [mod], so the order does not matter. Original code: /target [mod:shift,mod:alt,target=Malaias] [mod:ctrl,mod:alt,target=Malaia] [mod:shift,target=Malaine] [mod:ctrl,target=Malaiah] [mod:alt,target=Malaene] /follow /targetlasttarget Altered Code: /target [mod:shift,mod:alt,nomod:ctrl,target=Malaias] [mod:ctrl,mod:alt,nomod:shift,target=Malaia] [mod:shift,nomod:alt,nomod:ctrl,target=Malaine] [mod:ctrl,nomod:alt,nomod:shift,target=Malaiah] [mod:alt,nomod:alt,nomod:ctrl,target=Malaene] /follow /targetlasttarget |
| | |
| | #7 |
| Member Join Date: Oct 2009
Posts: 41
| Yes, I saw that also mentioned on other pages. But by simply ordering the commands, you can save yourself a few extra characters out of the very limited max. 255 characters available for WoW macros. ![]() In fact, your suggested macro doesn't actually work for me as it exceeds 255 characters. The last command gets cut off. Or do you know of a way to get larger macros?
__________________ --- Team Faeil <Quinquevirate> Faeil Protection Paladin (80) and Einya Discipline Priest (80) Haille (80), Malaia (80) and Malaena (80) Elemental Shaman |
| | |
| | #8 |
| Senior Member Join Date: Nov 2009 Location: Vancouver, Canada.
Posts: 2,257
| Here is a macro addon which let you go to 1024 characters. Super Duper Macro : WoWInterface Downloads : Miscellaneous I believe Macaroon will allow for this too. IS Boxer has a built in macro maker, where it exports its macros to warcraft via an addon, so you can go to 1024 characters if you want too. |
| | |
| | #9 |
| Senior Member Join Date: Jul 2009 Location: Goldshire, Wakefield England
Posts: 705
| yeh i think pwnboxer should have a prebuild macro function so you dont even do keep redoing your macros if your client crashes n wipes or if you create new chars |
| | |
| | #10 |
| Member Join Date: Oct 2009
Posts: 41
| cool, thanks. Will check that out.
__________________ --- Team Faeil <Quinquevirate> Faeil Protection Paladin (80) and Einya Discipline Priest (80) Haille (80), Malaia (80) and Malaena (80) Elemental Shaman |
| | |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Team Malaias describes his FTL Setup | Lindline | Multiboxing.com Website Announcements | 2 | 11-29-2010 01:04 AM |
| Team binding setup pally+4shams | Snowy42 | General Discussions | 6 | 06-20-2010 05:35 PM |
| team setup? | Hots | General Discussions | 14 | 11-27-2009 11:07 AM |
| How many can this setup run! please help | Semifaded | Multiboxing Computer Hardware | 6 | 10-06-2009 09:06 PM |
| Bar setup | Aiford | Multiboxing Software | 3 | 08-27-2009 03:41 AM |