Log in

View Full Version : [WoW] First release of MultiBoxer AddOn for WoW.



jdraughn
10-11-2007, 12:39 PM
This AddOn, which is named MultiBoxer, is posted at http://wow.curse.com/downloads/details/9618/

This is a new thread to replace the one located at: http://www.dual-boxing.com/forums2/viewtopic.php?t=1389, which is titled "[wow] Creating a dual boxing macro, need input."


Read the information below to see if it's for you. It may require a specific configuration of your action-bar's that you are not willing to do, especially if your used to doing things a specific way. Once I get some feedback of what changes I could make to make it work better for YOU, then I can start to implement them.

If you don't know what multiboxing is then this AddOn is NOT for you. If you want to read about MultiBoxing, check out [http://www.dual-boxing.com].

If you find any bugs or have any other feedback, please e-mail me at jdraughn at gmail.com (remove the spaces and change at to @).

Features:
1. Allows any person in the party to assign who the party leader is (as long as each account is using this addon).
2. Automatic following of party leader. Automatically refollows party leader when leaving combat (if toggled on).
3. Automatic swapping of action bars depending on if your assisting or playing the party leader.
4. Automatic accepting of resurrects, group invites and quest sharing.
5. This is a first release. As such it's not really configurable (unless you open up the code and change variables yourself). A GUI to change options is on the way depending on if the demand is there. As it stands right now I am pretty happy just putting /script MyFunctionNameHere() in my macros to run my addon. I will At the very least add slash commands soon.

Instructions for use:
Once this addon is properly installed, it runs automatically. All characters in the group must have this installed for it to function correctly.


THE TWO COMMANDS WHICH YOU HAVE TO USE TO OPERATE THIS ADDON ARE:

/script NewLeader("PartyMemberName")
Promotes chosen person to party leader (does not matter who in the party runs the command). Where PartyMember is the name of the person in your party who you want to be leader and who everyone else will follow and assist.

and

/script FollowLeader()
If for someone reason one or more persons in your party have stopped following the leader, running this (from any person in the group) will make them all begin following again.

IN ADDITION TO USING THE TWO COMMANDS LISTED ABOVE, YOU MUST ALSO CONFIGURE YOUR ACTION BARS AS DESCRIBED BELOW.

By default action bar 2 is used for assisting, example:

/assist party1
/cast Curse of Agony

or

/cast {target=party1} Renew


Everyone who is following party1 (The party leader) will use this bar. So by default, if you press 1 and it gets sent to all the WoW windows, everyone who is following party1 will execute the first button on action bar 2, while party1 will execute the first button on action bar 1.

When used with AutoHotkey, you can send a key to execute the ChangeLeader("PartyMember") function automatically whenever you swap WoW windows. The active window would then automatically become party leader meaning everyone in your group will automatically start following you, and since their action bar is swapped automatically too, they will automatically assist party1 (as long as you have configured their action bars appropriately.

A screenshot is almost worthless since this AddOn is so dynamic, and I am having a hard time trying to record a video of this in action since it's multiple directx windows. Fraps will only record one source at a time. Might try to use a normal video camera and just record my screen.

-----------------------------------------------------------------------------------------

My personal setup is a single computer running 5 World of Warcraft accounts simutaneously and I use AutoHotkey [http://www.autohotkey.com] to broadcast my keystrokes to all my WoW windows.

I am currently playing 1 Paladin and 4 Priests.

My computer's hardware consists of:
1. An Intel Q6600 processor (4 CPU's running at 2.4Ghz each).
2. 3 GB of ram (2 GB seemed to be enough when running 4 game windows, but the 5th pushed it over the edge and I experience extreme slowdowns until I added another Gigabyte of ram.
3. Windows Vista 32bit
4. GeForce 8800GTS 320MB.

With this setup I am able to get very playable framerates, even running in 1920x1080 in windowed mode maximized. By default however WoW will only run on the first two cores of your system, so if you have a quad core, make sure you change the affinity of your wow.exe's so they are using all 4 cores.

I use a program called process [http://www.beyondlogic.org/solutions/processutil/processutil.htm] in combination with AHK to automatically change the priority's of my wow windows whenever I swap screens so the foreground window gets it's cpu priority set to "High" while at the same time, any other wow windows get their priority set to "Below Normal".

Zaelar
10-12-2007, 06:11 AM
A way to customize which bar to use on leader and on assist would be good.

I don't know if its set up this way as I haven't tried it yet, but can you make your box's leader different from the group leader? Would be required for people who group with other players.

A way to quickly disable/endable all functions(like through a slash command).

What would happen if two people with this mod join into one party? A way to specify your "party" would be helpful so you can keep it unrelated to an actual in-game group.

Djarid
10-13-2007, 06:10 PM
Just downloaded from curse... hope to test it tomorrow night...

jdraughn
10-13-2007, 08:19 PM
A way to customize which bar to use on leader and on assist would be good.

Yeah, thats easy enough to setup. Would be nice if you can setup like 3 bars for assisting and 3 for leading and be able to swap between the 3 at will. I will need to figure out a good way of doing that, but I have some ideas.


I don't know if its set up this way as I haven't tried it yet, but can you make your box's leader different from the group leader? Would be required for people who group with other players.

I have not yet set it up this way. I DID set it up like this when I was orginally messing around with it but once I got to the point where I was always playing 5 characters, it seemed pointless to continue doing it that way and went ahead and made the party leader the leader that everyone else assisted, which is why i made it so anyone in the group could specify who the party leader is. I will figure out a way to setup a virtual party, minus the options of changing looting and other things that only a REAL party leader would be able to do.[/quote]


A way to quickly disable/endable all functions(like through a slash command).

That should have been implemented from the start, it will be one of the first things I do in my next release.



What would happen if two people with this mod join into one party? A way to specify your "party" would be helpful so you can keep it unrelated to an actual in-game group.

I did have a way of specifying who you allowed to except auto invites by having a list of trusted people, which I disabled before I released it because I could not figure out an easy way to allow the users of the addon to add people to this "trusted" players list. As soon as I figure out an easy way of going that (maybe right click on a players portrait and have an extra option that says "Add to Trusted"), along with a slash command.

I did try to get slash commands going but for some reason it was not working and I was in a rush to get a first release out so I temporarily gave up.

Thanks for the ideas and advice. It's just the kind of thing I was looking for. If there is anything confusing or unclear in my readme please let me know. If your the author you get into a certain frame of mind and have trouble seeing it from another persons point of view.

Djarid
10-14-2007, 05:06 PM
You might want to update the QUEST_DETAIL and QUEST_ACCEPT_CONFIRM event handlers as follows...

It is usefull for the main to be able to read the quest text before accepting ;)


[code:1] elseif (event=="QUEST_DETAIL") then
if (not UnitIsPartyLeader("player")) then
AcceptQuest();
end
[/code:1]

I am going to try and work on some GUI options for you... should be able to maintain the trusted character list through this ;)

jdraughn
10-14-2007, 05:47 PM
You might want to update the QUEST_DETAIL and QUEST_ACCEPT_CONFIRM event handlers as follows...

It is usefull for the main to be able to read the quest text before accepting ;)


[code:1] elseif (event=="QUEST_DETAIL") then
if (not UnitIsPartyLeader("player")) then
AcceptQuest();
end
[/code:1]


Thats a good idea.


I am going to try and work on some GUI options for you... should be able to maintain the trusted character list through this ;)

That sounds good. If you want to work on a GUI for this I will add methods or anything else you want to my code.

Zaelar
10-15-2007, 01:59 PM
Even if you're five-boxing, if you go into a BG or any other raid you won't always have leader to pass around. No matter how big your box is a virtual party would fix this I assume. As is you would always have to have the party leader to use this addon, which is a deterrent for me as even though I will almost always have leader, I don't want to get used to it for those times when I don't have it.

Keep at it, it looks like this is going to become a great addon for almost everyone who boxes wow in the future.

Djarid
10-16-2007, 03:08 AM
I have to agree with Zaelar on this, I am only 3 boxing and often team up with a couple of my mates... I then always have to ask them to make me leader... not a big deal with friends but in a PUG it could be awkward.

perhaps a toggle to enable or disable team leadership being tied to party leadership.

while removing the party leader dependency it would be useful to build in shared target info. instead of party1target perhaps have a boxer1target which is set through the addon channel.

exposing several shared variables this way would really open up the scriptability for multiboxing.

Djarid
10-16-2007, 04:41 AM
I use a program called process [http://www.beyondlogic.org/solutions/processutil/processutil.htm] in combination with AHK to automatically change the priority's of my wow windows whenever I swap screens so the foreground window gets it's cpu priority set to "High" while at the same time, any other wow windows get their priority set to "Below Normal".

I am being lazy here as I could look it up but can you post the snippet of AHK code that handles this?

thanks

jdraughn
10-16-2007, 10:37 AM
I use a program called process [http://www.beyondlogic.org/solutions/processutil/processutil.htm] in combination with AHK to automatically change the priority's of my wow windows whenever I swap screens so the foreground window gets it's cpu priority set to "High" while at the same time, any other wow windows get their priority set to "Below Normal".

I am being lazy here as I could look it up but can you post the snippet of AHK code that handles this?

thanks

I am back to experimenting with the affinitys, I am just not happy with the performance I am getting by running my game in windowed mode. At the moment I am changing it so that the foreground wow window gets 1 core to it's self and the other windows get to share the 3 remaining cores. Still not sure which is faster or better. I don't think it's the CPU thats holding me back as much as my video card. Changing the affinitys and prioritys of the wow.exe's helps to an extent but running in windowed mode simply kills the performance. Full screen is fast running but slow swapping of screens. Ideally multiple monitors and video cards would be the way to go but I simply can't afford that.

[code:1]
^+F1::
ControlSend,,{NumpadSub}, ahk_id %wowid1%
run c:\process -a %wowpid1% 1000
run c:\process -a %wowpid2% 111
run c:\process -a %wowpid3% 111
run c:\process -a %wowpid4% 111
run c:\process -a %wowpid5% 111
WinActivate, ahk_id %wowid1%
return


^+F2::
ControlSend,,{NumpadSub}, ahk_id %wowid2%
run c:\process -a %wowpid1% 111
run c:\process -a %wowpid2% 1000
run c:\process -a %wowpid3% 111
run c:\process -a %wowpid4% 111
run c:\process -a %wowpid5% 111
WinActivate, ahk_id %wowid2%
return
[/code:1]

Above is a snippet of code of that handles swapping screens. Control-Shift-F1 changes to my first guy, sets his affinity so he gets the first core to himself and the other 4 characters (and windows) get to share the other 3 cores.

The
[code:1]ControlSend,,{NumpadSub}, ahk_id %wowid2%
[/code:1]
Line is what presses the minus button on my keypad which is what promotes that person to leader and changes action bars.

That way with one keystroke (control-shift-f1) I swap windows AND change affinitys/prioritys AND make the new window the new party leader (with the swapping of the action bars).

My plan was to map my G keys on my G15 to control-shift-F<number>, but was having trouble getting it to work. Now I am really accustomed to just hitting control-shift-f<number> manually.

By the way, to change priortys instead of affinitys, the line of code in ahk looks like:[code:1]run c:\process -p %wowpid4% High[/code:1]

Just replace "High" with "AboveNormal" or "BelowNormal" or whatever. "Normal" is default priority setting.

Oh yeah, just realized you probably don't know how I am getting the pid. That was alot of fun to figure out. process.exe requires the pid of the process in order to work (or the name of the process), but seeing as how you have 5 identical process names (or however many accounts your running at once), you HAVE to use the pid.

[code:1]WinGet, wowid, list, World of Warcraft
WinGet, wowpid1, pid, ahk_id %wowid1%
WinGet, wowpid2, pid, ahk_id %wowid2%
WinGet, wowpid3, pid, ahk_id %wowid3%
WinGet, wowpid4, pid, ahk_id %wowid4%
WinGet, wowpid5, pid, ahk_id %wowid5%
[/code:1]

Is what I use to get pids. Might be a smaller way of doing it but I did figure that out myself after asking for help on the AHK forums.

Good Luck.

Djarid
10-16-2007, 11:18 AM
Thanks JD, I will rip that and use the bits I need (I run 3x monitors atm so I don't need to switch screens ;) )

Djarid
10-22-2007, 12:36 PM
re options mod for this, GF hurt her back so I have been looking after her and my baby daughter fulltime ... will hope to complete it this week!

Falkor
03-11-2008, 11:12 AM
Bump!

After the comment from Djarid ('http://www.dual-boxing.com/forums/index.php?page=User&userID=1039') in my Unsupported Addons post I will shortly be reviewing this code in the hope to re-vive it and mayby expand the code into an entirely new addon with more streamlined features that don't require fixed action bars.

I'll keep you informed!

Grogin
03-11-2008, 01:35 PM
Awesome, I'll be looking for that one. :thumbup:

Djarid
03-20-2008, 08:09 AM
I have started a multiboxer addon page in the wiki http://www.dual-boxing.com/wiki/index.php?title=Addon:Multiboxer

I hope we can get community support and contributions to this... Falkor has said he will work on it so he is lead programmer ;)

From that page I will add some more for feature requests problems etc.