Post by bellatrix on Sept 13, 2005 12:22:36 GMT -5
Note: This post is gleaned and/or taken verbatim from the message boards at worldofwarcraft.com. Click here to see it. Now... onto the stealing...
"What the heck is all this, anyway?" (definitions and terms)
Q: No, really. What the heck are macros and addons?
A: (credit to Cairenn) Custom UIs, Macros and Scripts aren't precisely the same. They can work together, but you can also have one without having to have the other.
UIs:
A "UI", "AddOn" or "Mod" (the terms tend to be used interchangeably) is anything that provides "Modifications" or "Adds On to" the original base User Interface as supplied by Blizzard. The changes may be purely cosmetic (change the colour of the bars from the standard grey to florescent pink), may make it so you can change where or how things are displayed on the screen, may provide additional information or functionality, etc.
Macros:
Macros are series of commands designed to be executed in series.
A macro can consist of any number of /<command>s or pure text to up 255 characters. Users wishing to use more advanced commands are recommended to see the Interface Customization and World of Warcraft API sections at wowwiki.com.
Scripts:
Usually, not just in WoW, the term Script refers to a short to medium length program, written in some kind of simple programming language (called a scripting language). The purpose of a script is usually to control another program.
World of Warcraft has a powerful programming language called Lua embedded inside it, which is used for scripting. What this means is that WoW is able to understand and execute little programs written in the Lua language. However, in WoW, a script is usually not something that you use by itself, i.e. you don't just type in a script and execute it (although this is also possible). Instead, there are several places in WoW where you have the option to enter scripts as part of something else.
The kind of places that you can use a script:
/script [command] : If you type the slash command "/script" in the chat box, you can follow it with one or more valid Lua language statements (i.e. a script), separated by semi-colons (.
Macros: you can enter scripts as part of macros, by putting one or more "/script" commands in your macro.
UI mods and AddOns: You can read more about these below, but the main point is that these are all created using Lua scripts (and also XML technology, but don't worry about that right now). In all the cases where you are able to use scripts, the things you can do with the scripts are the same.
So what can a script do? There are many resources on Lua scripts (the main one being http://www.wowwiki.com); However, the most important point is that scripts are able to perform many more game actions than slash commands. This is done via a set of functions (called API or Application Programming Interface) that WoW makes available for use in scripts. There is a quite extensive list of all the API functions available for use in scripts at www.wowwiki.com
"So, you want to use some AddOns, eh?" (legality of / finding / installing / using AddOns)
Q. Is <insert name of addon here> a cheat or hack?
A. See the sticky post at the top of this forum entitled "Is a UI mod ever considered a hack?":
forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=78930&p=1&tmp=1#post78930
In particular, Trimble's post and Slouken's reply to it sums it up pretty well:
Q u o t e:
(credit Trimble) UI mods fall into two categories:
Macros - these aren't really mods at all, but they can use LUA code to do neat things in game. These are found ENTIRELY inside the game, and the code is run by blizzard's interpreter, so they make the rules on what macros can an cannot do. Therefore, blizzard won't ban someone from using any macros.
AddOns - These are extra files, put into the WoW Interface directory on your hard drive which supplement the existing LUA and XML code that blizzard created that makes up the user interface that everyone uses.
Addons are made up of LUA files, and XML files, both of which are also run by blizzard's interpreter. Therefore, blizzard won't ban someone from using any addons.
3rd party programs are actual programs that get loaded into memory and executed using their own code. They run separate from the game similar to how ICQ or MSN Messenger runs in the background. The difference is that 3rd party hacks try to read, or change data coming into or out of the WOW game client(to the network card), or they try to read or write to memory space used by the Wow Game client.
Speed hacks, for example, often interfere with data flowing from the game client to the network card by intercepting the "i am here" signal that he game client sends to the server and making it seem that the player is moving faster than they should be. The server accepts this as truth because blizzard left it up to the game client to limit how fast you can go. (oops blizzard?) This strange design is caused by a need to let the game client do some of the work because the server is too busy to be expected to do everything.
Anyway, the distinction in 3rd party hacks is usually the fact that hacks run as their own programs and interfere with the game client.
Mods aren't anything more than REALLY extravagant macros.
(Note: Cosmos is known to have an external EXE file that gets run as it's own code - however, it doesn't interfere with the game client - in fact, all it does is download LUA and XML files, puts them in the right places, then QUITS long before the WoW game client even starts.)
Q u o t e:
(Slouken) This is a very good explanation of things as I understand them. However, I am not involved in policy and I'm not a lawyer.
While we've done our best not to penalize people who use the scripting interface, even in ways that aren't intended, it's conceivable that at some point someone will find a way to use them that is against the terms of use (e.g. is hurting other people's play experience), and is something we can't disable. In that case it's possible that we might warn people that using the addon is against the terms of use, and if they continue to do so, some action would be taken.
If you haven't been explicitly warned by a GM, or seen an official blizzard response about an addon or UI modification, then don't worry about it.
Q: So, there's like, this addon, or something, that does this really cool thing, but I'm not going to give you a screenshot or better description... tell me what it is!
A: Um, no. We have better things to do than try to read your mind. Go browse some of the mod hosting sites listed below and you'll likely find what you're looking for (and much more besides!) Give us a detailed description and we might know what you are looking for.
Q: Where can I download some AddOns?
A: (credit to Cairenn) There are a number of Mod Hosting sites:
WoWInterface.com: www.wowinterface.com/
WoWGuru: www.wowguru.com/
WorldofWar UI section: ui.worldofwar.net/
Curse Gaming: www.curse-gaming.com/mod.php
And, of course, the sticky thread at the top of this forum: forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=2626&p=1&tmp=1#post2626
Plus all of the mods that are self-hosted, most of which can be found by browsing through this forum.
Q: X mod hosting site is down, where can I get Y mod?
A: Try one of the other mod sites listed above, or do a google search for the name of the mod you want.
Q: What is the best UI?
Q: What is the best UI for <insert your class here>?
A: (credit to Cairenn) Remember that when you are asking about "the best UI", while people can point you to the mod they prefer, it is just that, a personal preference.
Person A prefers Mod/Compilation X. Person B doesn't like Mod/Compilation X, they prefer Mod/Compilation Y. Person C uses stand-alones only, and mixes and matches to get their desired result, etc and so on ...
Examples of mods:
CTMod, GyspyMod, BloodEagles Recompilation, FlexBar, Insomniax Recompilation, Cosmos, SvartenUI, UltimateUI (UUI), BibMod, Telo’s Mods, MonkeyMods, MiniGroup, Woofiest Compilation, etc, etc, etc. (Please note, this is definitely not anywhere near a "complete" list, there are many many many others. A large number of the ones I've got listed there are suites/compliations, an example listing of stand-alones would be absolutely freaking huge. The ones I listed aren't in any particular order. This is just a very small sample listing to give you an idea of the fact that there are tons out there.)
You have to figure out which one gives you the options you want, or mix and match to get what you want. Check out different mods, find what works for you.
Q: I downloaded an AddOn but I'm not sure how to get it working in-game, help!
Q: I downloaded an AddOn but it's not showing up under the [AddOns] button in the character select screen, help!
A: (credit to Cairenn) From the FAQ at WoWInterface.com:
0. Be logged out of the game
1. Download your chosen interface
2. Extract the files to a folder on your desktop. Make sure that you "retain directory structure".
3. Open your WoW folder.
If using a PC, the typical default install path is:
C:\Program Files\World of Warcraft
If using a Macintosh, the typical default install path is:
Macintosh Main HD (or whatever you renamed it to, if you did)/Applications/World of Warcraft
4. In the WoW folder, create a new folder called Interface (if it doesn’t already exist)
5. Open that folder, create another one inside it, called AddOns (again, if it doesn’t already exist)
6. Open the AddOns folder
7. Copy the files from the folder on your desktop into the AddOns folder
8. Your final path should look like:
PC:
C:\Program Files\World of Warcraft\Interface\AddOns\< ModAFolderName >\< files >
C:\Program Files\World of Warcraft\Interface\AddOns\< ModBFolderName >\< files >
C:\Program Files\World of Warcraft\Interface\AddOns\< ModCFolderName >\< files >
Mac:
Macintosh HD/Applications/World of Warcraft/Interface/Addons/< ModAFolderName >/< files >
Macintosh HD/Applications/World of Warcraft/Interface/Addons/< ModBFolderName >/< files >
Macintosh HD/Applications/World of Warcraft/Interface/Addons/ < ModCFolderNaem >/< files >
(where < ModAFolder > < .B. > < .C. > are the names of the actual folders that the mods create)
9. Log into game. At the character select screen, there should be an "AddOns" button in the lower left corner. Click on that. If any of the mods in the list that pops up say "out of date" or some such, choose the "Load Outdated AddOns" option.
10. Log the rest of the way into game, you should be up and running now.
Q: Um. This zip file I downloaded doesn't have any folders... just a bunch of files. What should I do?
A: (credit to Syllani) One of the files in the zip should have the .toc extension (i.e., there should be a file with a name similar to NameOfTheMod.toc). Simply create a new folder under your Interface/AddOns/ directory with the same name (NameOfTheMod), and place all the zipped files into that new folder.
"Marco?" "Polo!" "I mean Macro!" (creating / using Macros)
A listing of some of the most commonly asked about Macros can be found here:
forums.worldofwarcraft.com/thread.aspx?ForumName=wow-interface-customization&ThreadID=211980
Q: How do I create a macro? (credit to Trimble)
A: In a chat box, start by typing /macro. then click NEW, give it a name and an icon, and then start entering some commands.
Q: What is the best way to know the exact spelling of a spell to cast? (credit to Trimble)
A: Open your spellbook along side your macro editor. Position the edit cursor in the macro window, and then hold down the SHIFT key while you LEFT click on a spell icon in your spellbook, and the game will type in the correct /cast spellname command for you. You can then cut/paste or edit it if needed.
Q: How can I make a conditional macro? (credit to Trimble)
A: To use conditionals, you'll need to invoke the LUA interpreter. To do that, you start a macro with "/script" Anything after /script will be run as lua code (or a 'chunk' as lua calls it). It is VERY important to keep all parts of a Lua chunk on ONE LINE in a macro, and make it fit within 255 characters.
You can then use the "if then end" codeblock to complete your macro. it should look similar to this when you're done:
/script if UnitName('target') == 'fred' then CastSpellByName('Healing Touch(Rank 1)') end
Note the use of "end" at the end. it's important to Lua.
Also, note that when using Lua code, you can't use /cast to cast a spell - you have to use the CastSpellByName() "function". Luckily, CastSpellByName accepts the exact spelling of the spellname given to you by the shift-click method I mentioned above (remember, you can cut and paste after using the shift-click trick). Additionally, there is another function called CastSpell(), but you must know the SPELL NUMBER to use it.
Also notice the part that says 'target'. this is a placeholder that WoW uses to represent whatever your target it. It's a kind of variable, but it isn't a Lua variable. Other placeholders are 'player', meaning yourself (no matter what your name is), 'party1' through 'party4' meaning your groupmates, and 'pet' which means your pet. MANY wow Lua functions accept these placeholders as arguments, but they are NOT Lua variables - they are more like literals to Lua. This means that while UnitName('player') is valid, UnitName(player) is not valid unless you created a Lua variable called player and did a statement like this player = 'player' to make it contain a valid placeholder value.
Q: When using Lua script code, do I need to end each line with a semicolon? (credit to Trimble)
A: Lua doesn't require this, but you may do so if you like. It does make it easier to read, but Lua does have strict enough syntax that it can understand commands without semicolons. Even something as ugly as this is legal: /script a =5 b =6 Message(a..b)c= a +b
Q: Can I make a conditional macro that does something if I have a certain buff? (credit to Trimble)
A: It's possible, but WoW's UI doesn't come with a simple function to check for a buff. There are ways to do it, but it's tricky. The best way is to use an addon that provides this function and then use it in your macros.
NOTE: Do a search on curse-gaming.com for the IsBuffActive AddOn; this will provide you with an extremely simple method of checking for buffs on yourself or others.
Q: How do I output text to the chat window?
A: use DEFAULT_CHAT_FRAME:AddMessage(msg,r,g,b)
This is easier if you alias it something like:
cprint = DEFAULT_CHAT_FRAME:AddMessage
then you can use cprint("foo",1,0,0) or the like.
where msg is the text, r,g,b are red,green,blue (0-1) and a is alpha (0-1)
"Extremely popular mods" (main sites for mods that are asked about alll the time)
Many of these are available at the major hosting sites listed above, but not all, and those that are also have their own support forums, etc, listed here:
Cosmos: www.cosmosui.org/
FlexBar: www.savagevines.com/flexbar/
Insomniax: www.insomniax.net/
Telo's: forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=93362&p=1&tmp=1#post93362
Scrolling Combat Text: rjhaney.pair.com/sct/
Auctioneer: auctioneeraddon.com/
Enchantrix: enchantrix.sourceforge.net/
Gatherer: gatherer.sf.net/
MiniGroup: wow.jaslaughter.com/ (sometimes requires a re-load of the page to get it to come up)
CTMod: www.ctmod.net/news.ct (Main forums at WoWInterface.com)
GypsyMod: gypsymod.the-mad.net/
UUI: www.wowguru.com/forums/forumdisplay.php?f=71
"What the heck is all this, anyway?" (definitions and terms)
Q: No, really. What the heck are macros and addons?
A: (credit to Cairenn) Custom UIs, Macros and Scripts aren't precisely the same. They can work together, but you can also have one without having to have the other.
UIs:
A "UI", "AddOn" or "Mod" (the terms tend to be used interchangeably) is anything that provides "Modifications" or "Adds On to" the original base User Interface as supplied by Blizzard. The changes may be purely cosmetic (change the colour of the bars from the standard grey to florescent pink), may make it so you can change where or how things are displayed on the screen, may provide additional information or functionality, etc.
Macros:
Macros are series of commands designed to be executed in series.
A macro can consist of any number of /<command>s or pure text to up 255 characters. Users wishing to use more advanced commands are recommended to see the Interface Customization and World of Warcraft API sections at wowwiki.com.
Scripts:
Usually, not just in WoW, the term Script refers to a short to medium length program, written in some kind of simple programming language (called a scripting language). The purpose of a script is usually to control another program.
World of Warcraft has a powerful programming language called Lua embedded inside it, which is used for scripting. What this means is that WoW is able to understand and execute little programs written in the Lua language. However, in WoW, a script is usually not something that you use by itself, i.e. you don't just type in a script and execute it (although this is also possible). Instead, there are several places in WoW where you have the option to enter scripts as part of something else.
The kind of places that you can use a script:
/script [command] : If you type the slash command "/script" in the chat box, you can follow it with one or more valid Lua language statements (i.e. a script), separated by semi-colons (.
Macros: you can enter scripts as part of macros, by putting one or more "/script" commands in your macro.
UI mods and AddOns: You can read more about these below, but the main point is that these are all created using Lua scripts (and also XML technology, but don't worry about that right now). In all the cases where you are able to use scripts, the things you can do with the scripts are the same.
So what can a script do? There are many resources on Lua scripts (the main one being http://www.wowwiki.com); However, the most important point is that scripts are able to perform many more game actions than slash commands. This is done via a set of functions (called API or Application Programming Interface) that WoW makes available for use in scripts. There is a quite extensive list of all the API functions available for use in scripts at www.wowwiki.com
"So, you want to use some AddOns, eh?" (legality of / finding / installing / using AddOns)
Q. Is <insert name of addon here> a cheat or hack?
A. See the sticky post at the top of this forum entitled "Is a UI mod ever considered a hack?":
forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=78930&p=1&tmp=1#post78930
In particular, Trimble's post and Slouken's reply to it sums it up pretty well:
Q u o t e:
(credit Trimble) UI mods fall into two categories:
Macros - these aren't really mods at all, but they can use LUA code to do neat things in game. These are found ENTIRELY inside the game, and the code is run by blizzard's interpreter, so they make the rules on what macros can an cannot do. Therefore, blizzard won't ban someone from using any macros.
AddOns - These are extra files, put into the WoW Interface directory on your hard drive which supplement the existing LUA and XML code that blizzard created that makes up the user interface that everyone uses.
Addons are made up of LUA files, and XML files, both of which are also run by blizzard's interpreter. Therefore, blizzard won't ban someone from using any addons.
3rd party programs are actual programs that get loaded into memory and executed using their own code. They run separate from the game similar to how ICQ or MSN Messenger runs in the background. The difference is that 3rd party hacks try to read, or change data coming into or out of the WOW game client(to the network card), or they try to read or write to memory space used by the Wow Game client.
Speed hacks, for example, often interfere with data flowing from the game client to the network card by intercepting the "i am here" signal that he game client sends to the server and making it seem that the player is moving faster than they should be. The server accepts this as truth because blizzard left it up to the game client to limit how fast you can go. (oops blizzard?) This strange design is caused by a need to let the game client do some of the work because the server is too busy to be expected to do everything.
Anyway, the distinction in 3rd party hacks is usually the fact that hacks run as their own programs and interfere with the game client.
Mods aren't anything more than REALLY extravagant macros.
(Note: Cosmos is known to have an external EXE file that gets run as it's own code - however, it doesn't interfere with the game client - in fact, all it does is download LUA and XML files, puts them in the right places, then QUITS long before the WoW game client even starts.)
Q u o t e:
(Slouken) This is a very good explanation of things as I understand them. However, I am not involved in policy and I'm not a lawyer.
While we've done our best not to penalize people who use the scripting interface, even in ways that aren't intended, it's conceivable that at some point someone will find a way to use them that is against the terms of use (e.g. is hurting other people's play experience), and is something we can't disable. In that case it's possible that we might warn people that using the addon is against the terms of use, and if they continue to do so, some action would be taken.
If you haven't been explicitly warned by a GM, or seen an official blizzard response about an addon or UI modification, then don't worry about it.
Q: So, there's like, this addon, or something, that does this really cool thing, but I'm not going to give you a screenshot or better description... tell me what it is!
A: Um, no. We have better things to do than try to read your mind. Go browse some of the mod hosting sites listed below and you'll likely find what you're looking for (and much more besides!) Give us a detailed description and we might know what you are looking for.
Q: Where can I download some AddOns?
A: (credit to Cairenn) There are a number of Mod Hosting sites:
WoWInterface.com: www.wowinterface.com/
WoWGuru: www.wowguru.com/
WorldofWar UI section: ui.worldofwar.net/
Curse Gaming: www.curse-gaming.com/mod.php
And, of course, the sticky thread at the top of this forum: forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=2626&p=1&tmp=1#post2626
Plus all of the mods that are self-hosted, most of which can be found by browsing through this forum.
Q: X mod hosting site is down, where can I get Y mod?
A: Try one of the other mod sites listed above, or do a google search for the name of the mod you want.
Q: What is the best UI?
Q: What is the best UI for <insert your class here>?
A: (credit to Cairenn) Remember that when you are asking about "the best UI", while people can point you to the mod they prefer, it is just that, a personal preference.
Person A prefers Mod/Compilation X. Person B doesn't like Mod/Compilation X, they prefer Mod/Compilation Y. Person C uses stand-alones only, and mixes and matches to get their desired result, etc and so on ...
Examples of mods:
CTMod, GyspyMod, BloodEagles Recompilation, FlexBar, Insomniax Recompilation, Cosmos, SvartenUI, UltimateUI (UUI), BibMod, Telo’s Mods, MonkeyMods, MiniGroup, Woofiest Compilation, etc, etc, etc. (Please note, this is definitely not anywhere near a "complete" list, there are many many many others. A large number of the ones I've got listed there are suites/compliations, an example listing of stand-alones would be absolutely freaking huge. The ones I listed aren't in any particular order. This is just a very small sample listing to give you an idea of the fact that there are tons out there.)
You have to figure out which one gives you the options you want, or mix and match to get what you want. Check out different mods, find what works for you.
Q: I downloaded an AddOn but I'm not sure how to get it working in-game, help!
Q: I downloaded an AddOn but it's not showing up under the [AddOns] button in the character select screen, help!
A: (credit to Cairenn) From the FAQ at WoWInterface.com:
0. Be logged out of the game
1. Download your chosen interface
2. Extract the files to a folder on your desktop. Make sure that you "retain directory structure".
3. Open your WoW folder.
If using a PC, the typical default install path is:
C:\Program Files\World of Warcraft
If using a Macintosh, the typical default install path is:
Macintosh Main HD (or whatever you renamed it to, if you did)/Applications/World of Warcraft
4. In the WoW folder, create a new folder called Interface (if it doesn’t already exist)
5. Open that folder, create another one inside it, called AddOns (again, if it doesn’t already exist)
6. Open the AddOns folder
7. Copy the files from the folder on your desktop into the AddOns folder
8. Your final path should look like:
PC:
C:\Program Files\World of Warcraft\Interface\AddOns\< ModAFolderName >\< files >
C:\Program Files\World of Warcraft\Interface\AddOns\< ModBFolderName >\< files >
C:\Program Files\World of Warcraft\Interface\AddOns\< ModCFolderName >\< files >
Mac:
Macintosh HD/Applications/World of Warcraft/Interface/Addons/< ModAFolderName >/< files >
Macintosh HD/Applications/World of Warcraft/Interface/Addons/< ModBFolderName >/< files >
Macintosh HD/Applications/World of Warcraft/Interface/Addons/ < ModCFolderNaem >/< files >
(where < ModAFolder > < .B. > < .C. > are the names of the actual folders that the mods create)
9. Log into game. At the character select screen, there should be an "AddOns" button in the lower left corner. Click on that. If any of the mods in the list that pops up say "out of date" or some such, choose the "Load Outdated AddOns" option.
10. Log the rest of the way into game, you should be up and running now.
Q: Um. This zip file I downloaded doesn't have any folders... just a bunch of files. What should I do?
A: (credit to Syllani) One of the files in the zip should have the .toc extension (i.e., there should be a file with a name similar to NameOfTheMod.toc). Simply create a new folder under your Interface/AddOns/ directory with the same name (NameOfTheMod), and place all the zipped files into that new folder.
"Marco?" "Polo!" "I mean Macro!" (creating / using Macros)
A listing of some of the most commonly asked about Macros can be found here:
forums.worldofwarcraft.com/thread.aspx?ForumName=wow-interface-customization&ThreadID=211980
Q: How do I create a macro? (credit to Trimble)
A: In a chat box, start by typing /macro. then click NEW, give it a name and an icon, and then start entering some commands.
Q: What is the best way to know the exact spelling of a spell to cast? (credit to Trimble)
A: Open your spellbook along side your macro editor. Position the edit cursor in the macro window, and then hold down the SHIFT key while you LEFT click on a spell icon in your spellbook, and the game will type in the correct /cast spellname command for you. You can then cut/paste or edit it if needed.
Q: How can I make a conditional macro? (credit to Trimble)
A: To use conditionals, you'll need to invoke the LUA interpreter. To do that, you start a macro with "/script" Anything after /script will be run as lua code (or a 'chunk' as lua calls it). It is VERY important to keep all parts of a Lua chunk on ONE LINE in a macro, and make it fit within 255 characters.
You can then use the "if then end" codeblock to complete your macro. it should look similar to this when you're done:
/script if UnitName('target') == 'fred' then CastSpellByName('Healing Touch(Rank 1)') end
Note the use of "end" at the end. it's important to Lua.
Also, note that when using Lua code, you can't use /cast to cast a spell - you have to use the CastSpellByName() "function". Luckily, CastSpellByName accepts the exact spelling of the spellname given to you by the shift-click method I mentioned above (remember, you can cut and paste after using the shift-click trick). Additionally, there is another function called CastSpell(), but you must know the SPELL NUMBER to use it.
Also notice the part that says 'target'. this is a placeholder that WoW uses to represent whatever your target it. It's a kind of variable, but it isn't a Lua variable. Other placeholders are 'player', meaning yourself (no matter what your name is), 'party1' through 'party4' meaning your groupmates, and 'pet' which means your pet. MANY wow Lua functions accept these placeholders as arguments, but they are NOT Lua variables - they are more like literals to Lua. This means that while UnitName('player') is valid, UnitName(player) is not valid unless you created a Lua variable called player and did a statement like this player = 'player' to make it contain a valid placeholder value.
Q: When using Lua script code, do I need to end each line with a semicolon? (credit to Trimble)
A: Lua doesn't require this, but you may do so if you like. It does make it easier to read, but Lua does have strict enough syntax that it can understand commands without semicolons. Even something as ugly as this is legal: /script a =5 b =6 Message(a..b)c= a +b
Q: Can I make a conditional macro that does something if I have a certain buff? (credit to Trimble)
A: It's possible, but WoW's UI doesn't come with a simple function to check for a buff. There are ways to do it, but it's tricky. The best way is to use an addon that provides this function and then use it in your macros.
NOTE: Do a search on curse-gaming.com for the IsBuffActive AddOn; this will provide you with an extremely simple method of checking for buffs on yourself or others.
Q: How do I output text to the chat window?
A: use DEFAULT_CHAT_FRAME:AddMessage(msg,r,g,b)
This is easier if you alias it something like:
cprint = DEFAULT_CHAT_FRAME:AddMessage
then you can use cprint("foo",1,0,0) or the like.
where msg is the text, r,g,b are red,green,blue (0-1) and a is alpha (0-1)
"Extremely popular mods" (main sites for mods that are asked about alll the time)
Many of these are available at the major hosting sites listed above, but not all, and those that are also have their own support forums, etc, listed here:
Cosmos: www.cosmosui.org/
FlexBar: www.savagevines.com/flexbar/
Insomniax: www.insomniax.net/
Telo's: forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=93362&p=1&tmp=1#post93362
Scrolling Combat Text: rjhaney.pair.com/sct/
Auctioneer: auctioneeraddon.com/
Enchantrix: enchantrix.sourceforge.net/
Gatherer: gatherer.sf.net/
MiniGroup: wow.jaslaughter.com/ (sometimes requires a re-load of the page to get it to come up)
CTMod: www.ctmod.net/news.ct (Main forums at WoWInterface.com)
GypsyMod: gypsymod.the-mad.net/
UUI: www.wowguru.com/forums/forumdisplay.php?f=71