상세 컨텐츠

본문 제목

Wow Addons How To

카테고리 없음

by telweapharsync1989 2020. 2. 7. 19:15

본문

So you want to create your very own addon do you? Here's a few things you should know before you start. It is not going to be a quick thing.

  1. Wow Addons How To Open
  2. Wow Addons Top

Many Kodi Addons for the Price of One: FREE. The WOW addon functions as a build of sorts with its conglomeration of other popular add-ons all available under one great interface. The Rewards of Safe Streaming. If you’re looking to cut the cord and seeking good free alternatives, give WOW Kodi addon a try. Make sure your Details! Version is at (or is greater) v8.0.1.6131.132. Most powerful, reliable, handsome, damage meter for World of Warcraft. You may support Details! Development with: Easy Setup. Options panel with clear navigation, open and close windows at a glance, bookmark favorite displays.

It will most likely not be a do it and forget kind of thing, unless you only plan on using it yourself. It is programming. If you don't like programming you probably won't like creating an addon.

You WILL have to debug your addon. Getting it right the first time is very rareIf you're fine with those things, then let's get started. This guide will go over quite a few things, everything from getting started and some basic Lua programming information, to more complex topics like storing data between user sessions.

As a result, I will be splitting up this guide into multiple sections with a table of contents to make browsing this guide a little bit easier (I may miss things, and I plan on updating this, so feel free to let me know in a PM if I missed something)What this guide will cover, and what it won'tThis guide is intended to be for beginning to moderate addon authors/programmers. It will go over just enough to help you get started with creating and working with your addon. It won't go over (somewhat) advanced topics like graphical interfaces or profiles or the like.Table of Contents. Getting Started. Lua Basics. The Core Addon. Making Your Addon Do Something Useful.

Storing Information. Working with LibrariesGetting StartedThis section will go over getting your computer set up to create your addon.So first things first:Setting up your environment:You need two main things. 1, a program in which to code your addon, and 2, a good WoW environment in which to code your addon.1. Programs:There are many programs you can use to program. Personally I like to use Notepad as it's lightweight and easy to install You can also use regular notepad if you would rather, or even larger programs like Adobe Dreamweaver.Any of these will work, but if you use notepad you have to remember when you're saving your code to switch the save as file type to All Files from.txt so you can save your file as a.lua file.2.

A Good WoW Environment:I personally like to have a completely separate WoW installation specifically for creating and debugging my addon. That way my coding doesn't affect my playing of the game, and overall I think it makes it simpler.

The easiest way to do this (if you have space) is to just copy your whole WoW folder over to another folder. (If you want to save time, I would strongly recommend you don't copy over your Interface and Cache folders.

They are created the first time you start the game and it will save a TON of time in copying)2.1. Semi-Essential Addons:In order to debug and other things that make coding easier, I find it's best to have the following:1. Or your favorite chat mod2. AndBeyond that it is up to personal preference, but keep in mind that the more addons you have, the longer it will take to reload your UI and the longer it will take to debug your addonThats it for Getting Started. Feel free to go on if you have the time or are still interested.Lua BasicsThis section will go over some of the basics for Lua programming.Lua Programming is similar to other languages, so if you already know a few it should come fairly quickly. If not, you'll get there.Some basic things to knowPlease note that I'm only going over the extreme basics here.

Wow Addons How To Open

Is a full list and explanation for pretty much everything you need to know about Lua programming.Lua is a very flexible programming language compared to some. It's main functionality comes from five main things: Tables, Functions, Variables, if statements and loops. Those five things are the main things you need to know, and are just what I'll go over now.Functions:A function is a bit of code which is run whenever the name of the function is called somewhere in code.

There are two ways to define a function. Code: local printf = function (arguments)-do stuffendBoth ways are equally valid. Way one is defined more like you would define a function in VB whereas way two is defined more like a variable would be defined.Variables:Variables are a object that you assign a value that you can change or read at any time. You can think of it like a coin. A coin would have two values, Heads or Tails which you can read by looking at which side is face up.

You can also change the value that you read by changing which side is facing up manually.There is one thing you have to do before you can read the value of a variable, and that is setting it's default value. You can do that by the following. Code: print(variable)the above would print the value of the variable into the main chat frame (General if you have the default set up). Note that the variable can be called whatever you like, and does not have to be a real word.

Gmeta is just as acceptable. (There are some limitations, but I won't get into that here)Variables, when defined, are given a type based on the value you give it. Enclosing text in quotation marks will identify the value as a string (and it will be read as a string value, hence letting you use any string-based functions on it, such as substr.) Variables which are numbers are defined by setting the variable equal to a number (with no quotes)Variables can also be set to nil, which indicates that you no longer wish to use that variable and it will be cleared from the system memory. If you try to read the value of a nil or undefined function, it will return nil.Tables:Tables are a way to contain multiple pieces of information. It's very helpful to use tables to organize information in a way which makes logical sense, rather than having a thousand different variables with unique names.

(Note that tables are very similar to arrays in other programming languages, but there are some key differences)First, you have to declare your table. You can do that by the following. Code: if variable operator variable2 then-Do StuffendAn operator can be many things. Here's a list:. variable is equal to variable2. = variable is greater than or equal to variable2.

variable is greater than (but not equal to) variable2. = variable is not equal to variable2For a full list (as well as limitations and more complex ideas), check out the Lua Manual and the sections on OperatorsLoops:There are two types of loops, a while loop, and a for loop.A while loop executes it's code while the logic you give it returns true. 1 0 returns true always) After executing the code once, it will check whether the logic provided by you returns true or false. If it's true, it executes the code again. If it's false, it will exit the loop and go on to the next thing. Code: for key,value in pairs(table) do- Stuff to do with keys and valuesendThis is a fairly complex statement.

Pairs is a function which takes an argument table and then returns an array of keys and values from that table. By using that with the for loop, you can step through each key,value pair and do stuff with that information.

(Example: Stepping through a table of stored dates and events, and finding the date that an event happened. (the event would be the value, and the date would be the key in this example))The for loop is very powerful and while somewhat complex, is very useful once you understand what it can do. (Note that a for loop is identical to a while loop that sets a default value and increases the value in it's execution)Differences Between Local and Global Tables, Functions and VariablesIn the code examples I've given up to this point, I've kept everything local, and there is a pretty good reason to doing so, but there are some limitations as a result.When WoW loads all of it's addons, it does so once at a time and executes all of the code in every addon before you even enter the game-world. As a result, you do not know whether your addon is loaded first, or whether it is loaded last.The advantage to local Tables Functions and Variables is that you do not have to worry that your code will be overwritten by other addons, and thus it reduces the chance of incompatibility between addons. The limitation is that these local functions variables and tables can only be called by your addon, and cannot be accessed by other addons, or by the game.The advantage with global variables is that, assuming you give it a unique name, you can access it with other addons.

That would enable you to print the value of your variables to your chat frame to help make debugging easier. It also enables limited communication between addons. (And can also increase the extensibility of your addon with limited work on your part)An important point: (Thanks Treeston)In addition, by defining your functions inside a global variable unique to your addon, you can gain access to the advantages of global variables while still preventing the disadvantages of using global variables.For example, by defining a global variable WhyHelloThar at the beginning of my code, and then adding all of my functions to that global variable, I can reference those functions through other addons/code outside of my addon. Code: ## Interface: 40000## Title: WhyHelloThar## Author: Brusalk## Dependencies: Ace3## OptDeps: BugSack,!Swatter## SavedVariables: mySavedVarWhyHelloThar.luaThe first line defines which version of WoW this addon is intended for. The 40000 means that this addon was designed to be used in WoW Version 4.0, but may work for more recent versions.The Title line defines the name of the addon as it is referenced both in game and in the list of addons on the character selection menu. Make sure this is unique to your addon.The author line defines the name of the person who made the addon.The dependencies line defines the names of addons which are required in order for the addon to work properly (and without which the addon won't run at all)The OptDeps line defines the names (in a comma separated list) of addons which should be loaded before the addon in the load order.

This is a great place to include libraries.The SavedVariables line defines the name of a variable in which the values will be saved between sessions. (This is how addons remember information like configuration settings or position of frames, etc)After those lines are done, WoW will then load all of the following lines in the order in which they appear.

WhyHelloThar.lua would be the first and only file to be loaded and read into memory for this addon. Any additional files in the addon directory won't be loaded.Note that WoW, when the user reloads their UI, will reload any Lua or xml files already referenced in the TOC file.

It will not however reload the ToC file. Therefore for testing/debugging, you can reloadUI as long as you don't add any new files to the toc file.The Lua FileThe Lua file contains all of the lua code in which WoW will execute when the addon is loaded. This is the file which you will be mainly changing.

(And will probably contain most of your errors )Making Your Addon Do Something UsefulThis section will focus on working with Events in WoW and providing a service to the user of the addon. To do so I'll be working with an example addon which will post a Welcome to the game message.Events:In WoW, events are one way to provide functionality to the user. Looking through the list of events, and given the action which I want to do, I notice there are a few events which I could potentially use. PLAYERLOGIN.

PLAYERENTERINGWORLDLooking at the description for playerlogin I see that it fires whenever a player logs into the game, or when they manually reload the UI. PlayerEnteringWorld fires every time the loading screen finishes. As such, I'd rather use PLAYERLOGIN as it fires just when I want it to, and not more often, making my code simpler.Know that I know the event I want, I need a frame which checks for when that event is fired. WoW provides the function CreateFrame which returns a reference to the frame which was created.Here's that code.

Bfa

Code: EventFrame:RegisterEvent('PLAYERLOGIN')EventFrame:SetScript('OnEvent', function(self,event.)-Do Stuff when player logs inend)Now, whenever the player logs into the game, the addon will execute the function defined in the SetScript. (Note that without first registering the event, the OnEvent will never fire.)You can also register multiple events to the same frame, just keep in mind that the function will be called everytime any of the events happen.Now that I have my function being called, I can begin to actually provide functionality to the addon. To do what I want to right now, I'm simply going to change the above code to include a message being added to the main chat frame.The Complete Code. Code: local EventFrame = CreateFrame('Frame')EventFrame:RegisterEvent('PLAYERLOGIN')EventFrame:SetScript('OnEvent', function(self,event.)ChatFrame1:AddMessage('WhyHelloThar '.

UnitName('Player'))end)Thats it for this first part. The basics are quite simple:. Identify What You Want To Do. Research on some events or methods in which to do what you wish. Do itStoring InformationThis next section will go over storing information between sessions.The Basic ConceptAs you got a hint of in the section in this guide about the ToC file, there is a variable defined there that WoW will save the value of between user sessions. WoW saves the content of this variable to a file upon logout and restores the value of this variable upon login.

Thus, any information you wish to save between sessions, whether it be configuration information, or something else, should be stored to that one variable.The important thing to note here is that WoW will save tables, if the variable is a table. Therefore if we set all of the information we want into one table, we can save and use the information contained in that table the next time the user logs into the game.Application to the WhyHelloThar AddonI'm going to use this saved variable to save information on the characters the addon has already seen, and also how often the addon has seen that character. It will then output that information in the welcome message. Keep in mind that you don't have to do it the same way I do it, and in fact there are probably more efficient ways of doing itMore Specific PlansI know that I need to save two pieces of information, the names of the characters that the user logs on with, and the number of times that they log on with that character. Because of this I'll use a table because I need to save more than one piece of information. Also, because I know that a table can be referenced associatively, or in other words I can reference a value out of the table my name, I can make the name the name of the character, and the number of times they log onto the character the value.To do this I make use of my knowledge of for loops to step through my saved variable that contains all of my information.

In the following code, I step through the saved variable and check to see if the name of the character the player logged in on is already in the saved variable. If it is, I auto increment it by 1 value to indicate that I've seen the character again. If it isn't then I add it to the table and set it's default value to 1 to indicate that I've seen it for the first time. (Setting Defaults). Code: local found = 0for name,number in pairs(mySavedVar) doif UnitName('Player') name thenmySavedVarname = mySavedVarname + 1found = 1endendif found 0 thenmySavedVarUnitName('Player') = 1endThe only problem with using this logic is that I have to have a table, and one of the limitations of a table is that it first has to be given a default and defined. Therefore, when the player logs into the game, I need to check whether my table exists/actually is a table. And if not, then I have to set it's defaults.

Code: local EventFrame = CreateFrame('Frame')EventFrame:RegisterEvent('PLAYERLOGIN')EventFrame:SetScript('OnEvent', function(self,event.)if type(CharacterVar) = 'number' thenCharacterVar = 1ChatFrame1:AddMessage('WhyHelloThar '. I do believe this is the first time we've met. Nice to meet you!' )elseif CharacterVar 1 thenChatFrame1:AddMessage('WhyHelloThar '. How nice to see you again.

I do believe I've seen you '. ' time before.' )elseChatFrame1:AddMessage('WhyHelloThar '.

How nice to see you again. I do believe I've seen you '. ' times before.' )endCharacterVar = CharacterVar + 1endend)Note how much simpler it is to code and read the second version than the first.

Determining the most efficient way of storing information often can help the coding process, so make sure you spend time planning what you are going to do before you do it. What's the saying, Measure Twice Cut Once?Working with LibrariesFirst of all, a library is a collection of code compiled into an addon that makes specific tasks simpler or more automated. There are upsides and downsides when working with libraries.Upside. Can make coding easier. Often simplifies certain processesDownside. You have to code within someone else's guidelines. Can make identifying bugs trickier.

Sometimes libraries just don't do what you want them to do. IE they aren't as configurable or they just can't do somethingOften times, the upsides outweigh the downsides, but it can extend your development time if the library just can't handle what you are trying to do with it.There are two main ways that you can work with libraries with your addon, you can either define the name of the libraries as dependencies in your ToC file, or you can include the libraries as part of your addon package and include the individual Lua files in your ToC file.

Either way works and many addon authors do it both ways. It's really personal preference. For the purposes of this guide, I'll show you how to do it both ways, and you can decide for yourself which way you like better.

I'll also try to explain some of the benefits of doing it each way.Method 1: DependencyThis method is pretty straight forward. In your ToC file simply include the name of the library that you wish to use. This does not include escape sequences that may appear in the name of the addon (such as changing the color of the name in the addon list or some such) This ensures that the library is loaded before your addon is, so that your addon can use the library in its code.Example. Code: ## Interface: 40000## Title: WhyHelloThar## Author: Brusalk## Dependencies: Ace3## SavedVariables: mySavedVar## SavedVariablesPerCharacter: CharacterVarWhyHelloThar.luaThis addon would now only load when AceGUI-3.0 is loaded. This enables the addon to make use of the AceGUI-3.0 library.

(A Part of the Ace3 collection)The upside of using this method is that as the author, you don't have to worry about updating the libraries yourself and it also can help reduce the load time of your addon.The downside of using this method is that you are dependent on the user updating the libraries by themselves, which many don't bother to. This can cause some issues when you begin using functions which are defined in a newer version of your library than the user has.Method Two: Including the Library DirectlyThis method means calling files that you include in your addon's package as if they were one of your lua files. By placing them above your lua files, they load first and you are sure that they are loaded such that you can make use of them.Example. Code: ## Interface: 40000## Title: WhyHelloThar## Author: Brusalk## OptDeps: Ace3## SavedVariables: mySavedVar## SavedVariablesPerCharacter: CharacterVar#@no-lib-strip@libsLibStub.lualibsAceGUI-3.0AceGUI-3.0.xml#@end-no-lib-strip@WhyHelloThar.luaThis toc file loads the two libraries LibStub and AceGui-3.0 that are located in the libs sub-folder in the WhyHelloThar folder.

Make sure that they are placed before your files that you use them in, otherwise they won't have loaded and you'll get all sorts of fun little errorsThe upside of this method is that you always know the version of the libraries that you're using and you guarantee that you won't have any errors that are resultant from that.The downside of this method is that it can make the load times of your user's addons longer, especially if you're loading multiple libraries. Part of the reason for this is that WoW won't identify that two libraries are the same if they are loaded from two different addons, which means that each addon that loads the same library ends up loading them multiple times.With the number of addons that most people use, it's usually easier to work with if you call your libraries directly from your addon's folder.I just want to make clear that it is strongly recommended that you include the libraries yourself. Most users won't install your required addons so use the OptDeps and including the library files yourself.ConclusionNow that you know more about working with libraries and with addons in general you can continue to research more on your own. Below I'll post some links to awesome websites and pages that I've found useful. I'll also try to include a short description of what the pages go over. Ace3 is a pretty popular collection of libraries that can do a great many things. AceGui can help you make your GUI (or Graphical User Interface), or AceDB could help you organize your database (or table) of information, and those are only two of the libraries Ace3 has to offer.

Wow Addons How To

Check it out and check out some of the descriptions of the sub-libraries. They also come with a great support forum and are quite well documented.

WoW Programming is a great wow programming site! They have a LOT of documentation on in-game events (linked earlier) and other APIs.

This is pretty much my go-to resource when I'm coding an addon. This is the resource I go to when WoW Programming is missing something (or vice-versa).

WoWpedia has a lot of documentation on the different built in WoW APIs. If you can't figure out something or are just plain stuck, you can always trying asking a question there. Who knows, they may just answer you.

Wow Addons Top

Quite a few knowledgeable people roam the MMO-Champ forums. This can be a good resource. This could be a useful resource for more information on coding in Lua in general.

If you don't think you quite understand my explanations of some of the basic Lua functions, check here. There's bound to be some that would be helpful.

– This is a great tutorial on how to use a quite common library, Ace3 (which I referenced previously) Could be worth reading if you want to learn more about utilizing libraries.Thanks For Reading!Feel free to PM me or reply if you have any questions on this guide or have any suggestions for additions/subtractions/changes to this guide.- BrusalkChange Log1. Fixed some errors and clarifications pointed out by Treeston and Adirelle (Jan 3rd, 2011)2.

Fixed a typo in the global variable section pointed out by Treeston (Jan 4th, 2011)3. Fixed an error in logic in the first example pointed out by Tatu (Jan 4th, 2011). Code: WhyHelloThar '.

How nice to see you again. I do believe I've seen you '. ' times before.Even if the player logged onto that character the first time, due to the variable already being defined.4. Global addon tables and methodsYou didn't explain that you should make a global variable equal to your addon name, then put all your functions into it. Gives the advantages (print-ability etc.) of global vars without any of the disadvantages (violating namespaces, possible clashes)5. TOC tag explaination. The OptDeps line defines the names (in a comma separated list) of addons which are recommended to be used with the addon.

(But without which the addon will still run and will be loaded)Actually, it defines addons that should be loaded before the addon in the load order. Use it for libraries (see #1).Also, why do you OptDep BugSack and!Swatter. No need to do that, due to the exclaimation mark they are already loaded before anything else (BugSack isn't, but BugGrabber is, which is where BugSack gets the errors from.Other than that, nice work.

Wow add-ons how to

One thing that hasn't really changed about World of Warcraft since it released in 2004 is its user interface. Thankfully, enterprising modders have created a host of WoW addons that add all sorts of wonderful functionality. From addons that make managing your inventory a breeze to ones that replace the UI in its entirety, if you're not customizing your interface you're missing out on some serious improvements.That's why we've rounded up a selection of the most popular favorites (and a few of our personal ones) to help you figure out which WoW addons are right for you and how to get started customizing the interface to be tailor-fit. Whether you're just getting started or are a hardcore player elbow deep in Battle for Azeroth, the latest expansion, this list will get you started.Downloading the is your first step as it gives you easy access to a marketplace where most of the WoW addons on this list can be found. The app automatically detects your World of Warcraft installation and makes managing and updating your WoW addons ridiculously easy.Now that you're all set up, let's take a look at some great addons to try. All of these addons (except ElvUI) can be found in the Twitch app, but I've also linked to sites where you can manually download them.

Must have WoW addonsWorld of Warcraft's hotbars are easily the most outdated part of its user interface. By default, they're quite small, can lack crucial information, and you don't have a whole lot of customization options. Enter Bartender, an addon that gives you full control of ten action bars including their position, size, and even transparency.If you're starting out in World of Warcraft as a brand new player, this should be one of the first mods you consider. Before long, your hotbars are going to fill up and become an annoying mess. Bartender lets you set keybindings and position them perfectly for an optimal setup.

More advanced users will appreciate the ability to program custom macros that can change the state of your action bars too.The other major addon that you shouldn't be without, Deadly Boss Mods makes World of Warcraft's complex boss fights a little more approachable by providing real-time alerts to keep you one step ahead. With this addon (and its other versions for older expansions) installed, you won't have to painstakingly memorize every boss fight. Alerts and camera effects will warn you of dangerous attacks or give you simple instructions. Raid and dungeon timers are synchronized between other members of your group, which keeps everyone on the same page even if one player accidentally disconnects.What I really love, however, is a tiny feature that auto replies to in-game messages while you're in a boss fight. This optional autoresponse will let whoever whispered you know you're kinda busy and tell them how much health the boss has left so they know if things are going poorly.World of Warcraft's inventory system is kind of a mess in the default version. Instead of having one large inventory, you have separate bags that store all the stuff you find while exploring.

It's cumbersome to deal with, but Bagnon makes this nightmare go away. It replaces the entire inventory window with one large bag that stores all your items, but its other features are what makes it a must-have.For one, you can view the items (even if they're in the bank) of all your alternate characters on your account. Icons also have special coloring based on item quality, helping you more easily discern rare items from trash. A search engine in the inventory window makes finding specific items even easier and there's the always helpful sort items option, which cleans up your bags and groups relevant item types together.You get one guess what this addon does.

MoveAnything is a powerful tool that lets you adjust every UI element, giving you complete control over not just your action bars but quest list, portrait location, minimap location, and more. If you've ever wanted to fully redesign WoW's UI, this is a good place to start.

Total conversion and immersion addonsThis is one of the most popular total conversion addons for World of Warcraft. ElvUI replaces every single user interface element with a sleek redesign that is a lot more modern and readable. The tradeoff, of course, is that you're also getting rid of the fantasy themed UI altogether. You also have to install and update it manually, but it's not too much of a chore.

What ElvUI brings to the table makes the sacrifice more than worth it because, along with the overhaul, ElvUI offers a ton of customization and also includes a suite of addons like that help clean up the look of WoW's aging interface.One of my favorite parts about ElvUI is that it comes with an in-game setup process that'll help tailor the UI to suit your needs. There's class-specific setups that emphasis the interface elements most important to your role, and the settings have a ton of options to play with.

I particularly love how the action bars behave in ElvUI, and its built-in addons means you won't have to fuss with other addons like OmniCC. Just beware, if you want to use ElvUI, install it first before bringing more addons into the fold because it doesn't always play nice.In patch 7.3.5, World of Warcraft introduced dynamic level scaling to all of Azeroth, entirely changing the way you level new characters.

It's a great time to start a fresh character and experience Azeroth from a new perspective—literally. Using the Action Cam feature that was implemented in an earlier patch, Dynamic Cam shifts the perspective to make WoW feel more like a third-person action game. By doing so, Azeroth has a sense of scale that makes it feel wondrous and exciting again. What's great is that Dynamic Cam automatically shifts between different camera positions depending on what you're doing, which Action Cam can't do on its own.If you're leveling a new character, this is a fantastic addon that'll make your time in Azeroth feel more immersive and intimate. You just can't appreciate the size Ironforge using the usual, zoomed out camera.

Combat addonsThis addon is tiny but oh so effective. Basically, it adds text to your action bar icons so you can better read how long the cooldown is on your abilities. There's some nifty customization options, like being able to determine when the cooldown timer starts showing fractions of a second (if you want to be really precise with your abilities). But OmniCC is the kind of addon that does one tiny thing, and does it very well.Details! Damage Meter is a very accurate graphical DPS meter that shows how much damage you and everyone in your party is doing by sifting through the combat log. If you're playing a damage-dealing specialization, I cannot stress how important it is to have Details. Not only will it help you up your game, its optional tools are a godsend, like being able to see the talent choices and item level of your party members.You might think that only the tank would need a readout of monster aggro, but you'd be wrong.

Omen Threat Meter also helps healers and DPS by showing each party member's relative aggro for whatever monster you are targeting. That way, you know if you're in danger of stealing aggro from the tank or, god forbid, if the tank dies who the monster is going to target next. In high-level raids and dungeons, having that kind of information is invaluable.Easily the most complex addon on this list, Weak Auras 2 is a framework that lets you display special graphical elements on screen to indicate buffs, debuffs, and other relevant status effects instead of just bombarding your eyes with more numbers and meters. There's an insane level of customization available here, from using custom sounds to class-appropriate visual cues. It can be a lot to take in, but will get you started. The great thing about Weak Auras 2 is that, if you don't have the energy to program your own custom ones, you can easily import templates from other players.

With a massive list of pre-built Weak Auras 2 scripts you can use. Quest, profession, and miscellaneous addonsWorld Quests are a new type of temporary daily quest first introduced in Legion. It's a great system that suffers from World of Warcraft's outdated map interface, but World Quest Tracker fixes those problems. From a zoomed out view, World Quest Tracker shows you the rewards available from World Quests in each zone, so you can quickly see if there are rewards that are relevant to your goals. From there, you can simply click on the reward icon to automatically track multiple world quests in your quest window so you don't waste time having to check the map again and again.

World Quest Tracker also has a stats screen that tracks how many world quests you complete, cumulative rewards, and more.Once you've finished leveling your first character to 120 in Battle for Azeroth, you probably aren't keen on doing that whole process over again with another character. Enter Azeroth Auto Pilot, a speed-leveling addon that automates dozens of tiny things to make grinding a new character to max level even easier.

With this installed, you'll have an arrow that guides you from quest to quest in highly optimized path while the addon handles all the little things like talking to NPCs, interacting with items, and more. Really, it's like leveling a new character on auto pilot.There's been a lot of controversy in the community over Blizzard trying to limit addons that automatically place you in groups for World Quests, largely negating the need to even participate in the quest to complete it. LookingForGroup is a nice compromise, though, that makes it easy to instantly find groups without having to comb through the cumbersome group finder interface. Once you reach level 120 in Battle for Azeroth, it's a great tool to help make knocking out those daily World Quests a little easier.For you crafters and gatherers out there, Gatherer is a must. The addon shows the location of mining, herbalism, and treasure locations on your minimap.

It does this by remembering the location of resource nodes that you've previously found. That doesn't sound all that handy because you'll need to find those nodes to begin with, so import the. This contains data for all the possible node locations in Azeroth, and Gatherer will always point you toward the location of precious resources.If you fancy making a bit of gold in World of Warcraft, Auctioneer is going to become your best friend. This complete overhaul of the auction house interface can scan the market to track bids, buyout prices, and quantity of items sold.

Simply put, it gives you all the information you need to make informed purchasing and selling decisions on the auction house. One thing I love is that item tooltips will now display a recommended selling price based on some black magic and statistical math. Another amazing addon included in this suite is Bean Counter, which tracks your bids and postings to give you reports on item-specific profitability, helping you identify what's really making you money.That's just the tip of the iceberg too. Enchantrix shows you the value of materials from disenchanting, milling, and prospecting. Informant tells you if the item is relevant to quests or a certain class. SearchUI will notify you if there are auctions that fit your criteria for buying or bidding.

The list goes on and on.This one is real simple, OPie creates contextual radial menus so you can easily use certain abilities on your action bar with just your mouse. It's not a necessary addon by any means, but it's sleek and simple to use. I love freeing up action bar space and dumping seldom, but still necessary, actions (like Demon Hunters' spectral sight) on the radial menu.