PDA

View Full Version : Forcing party order?



Danin
04-08-2008, 09:27 PM
I'm currently 2-boxing a warrior tank (main) and a holy priest (clone), and I'm trying to figure out a reliable healing method. I've got a G15 keyboard (unfortunately the newer model with only six g-keys) and right now I've got g1-g3 targetting party members, g4 targetting the priest, g5 targetting the tank, and g6 aoe healing. The problem I'm having is finding a way to keep my tank and healer in specific party slots, since I'm not running a full team and the other slots can cause the party order to be somewhat random.

If I assume (and it's little more than an assumption) that my tank will always have party lead, then I can just have her assigned to party1 in my healing macros. The trickier problem is getting my priest's and my tank's party lists to match up so that I don't have to keep looking over at my priest's screen and re-figuring the party order just to know who to heal.

For example, my priest's name is Danin, and my tank's is Yorda. Say (for simplicity) that I have party frames on both characters sorted by name, and Yorda has lead and is therefore always party1 according to Danin. If nobody in my party has a name starting with A, B, or C, then Danin will be party1 according to Yorda, and they will both see party2, party3, and party4 as the same characters--no problem. But say Charlie joins the party (Charlie's always causing problems, after all). Now, Danin drops to party2 on Yorda's list and Charlie becomes party1 to Yorda and party2 to Danin, which means that half the party list is now effectively out of order. Obviously, the more people who join with A, B, or C names, the worse the problem becomes--and if Yorda isn't party leader, then we're really screwed.

Anyway, the long and short of it is, I need a way to force a particular character into party1, regardless of name, index, or whether or not they are party leader. Anyone have any suggestions?

PyrostasisTDK
04-08-2008, 09:38 PM
Check out this link ('http://www.dual-boxing.com/wiki/index.php/Keyboard_Layouts') , this is how I do it in EQ2... Im sure you could find a better way with WoW... but this would at least get you started.

Anozireth
04-08-2008, 09:43 PM
There may be a unit frames addon capable of this. With the default UI, the order always goes from newest at the top to oldest at the bottom (from time of creation).

Ðeceased
04-09-2008, 05:25 AM
Unfortunately I am not at my WoW pc so i can't test this otherwise i would before posting

From what I can gather the commands should be Player, Party1, Party2, Party3 and Party4 (there is no party5)

Taking your Party leaders name as Z and the rest as A B C and D

if you are A:

Player: heals A
Party1: heals Z
Party2: heals B
Party3: heals C
Party4: heals D

if you are B:

Player: heals B
Party1: heals Z
Party2: heals A
Party3: heals C
Party4: heals D

if you are C:

Player: heals C
Party1: heals Z
Party2: heals A
Party3: heals B
Party4: heals D

if you are D:

Player: heals D
Party1: heals Z
Party2: heals A
Party3: heals B
Party4: heals C

if you are Z:

Player: heals Z
Party1: heals A
Party2: heals B
Party3: heals C
Party4: heals D

As you can see.. sadly the only uniform position is Party1 from your clones view. If it's a question of inviting players and you want to be able to heal them I can currently only suggest one course of action.. Name all your characters with a special character first.. æ Ð etcetc.. that way you drop to the bottom of the list alphabetically and any new outsider will take Party2 on all except ur tanks screen.. hope that helps in any way :S or alternatively only group with others that start with an A

zanthor
04-09-2008, 08:15 AM
Anyway, the long and short of it is, I need a way to force a particular character into party1, regardless of name, index, or whether or not they are party leader. Anyone have any suggestions?

Impossible.

My healing macro's as they currently sit are all as follows:

/target <Character Name>
/cast Flash Heal

The reasoning behind this is that party1-4 change and aren't t he same across characters. Even if you find a unit frame that lets you change the order on screen, it's NOT changing the underlying party1-4 designation. For example my characters always show as:

Gnusmas (party1)
Kitarra (party4)
Aazan (Leader)
Bazan (party3)
Cazan (party2)

Notice that even though I line them up how I want, they certainly aren't in order.

In this thread (Keybound Healing ('http://www.dual-boxing.com/forums/index.php?page=Thread&threadID=4969')) I've been exploring dynamically updated macro's that can be utilized for healing based on a unit frame (specifically RDX since I haven't found any one who does it automatically.) Once I get a usable package together I'd be glad to post it.

Danin
04-09-2008, 11:06 AM
So basically, suck it up and manually rearrange macros for every group?

And I'm not sure about your assertion that rearranging the visual party order has no effect on indexing. Pitbull has an option to arrange party frames by name, and when that's enabled party1 always targets the first character in the list, even if that character isn't the party leader. I'm not sure if this is a standard part of the Blizzard API though, so that may be the only situation that works as such.

zanthor
04-09-2008, 11:40 AM
So basically, suck it up and manually rearrange macros for every group?

And I'm not sure about your assertion that rearranging the visual party order has no effect on indexing. Pitbull has an option to arrange party frames by name, and when that's enabled party1 always targets the first character in the list, even if that character isn't the party leader. I'm not sure if this is a standard part of the Blizzard API though, so that may be the only situation that works as such.Invite 1 other character to your group.
Set both using pitbull, or any unit frame mod you desire, to sort alphabetically so both screens unit frames look the same.

On character 1 type /target party1
On character 2 type /target party1

Notice that they target each other.

There are 5 units in a party, player & party1-4, there are up to 40 units in a raid, raid1-40. party designators still hold true in raids as well, of course only for your own party.

I'd be interested in seeing any ui mod that can reassign party1-4 to be whatever units it wants, but I don't believe it is possible, and I've got a fair amount of unit based code experience.

razorbax
04-09-2008, 06:23 PM
Once cheap and Nasty way to do this would be to set MT targets for the whole party in the order that they appear for your healer. Not sure if you can do it while in a party and not a raid but it is something to think about.

wolpak
04-14-2009, 01:06 AM
Necroing this.

Since there is a method to how the party lines up, there is a way to macro this, well, or at least script it in HKN. For my only group, I did it by name not knowing that party position depended on age of character (talk about a turd way of doing things). Also, factor in that whomever is in the lead is Party1 for the rest of the group. However, if you script based on party and on active window, that should be enough to know who you are healing.

Let's say that this is the case:

With Toon A leading the party:

ToonA = lead (youngest)
ToonB = Party1
ToonC = Party2
ToonD = Party3
Toon E = Party4

ToonB sees:
ToonA = Party1
ToonC= Party2
ToonD = Party3
ToonE= Party4

When Toon B leads:
ToonA = Party1
ToonC = Party 2
ToonD = Party3
ToonE = Party4

Toon A sees:
ToonB = Party1
ToonC = Party2
ToonD=Party3
ToonE = Party4

So on and so forth. This will always stay as long as party is ordered by age. Since we can write out EXACTLY where each party member will be in any instance of whomever is leading, we can then script who should receive the party heal. To make things less complicated, let's just use the example above.


<If MouseIsOverWindowRect WoW1 486 855 42 42>
<SendLabel w1>
<Key Numpad8>
<SendLabel w2>
<Key Numpad7>

<If MouseIsOverWindowRect WoW2 486 855 42 42>
<SendLabel w1>
<Key Numpad7>
<SendLabel w2>
<Key Numpad8>



"WindowRect 486 855 42 42" is the location of Party1's unit frame. What this says, if WoW1 is the active window and you left click over that spot, it will send a Numpad8 to w1 and a Numpad7 to w2.

We have Numpad 7 scripted to heal Party1 for all characters and Numpad8 to heal Party2. This is having w1 send a heal to Party2 and w2 send a heal to Party1. Sounds counterintuitive, except, they are the same person viewed differently from each party. You can't do this with macros, but HTK (and maybe keyclone) has the extra requisite of which window is active. w1 will ALWAYS have the party members in the same position and w3 will ALWAYS have the same party members in the same postion when w1 is active. There will likely be a lot of scripting to cover the location of ALL members for each window. Probably like 25 possibilities (5 different spots for 5 different windows). Once we map it all out, it becomes easy. Will have to think about this more tomorrow, but at least it allows me to create one HKN script and not have to worry about who is in what party and when their effin birthday is.

Duese
04-14-2009, 02:36 PM
I've been trying to figure out how to do this the last week. What I ended up with was similar to what you are doing, but just a tad different. I didn't want to specify the specific order of the party in the event that I drop one character out or have someone else in the group, so I put together 5 macros.

These use modifiers to cast on the correct targets. Put the correct macro on the character that needs it based on where they are located in the party setup on your main screen.


Player = nomod
Party1 = Ctrl
Party2 = Alt
Party3 = Ctrl Alt
Party4 = Ctrl Shift

Player
/cast [nomod:ctrl,nomod:alt,nomod:shift,target=Player][mod:ctrl,nomod:alt,nomod:shift,target=Party1][nomod:ctrl,mod:alt,nomod:shift,target=Party2][mod:ctrl,mod:alt,nomod:shift,target=Party3][mod:ctrl,nomod:alt,mod:shift,target=Party4] Spellname

Party1
/cast [nomod:ctrl,nomod:alt,nomod:shift,target=Party1][mod:ctrl,nomod:alt,nomod:shift,target=Player][nomod:ctrl,mod:alt,nomod:shift,target=Party2][mod:ctrl,mod:alt,nomod:shift,target=Party3][mod:ctrl,nomod:alt,mod:shift,target=Party4] Spellname

Party2
/cast [nomod:ctrl,nomod:alt,nomod:shift,target=Party1][mod:ctrl,nomod:alt,nomod:shift,target=Party2][nomod:ctrl,mod:alt,nomod:shift,target=Player][mod:ctrl,mod:alt,nomod:shift,target=Party3][mod:ctrl,nomod:alt,mod:shift,target=Party4] Spellname

Party3
/cast [nomod:ctrl,nomod:alt,nomod:shift,target=Party1][mod:ctrl,nomod:alt,nomod:shift,target=Party2][nomod:ctrl,mod:alt,nomod:shift,target=Party3][mod:ctrl,mod:alt,nomod:shift,target=Player][mod:ctrl,nomod:alt,mod:shift,target=Party4] Spellname

Party4
/cast [nomod:ctrl,nomod:alt,nomod:shift,target=Party1][mod:ctrl,nomod:alt,nomod:shift,target=Party2][nomod:ctrl,mod:alt,nomod:shift,target=Party3][mod:ctrl,mod:alt,nomod:shift,target=Party4][mod:ctrl,nomod:alt,mod:shift,target=Player] Spellname


Once that is set up, then I use a template to send the command


<ApplyTemplate VButton 1297 678 28 31 "Ctrl Oem4" "Ctrl NumPad1" "w2,w3,w4,w5"> //Player 1 - Party buttons

<Template VButton>
<If MouseIsOverWindowRect WoW1 %1% %2% %3% %4%>
<SendLabel %6%><Key %5%>
<EndTemplate>


The next obvious question is "what if my main character is in window 4? Or window2?"... Such is the next problem... I just flipped my labels around so they target the correct windows when i reference the label.


<Label w1 192.168.1.3 SendWinM WoW1>
<Label w2 192.168.1.4 SendWinM WoW5>
<Label w3 192.168.1.3 SendWinM WoW2>
<Label w4 192.168.1.4 SendWinM WoW4>
<Label w5 192.168.1.4 SendWinM WoW3>

The last part of the problem is that doing this requires 5 macros for any spell you want to cast like to be prepared for everything. If you don't have many party targeted abilities to use, then this method works out fine. The other method would be to turn this into a "/target" instead of a "/cast" and then add an additional command after the /target to cast the correct spell which requires two clicks.

If the party membership changes, it requires a switching the macro out on each character and changing the label around in the code, which is the least amount of work I've found when dealing with switching in a party.

wolpak
04-14-2009, 06:04 PM
I think I can come up with something that will work, but it will like'y involve 125 or so HKN commands to satisfy all posibile scenarios. This is with using setvar and needing to let HKN know which party member is active in which window.

Chorizotarian
04-14-2009, 07:20 PM
I don't believe you can reassign party1-n in an addon, but you can create virtual buttons that do the same thing based on your multibox team composition. For example:


/click TargetToon1
instead of


/target party1
If that sounds appealing you might check out my mod ActionBarTargeting ('http://dual-boxing.com/forums/index.php?page=Thread&threadID=19802'). Feel free to steal and modify the code or to request additional features if what I have now doesn't work for you.

wolpak
04-14-2009, 08:47 PM
I don't believe you can reassign party1-n in an addon, but you can create virtual buttons that do the same thing based on your multibox team composition. For example:


/click TargetToon1
instead of


/target party1
If that sounds appealing you might check out my mod ActionBarTargeting ('http://dual-boxing.com/forums/index.php?page=Thread&threadID=19802'). Feel free to steal and modify the code or to request additional features if what I have now doesn't work for you.

Fortunately you don't have to. There are a set number of possible party positions and you can script for all of them. Kinda like those Go To Page mystery books. Not optimal, but functional, hopefully.

Chorizotarian
04-14-2009, 09:12 PM
Sure, I understand that you can make it work that way. It just seems like a lot more work. To each his own.

wolpak
04-14-2009, 11:31 PM
It's not that at all. My goal is to click on one unit frame and have everyone cast heal on that player. I don't think that is what you designed your actionbars to do, unless I am mistaken.

Chorizotarian
04-15-2009, 03:41 AM
True, if you are talking about click-casting there is no way to do that in-game.

olipcs
04-15-2009, 06:26 AM
If the party membership changes, it requires a switching the macro out on each character and changing the label around in the code, which is the least amount of work I've found when dealing with switching in a party. Honestly what i do in this 'group-changing' moments, is using mouse-over-healing combined with a UI-Mod, which let you sort your team-members alphabetical (like Pitbull or Grid), and mouse broadcasting to the healer. This has the benefit, that it is independent of the group-setup (as long, as the UI-positions is identical on your main and healer), and its no problem to change around teammembers, or to simply play some instances with friends.

In HKN this can be realized by defining a 'broadcast.mouse-position-and-key'-hotkey, like:



<HotKey g; shift g; alt g; ctrl g>
<SendLabel healer>
<ClickMouse NoClick NoRestore>
<Key %trigger%>
<RestoreMousePos>


and a macro bound to 'g' on your healer like:


/cast [mod:shift,target=mouseover] Powerword: Shield;[mod:alt,target=mouseover]Binding Heal;[mod:ctrl,target=mouseover]Penance;[target=mouseover]Flash Heal