Does anyone know if there is already a broker plugin out there that will just display the current raid makeup.
Doesn't need to be anything special but since I have disabled the Blizzard raid manager I find that I miss the display of knowing how many people are in the raid and what we are waiting for.
Basically like a role check but a status
3 Healers / 1 Tank / 15 DPS
Something like that, I figure it shouldn't be too hard to write but no need to reinvent the wheel if it's already out there.
I took over an old out of date project and started bringing it up to date. It currently works on tracking uptime for buffs and debuffs but there are a few things I had planned for it to do which it is not doing and I'm still trying to figure out why it's acting this way.
1. Bar Color works for buffs and debuffs until you access the configuration panel and then debuff color becomes buff color and never works properly again unless you /rl or relog.
2. It seems to track uptime on buff or debuff but does not track a proc from an item. Gurthalak being a prime example it never detects the tentacle has proc'd.
3. It doesn't properly track ppm.
Debuffbarcolor
debuffcol = {
name = L["Debuffbarcolor"],
type = "color",
hasAlpha = true,
get = function(info) return db.debuffbarcolor[1], db.debuffbarcolor[2], db.debuffbarcolor[3], db.debuffbarcolor[4] end,
set = function(info, r, g, b, a)
db.debuffbarcolor[1] = r;
db.debuffbarcolor[2] = g;
db.debuffbarcolor[3] = b;
db.debuffbarcolor[4] = a;
Uptime:ReConfigureFrames();
end,
order = 5,
},
bar = CreateFrame("STATUSBAR", nil, container, "TextStatusBar");
bar:SetWidth(db.barwidth);
bar:SetHeight(db.barheight);
bar:SetPoint("RIGHT", container, "RIGHT");
bar:SetStatusBarTexture(LSM3:Fetch("statusbar", db.bartexture));
if (typ == "debuff") then
bar:SetStatusBarColor(db.debuffbarcolor[1], db.debuffbarcolor[2], db.debuffbarcolor[3], db.debuffbarcolor[4]);
else
bar:SetStatusBarColor(db.buffbarcolor[1], db.buffbarcolor[2], db.buffbarcolor[3], db.buffbarcolor[4]);
end
bar:SetMinMaxValues(0, 1);
bar:SetValue(0);
leftLabel = bar:CreateFontString(nil,"OVERLAY","GameFontNormal");
leftLabel:SetFont(LSM3:Fetch("font", db.font), db.fontsize);
leftLabel:SetTextColor(db.fontcolor[1], db.fontcolor[2], db.fontcolor[3], db.fontcolor[4]);
leftLabel:SetPoint("LEFT", bar, "LEFT");
if (buffID == 1) then
leftLabel:SetText("0.0 dps");
elseif (buffID == 2) then
leftLabel:SetText("0% crit");
elseif (buffID == 3) then
leftLabel:SetText("0% miss");
else
leftLabel:SetText("0.0s");
end
rightLabel = bar:CreateFontString(nil,"OVERLAY","GameFontNormal");
rightLabel:SetFont(LSM3:Fetch("font", db.font), db.fontsize);
rightLabel:SetTextColor(db.fontcolor[1], db.fontcolor[2], db.fontcolor[3], db.fontcolor[4]);
rightLabel:SetPoint("RIGHT", bar, "RIGHT");
if (buffID == 1 or buffID == 2 or buffID == 3) then
rightLabel:SetText("");
else
rightLabel:SetText("0%");
end
Uptime
function Uptime:UpdateFrames()
-- update title
Uptime_top_text:SetText(DurationString(self.data.totalFightTime));
local curr = self.data.firstBuff, proc;
while curr ~= nil do
proc = 0;
if (curr.buffId > 3) then
curr.leftLabel:SetText(DurationString(curr.uptime));
if (self.data.totalFightTime > 0) then
proc = curr.uptime / self.data.totalFightTime;
end
curr.rightLabel:SetText((("%d"):format(proc * 100)) .. "%");
curr.bar:SetValue(proc);
elseif (curr.buffId == 1) then
if (self.data.totalFightTime > 0) then
proc = self.data.damageDone / self.data.totalFightTime;
end
curr.leftLabel:SetText((("%1.1f"):format(proc)) .. " dps");
curr.rightLabel:SetText("");
elseif (curr.buffId == 2) then
if (self.data.crits > 0) then
proc = self.data.crits / self.data.hits;
end
curr.leftLabel:SetText((("%d"):format(proc * 100)) .. "% crit" );
curr.rightLabel:SetText("");
curr.bar:SetValue(proc);
elseif (curr.buffId == 3) then
if (self.data.miss > 0) then
proc = self.data.miss / self.data.hits;
end
curr.leftLabel:SetText((("%d"):format(proc * 100)) .. "% miss" );
curr.rightLabel:SetText("");
curr.bar:SetValue(proc);
end
curr = curr.next;
end
end
I know this is a lot of information but generally when I post it is what is asked for. Hopefully I can get this to track properly. If anyone can just browse over the code and see if they notice anything severely wrong I would greatly appreciate it.
I have been trying to bring this addon up to date instead of rewriting it from the ground up.
Sorry posted that late and I didn't even think about it. The buffs are default but movable by using femtoBuff and the BF skin is Darkinator: Matte skin
Maybe I'll just give PhanxBuffs a try it appears to do everything I need and more up to date.
I'm pretty sure that the issue I have is related to something out of your control and probably an older addon without new code but I'm really just looking for a little confirmation so I can find another method.
I'm using an addon that allows me to move the default Buff/Debuff/Weapon Buffs but as soon as I load it up since it is skinnable this is what I end up with. No matter what skin I use the brightness never returns until disabling BF which is not an option for me.
Since as soon as it's skinned it's nearly to dark to deal with is there anything I can do to resolve this? I apologize if this is posted somewhere else in this thread I tried to search for all the key terms that someone else might have posted with no luck.
Every time I log on the Bar Texture has reset to empty, No matter how many times I save it or create a profile it always reverts back to empty is there a way around this?
Yes I have been testing it by myself no party, and only this addon, But thank you I will search the code. I appreciate your assistance. No Close calls like that anywhere, I guess I'll start looking into replacing the code without requiring a full rewrite.
Yes I do agree but there is just no replacement for the bag add on so someone has to do the dirty work, But thanks for the advice. Does that mean that without a menu rewrite this is a lost cause?
I'm not really sure if this is the right place to post this but this guide while teaching me some I'm still lost as to what is happening in this addon.
I took over a bag addon because it was dying out and it was the bag addon I have used since Vanilla and I couldn't continue without it. So I started cleaning it up to be more up to date code wise. The problem I'm coming up with is the Submenus 2 and 3 from the context menu.
When you control right click I get my context menu and it works perfect. When you mouse over the arrow to open the sub menu it shows up as it should. When you move the mouse across the category and into the next sub menu the menu vanishes. It's very buggy if you move the mouse really fast or back and forth sometimes you can get the 2nd and 3rd sub menus to stay visible but in most cases they just vanish and you can't just have to keep moving the mouse back over the arrow to bring then back.
I have read through this tutorial 100% and I can't find anything that would cause this or allow it. So if anyone can point me into a direction as to what I can look for I would really appreciate it. I'm pretty new to coding I dabble in it so I don't know all of it but I am learning more about it.
I can post parts of the code if there is something that would be helpful to determine it.
Sure did, I'll post the context menu however is is pretty long, I'll post the context menu and the 3 levels, This isn't my code this is just me attempting to help keep a good addon moving in the right direction.
So pardon the noobness but if this is not the code you are looking for then I'm not sure exactly what you are looking for but this is the code for the context menu.
if (EngInventory_RightClickMenu_mode == "item") then
-- we have a right click on a button
bar = EngInventory_RightClickMenu_opts["bar"];
position = EngInventory_RightClickMenu_opts["position"];
bagnum = EngInventory_bar_positions[bar][position]["bagnum"];
slotnum = EngInventory_bar_positions[bar][position]["slotnum"];
itm = EngInventory_item_cache[bagnum][slotnum];
if (level == 1) then
-- top level of menu
info = { ["text"] = itm["itemname"], ["notClickable"] = 1, ["isTitle"] = 1, ["notCheckable"] = nil };
UIDropDownMenu_AddButton(info, level);
info = { ["disabled"] = 1 };
UIDropDownMenu_AddButton(info, level);
info = { ["text"] = "Current Catagory: "..itm["barClass"], ["notClickable"] = 1, ["isTitle"] = 1, ["notCheckable"] = nil };
UIDropDownMenu_AddButton(info, level);
info = { ["disabled"] = 1 };
UIDropDownMenu_AddButton(info, level);
info = { ["text"] = "Assign item to catagory:", ["hasArrow"] = 1, ["value"] = "override_placement" };
if (EngInventoryConfig["item_overrides"][itm["itemlink_override_key"]] ~= nil) then
info["checked"] = 1;
end
UIDropDownMenu_AddButton(info, level);
info = {
["text"] = "Use default catagory assignment",
["value"] = { ["bagnum"]=bagnum, ["slotnum"]=slotnum },
["func"] = EngInventory_RightClick_DeleteItemOverride
};
if (EngInventoryConfig["item_overrides"][itm["itemlink_override_key"]] == nil) then
info["checked"] = 1;
end
UIDropDownMenu_AddButton(info, level);
if (ENGINVENTORY_SHOWITEMDEBUGINFO==1) then
info = { ["disabled"] = 1 };
UIDropDownMenu_AddButton(info, level);
info = { ["text"] = "Debug Info: ", ["hasArrow"] = 1, ["value"] = "show_debug" };
UIDropDownMenu_AddButton(info, level);
end
elseif (level == 2) then
if ( this.value == "override_placement" ) then
for i = EngBags_MAX_BARS, 1, -1 do
info = {
["text"] = "Catagories within bar "..i;
["value"] = { ["opt"]="override_placement_select", ["bagnum"]=bagnum, ["slotnum"]=slotnum, ["select_bar"]=i },
["hasArrow"] = 1
};
if ( (EngInventoryConfig["item_overrides"][itm["itemlink_override_key"]] ~= nil) and (EngInventoryConfig["putinslot--"..EngInventoryConfig["item_overrides"][itm["itemlink_override_key"]]] == i) ) then
info["checked"] = 1;
end
UIDropDownMenu_AddButton(info, level);
end
elseif ( this.value == "show_debug" ) then
for key,value in pairs(itm) do
if (value == nil) then
info = { ["text"] = "|cFFFF7FFF"..key.."|r = |cFF007FFFNil|r", ["notClickable"] = 1 };
UIDropDownMenu_AddButton(info, level);
else
if ( (type(value) == "number") or (type(value) == "string") ) then
info = { ["text"] = "|cFFFF7FFF"..key.."|r = |cFF007FFF"..value.."|r", ["notClickable"] = 1 };
UIDropDownMenu_AddButton(info, level);
else
info = { ["text"] = "|cFFFF7FFF"..key.."|r|cFF338FFF=>Array()|r", ["notClickable"] = 1 };
UIDropDownMenu_AddButton(info, level);
for key2,value2 in pairs(value) do
info = { ["text"] = " |cFFFF7FFF["..key2.."]|r = |cFF338FFF"..value2.."|r", ["notClickable"] = 1 };
UIDropDownMenu_AddButton(info, level);
end
end
end
end
end
elseif (level == 3) then
if ( this.value ~= nil ) then
if ( this.value["opt"] == "override_placement_select" ) then
for key,barclass in pairs(EngInventory_Catagories(EngInventory_Catagories_Exclude_List, this.value["select_bar"])) do
info = {
["text"] = barclass;
["value"] = { ["bagnum"]=bagnum, ["slotnum"]=slotnum, ["barclass"]=barclass },
["func"] = EngInventory_RightClick_SetItemOverride
};
if (EngInventoryConfig["item_overrides"][itm["itemlink_override_key"]] == barclass) then
info["checked"] = 1;
end
UIDropDownMenu_AddButton(info, level);
end
end
end
end
0
Close at least it's in a tooltip would be nice if it was in the data broker text.
I started writing one but I can't figure out what part of the API that is.
0
Doesn't need to be anything special but since I have disabled the Blizzard raid manager I find that I miss the display of knowing how many people are in the raid and what we are waiting for.
Basically like a role check but a status
3 Healers / 1 Tank / 15 DPS
Something like that, I figure it shouldn't be too hard to write but no need to reinvent the wheel if it's already out there.
0
Comment on line 300
-- ignore named/AceConfig/XConfig/AceGUI objects
Then it works perfectly fine.
0
1. Bar Color works for buffs and debuffs until you access the configuration panel and then debuff color becomes buff color and never works properly again unless you /rl or relog.
2. It seems to track uptime on buff or debuff but does not track a proc from an item. Gurthalak being a prime example it never detects the tentacle has proc'd.
3. It doesn't properly track ppm.
Debuffbarcolor
Uptime
I know this is a lot of information but generally when I post it is what is asked for. Hopefully I can get this to track properly. If anyone can just browse over the code and see if they notice anything severely wrong I would greatly appreciate it.
I have been trying to bring this addon up to date instead of rewriting it from the ground up.
0
Maybe I'll just give PhanxBuffs a try it appears to do everything I need and more up to date.
0
I'm using an addon that allows me to move the default Buff/Debuff/Weapon Buffs but as soon as I load it up since it is skinnable this is what I end up with. No matter what skin I use the brightness never returns until disabling BF which is not an option for me.
Since as soon as it's skinned it's nearly to dark to deal with is there anything I can do to resolve this? I apologize if this is posted somewhere else in this thread I tried to search for all the key terms that someone else might have posted with no luck.
0
0
Empty anywhere at all or under a certain texture area? But yes I'm using skinner and would assume I might have empty somewhere but I'll double check.
Yes I was and would still like to, As I have certain things I don't want textures showing for. Is it limited to that or is there a way to bypass it?
0
0
Thanks
0
0
0
I took over a bag addon because it was dying out and it was the bag addon I have used since Vanilla and I couldn't continue without it. So I started cleaning it up to be more up to date code wise. The problem I'm coming up with is the Submenus 2 and 3 from the context menu.
When you control right click I get my context menu and it works perfect. When you mouse over the arrow to open the sub menu it shows up as it should. When you move the mouse across the category and into the next sub menu the menu vanishes. It's very buggy if you move the mouse really fast or back and forth sometimes you can get the 2nd and 3rd sub menus to stay visible but in most cases they just vanish and you can't just have to keep moving the mouse back over the arrow to bring then back.
I have read through this tutorial 100% and I can't find anything that would cause this or allow it. So if anyone can point me into a direction as to what I can look for I would really appreciate it. I'm pretty new to coding I dabble in it so I don't know all of it but I am learning more about it.
I can post parts of the code if there is something that would be helpful to determine it.
0
So pardon the noobness but if this is not the code you are looking for then I'm not sure exactly what you are looking for but this is the code for the context menu.
0
I'm reading the guide also thank you very much for that.