Thread Tools Display Modes
03-31-18, 02:13 AM   #1
doofus
A Chromatic Dragonspawn
Join Date: Feb 2018
Posts: 158
Party and Raid frames

Hello eveyone

Working on a standard Blizzard GUI - no addons to change the party/raid frames.

I have been trying to find
(a) where the party/raid frames are on the screen for each player
(b) what player/party/raid member each frame is attached to

If you know the answer(s) to the above please let me know.

**************************************************************************
After some experiments:

1) Use IsInGroup() / IsInRaid() to tell if we are in a group or in a raid party

2) Use GetNumGroupMembers() and GetRaidRosterInfo(n) to determine raid size and the "raidN" position of each player, along with the subgroup they are in (groups 1 to 8). From now on I can personally refer to each player in the raid as "raid1", "raid2", "raid3" etc and I can do, for example, UnitHealth("raid20"). I also know how many players in each subgroup.

Now from here on it gets sketchy:

3) Use _G["CompactRaidGroup6Member1"] (or some such string) to get the frame handle of the party/raid frame for each player. I can determine the "Group6" component of the string from the GetRaidRosterInfo() return "subgroup". If I select an unfilled slot, then I will get the raid frame handle even if it is hidden on the screen.

4) From this raid frame handle I can find its position and size with GetLeft()/GetBottom() etc. Fstack shows it has the link I am looking for, eg "raid4" in "strings" and "unit" / "displayedUnit". But I do not know the API call to inquire this string. Something similar to GetLeft() - maybe GetStrings() ?

****************************
The main problems
1) Using _G["CompactRaidGroup6Member1"] to get the frame handle sounds a bit dodgy - is it reliable? I would prefer an API method like "GetUnitRaidFrame()"

2) I do not know how to inquire the frame handle in order to retrieve the raid unit it is tied to... fstack knows how to do it however!
  Reply With Quote
03-31-18, 05:35 AM   #2
doofus
A Chromatic Dragonspawn
Join Date: Feb 2018
Posts: 158
OK it seems I have the answer(s).

First it is "documented" that "name" Widget attributes occupy a global table and you can therefore do EITHER of:

CompactRaidGroup1Member1:GetLeft()
or
_G["CompactRaidGroup1Member1"]:GetLeft()

Secondly, even though it was not working yesterday, today I can do

CompactRaidGroup1Member1:GetAttribute("unit") and it correctly returns the raid unit it is attached to, eg "raid1".

This is all the info I have needed to tie the Raid Frames (screen locations and size) to actual party/raid members!
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » Party and Raid frames


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off