 |
| Welcome to Elitist Jerks |
We're testing some new features on the site regarding OpenID registration and coordination with gamerDNA. If you experience any issues with registering an account, please take the time to fill out a report and send it to this e-mail address. We would appreciate any assistance you could provide in making sure everything is functioning as intended. Thanks!
If this is your first visit, please be sure to check out the FAQ and the forum rules. Users must register to post and new registrations are subject to a one day "mute" period to get acquainted with the community.
|
|
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.
/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.
/script
for i=1,40 do
if UnitName("target") == UnitName("raid"..i) then
ChatFrame1:AddMessage(UnitName("target")..": raid"..i);
end
end
|
Contributors:
|
Created by Anias, 11/04/07 at 1:37 PM
Last edited by Anias, 11/06/07 at 8:02 AM
10 Comments
, 48724 Views
|
|
|
|
11/05/07, 11:29 PM
|
#2
|
|
Bloodsail 4 Life
Night Elf Death Knight
Spirestone
|
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:
/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
|
|
|
|
|
01/13/08, 1:09 PM
|
#3
|
|
Bloodsail 4 Life
Night Elf Death Knight
Spirestone
|
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.
/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.
|
|
|
|
|
04/25/08, 2:01 AM
|
#4
|
|
Glass Joe
Draenei Paladin
Shattered Halls (EU)
|
i don't want to seem daft but.
"Type '/help' for a listing of a few commands." is all im getting.
|
|
|
|
|
|
04/29/08, 11:39 PM
|
#5
|
|
Von Kaiser
Night Elf Druid
Ravenholdt
|
?
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.
|
|
|
|
|
|
05/02/08, 8:02 PM
|
#6
|
|
Glass Joe
Blood Elf Paladin
Boulderfist
|
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?
|
Why is everybody automatically given 300/300 skill common language? Chat channels prove, not everybody deserves it...
|
|
|
|
05/02/08, 10:36 PM
|
#7
|
|
King Beard!
|
You have to do it like this:
/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
|
"On a scale of one to mein kampf, how many racists does it take to make a guild look terrible?"
[03:28] L_J: it's "olololo hero class"
[01:09:39] <DeeNogger> Any of the resident grammer nazis on right now?
|
|
|
|
05/02/08, 10:58 PM
|
#8
|
|
Glass Joe
Blood Elf Paladin
Boulderfist
|
Thank you, very useful macro. = )
|
Why is everybody automatically given 300/300 skill common language? Chat channels prove, not everybody deserves it...
|
|
|
|
05/08/08, 1:31 AM
|
#9
|
|
Glass Joe
|
/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
|
|
|
|
|
|
07/02/08, 2:15 AM
|
#10
|
|
Glass Joe
Blood Elf Priest
Stormreaver
|
/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?
|
|
|
|
|
|
07/05/08, 8:47 PM
|
#11
|
|
Glass Joe
Night Elf Priest
Vek'nilash
|
Announce target in raid warning including raid icon
/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
|
|
|
|
|
|
|