Elitist Jerks

Elitist Jerks (http://elitistjerks.com/forums.php)
-   Theorycrafting Think Tank (http://elitistjerks.com/f47/)
-   -   Macros for Raid Leaders (http://elitistjerks.com/f47/t17831-macros_raid_leaders/)

Anias 11/04/07 12:37 PM

Macros for Raid Leaders
 
The World of Warcraft interface provides a robust macro system in addition to it's addon options. This article should provide some useful macros for prospective raid leaders. For more information about the macro interface, consult Macros At WoWWiki

[top]List raid members below 9500 HP


Note that this includes offline/ungrouped players; you can change 8 to 5 if you only use the first 5 groups. Obviously you can change the 9500 to whatever hp value you want to check.
Code:

/script
for i = 1, 40 do
    local u = "raid"..i;
    local hp = UnitHealthMax(u);
    local _, _, grp = GetRaidRosterInfo(i);
    if UnitExists(u) and hp < 9500 and grp <= 8 then
        ChatFrame1:AddMessage(UnitName(u)..": "..hp.." HP");
    end
end


[top]Print the raid id of the targeted player


Admittedly this is more useful for macro-building than direct raid leading, but it can be useful if you want to make a macro to assign raid targets to specific people by using the "raidN" identifier.
Code:

/script
for i=1,40 do
    if UnitName("target") == UnitName("raid"..i) then
        ChatFrame1:AddMessage(UnitName("target")..": raid"..i);
    end
end


Slake 11/05/07 10:29 PM

So, my statement about changing the 40 to 25 to only test the first 5 groups is incorrect because of the way raid ID's are assigned. A slightly more advanced version that accurately restricts the check to the first five groups and doesn't generate errors is as follows:

Code:

/script
for i = 1, 40 do
    local u = "raid"..i;
    local hp = UnitHealthMax(u);
    local _, _, grp = GetRaidRosterInfo(i);
    if UnitExists(u) and hp < 9500 and grp <= 5 then
        ChatFrame1:AddMessage(UnitName(u)..": "..hp.." HP");
    end
end


Slake 01/13/08 12:09 PM

This is a bloodboil macro I have had kicking around for a while but never got around to putting up here. More generically, it can be used for any situation that requires you to mark three groups in a cycle.

What it does is, on the first press, puts raid symbols (the first five) on each person in group 2, then on subsequent presses moves the raid symbols to people in group 3, then 4, then back to 2, then 3, then 4, etc etc. Basically, hit it every time a bloodboil happens and it'll do the marking for you. If you don't want it to be 2-3-4, but rather 1-2-3 or 3-4-5 or what have you, you can change the '+2' bit in the first assignment up or down respectively.

Code:

/script
bbgn=mod((bbgn or 1)-1,3)+2;
local t = 1;
for i=1,40 do
    local _,_,g = GetRaidRosterInfo(i);
    if g==bbgn then
        SetRaidTarget("raid"..i,t);
        t=t+1;
    end
end
SendChatMessage("Bloodboil Group "..bbgn,"RAID_WARNING");

Hopefully someone finds this helpful.

WinchesterSH 04/25/08 1:01 AM

i don't want to seem daft but.
"Type '/help' for a listing of a few commands." is all im getting.

coldbear 04/29/08 10:39 PM

?
 
Unable to get raid hp <9500 macro to work.

Will continue to work on it, thinking that the formatting from what you copy/pasted and how it is displayed in this format is to blame, as is usually the case afaik.

In either case, feel free to enlighten us noobs out here in the wasteland.

buddhasevil 05/02/08 7:02 PM

I just tried this macro, and it did nothing more than litter my Gchat with the actual macro text. More than likely its user error. Is there some formating I am not getting?

promdates 05/02/08 9:36 PM

You have to do it like this:

Code:

/script for i = 1, 40 do local u = "raid"..i; local hp = UnitHealthMax(u); local _, _, grp = GetRaidRosterInfo(i); if UnitExists(u) and hp < 9500 and grp <= 5 then ChatFrame1:AddMessage(UnitName(u)..": "..hp.." HP"); end end

buddhasevil 05/02/08 9:58 PM

Thank you, very useful macro. = )

Mee 05/08/08 12:31 AM

/script bbgn=mod((bbgn or 1)-1,3)+2; local t = 1; for i=1,40 do local _,_,g = GetRaidRosterInfo(i); if g==bbgn then SetRaidTarget("raid"..i,t); t=t+1; end end SendChatMessage("Bloodboil Group "..bbgn,"RAID_WARNING");




^^ try that for the BB Macro. <3 <3

Hybred 07/02/08 1:15 AM

/script bbgn=mod((bbgn or 1)-1,3)+2; local t = 1; for i=1,40 do local _,_,g = GetRaidRosterInfo(i); if g==bbgn then SetRaidTarget("raid"..i,t); t=t+1; end end SendChatMessage("Bloodboil Group "..bbgn,"RAID_WARNING");

I tried using this macro just for fun, but when I change the +2 to +3 it goes Group 3 - 5 - 4... Why would it do this?

Elvenbane 07/05/08 7:47 PM

Announce target in raid warning including raid icon
Code:

/script local i,s,g,u,c={"star","circle","diamond","triangle","moon","square","cross","skull"},SendChatMessage,GetRaidTargetIndex("target"),UnitName("target"),"RAID_WARNING" if g then s("Target: {"..i[g].."} "..u,c)else s("Target: "..u,c)end

Mutant 01/10/10 11:29 PM

Picked this up from wowwiki (?) the other day

/run nf="[Flask!]: ";for i=1,GetNumRaidMembers()do for b=1,41 do ufl=UnitAura('raid'..i,b);if ufl then if strfind(ufl,"Flask")then break;end;elseif b==41 then nf=nf..UnitName('raid'..i).." ";end;end;end;SendChatMessage(nf,"raid");

For checking flasks


All times are GMT -4. The time now is 7:33 PM.

Forum Infrastructure by vBulletin 3.6.12 ©2000-2007, Jelsoft Enterprises Ltd.