UI and Macro

Jan 20, 2017 Welcome! Please read! Welcome to the UI and Macro forum! This forum is here to provide you with a friendly environment where you can discuss user interface customizations for World of Warcraft with your fellow players. Community forums work best when participants treat their fellow posters with respect and courtesy, so we ask that you take the time to read through the forum Code of Conduct (http://us.battle.net/en/community/conduct) and guidelines (https://us.battle.net/forums/en/wow/topic/20752671773) before posting. Important Reminders: Search The search function at the top of the World of Warcraft community site is extremely effective and robust. Before you create a new forum topic, please be use it to search for similar topics, blog posts, or web pages that may contain the answer for which you are looking. Making a new thread on an existing subject can result in your thread being deleted or, if you continue to re-post the same content, the loss of your forum privileges for spamming. Rating The forum rating system can be used to promote positive discussion, demote unhelpful comments, and even report posts that violate the forum Code of Conduct. By hovering over a post you'll be presented with several options, including a "thumbs up" (Like) and a "thumbs down" (Dislike) icon. Clicking the "thumbs up" icon will rate the post up. If enough people like a post, it will gain a Highly Rated status and appear at the top of related search results. Highly Rated posts will also have a highlighted background. Clicking the "thumbs down" icon will expand a drop-down menu which will include "Dislike," "Trolling, "Spam" and "Report" options. "Dislike" will rate the post down. If enough people dislike a post, it will be darkened, and with a lot of dislikes it will be hidden completely. You can also quickly report a post as trolling or spam, or use the report function to fill out a more comprehensive description of a violation. Please note that you can only rate each post once. Use your power wisely to help foster a positive and helpful forum community. Have fun posting on these forums, and good luck with your adventures in Azeroth! Guidelines In addition to the forum Code of Conduct (http://us.battle.net/en-us/community/conduct), here are some common courtesy guidelines to follow. While these do technically fall within the bounds of the Code of Conduct, these cover more specific examples of common errors that will lead to thread deletions or posting privileges being revoked. The World of Warcraft forums are for discussion of topics directly related to World of Warcraft. The forums here are specifically to discuss the game and related topics. Any topics not related to World of Warcraft, Battle.net, or Blizzard Entertainment are subject to deletion. Don't post in all capital letters, use a misleading title, excessive punctuation, and/or non-standard symbols, etc. While everyone wants their posts read, we ask you to refrain from using these types of tactics in order to bring more people to your thread. Let your post stand on its own merit. Threads violating this guideline are subject to deletion. Using the words "Blizzard," "Blue," or any community team members' names in a thread topic is frowned upon. Everyone would like Blizzard to read and acknowledge his or her post, and we understand that; however, use of such words in the subject line does not help that come to pass. Please make your thread title relevant to the post subject. Threads violating this guideline are subject to deletion. Posting "First" or IBTL ("in before lock") constitutes as spamming. You will be suspended if you create a post that is intended to call out that you achieved a specific reply number in a thread. This is considered spamming. Posting IBTL ("in before the lock") is not helpful, and if you feel a thread should be moderated please use the rating button to do so. Do not "bump" posts. The act of posting simply to bump a thread is considered spamming. This also includes bumping very old threads for no reason (called "necro bumping" or "necroing"). Petition posts are frowned upon. These are discussion forums and, as such, we ask that you hold discussions. Creating a thread to ask for replies as votes is not a discussion. Threads violating this guideline are subject to deletion. Do not post about locked or deleted threads. Posts that are moderated have a reason behind the moderation. It's up to you to read the forum Code of Conduct and these guidelines to determine what you did wrong, learn from your mistake, and attempt to post again without breaking any rules. There is also cool down period we institute during times of high forum traffic. If you are violating policy during one of these times due to frustration, you will be given a three-hour cool down suspension. This does not get logged on your record and is simply in place to keep the forums readable and civil. Serious violations will still have the appropriate action taken against them as documented in the Code of Conduct, and we do keep track of these cool down periods separately—if one is found to be repeatedly violating policy, appropriate action will be taken.Kaivax0 Jan 20, 2017
4d FAQ: Installing & Troubleshooting AddOns How to Install AddOns for World of Warcraft - By Unkle of Grounding Totem, US Kirin Tor - With a tip of the hat to Lopeppeppy for her original guide. When AddOns are properly installed, a new button appears in the lower left corner of the character selection screen of World of Warcaft, labeled AddOns. If you do not see this button, your AddOn is not properly installed or no AddOns are installed at all. - Where to Get AddOns Always download your AddOns from a reputable source. The author of this guide recommends you use the following sites for most of your AddOn needs. ● WoWInterface.com - https://wowinterface.com/ ● CurseForge.com - https://www.curseforge.com/wow/addons. - Extracting your AddOns AddOns are delivered in compressed files to save space on hosting sites servers and to reduce the amount of time it takes you to download them. They are commonly in .zip format with some .rar format files. Windows and Macintosh computers have native support for .zip files. If your AddOn is compressed in .rar format, you will need another program to open them. Your web browser may also be able to open compressed files for you automatically after they are downloaded. For Windows XP, Windows Vista, or Windows 7 users I suggest 7-Zip. ● http://www.7-zip.org/ For Mac OSX users I suggest The Unarchiver. ● http://wakaba.c3.cx/s/apps/unarchiver.html When the AddOn is extracted, you should have a folder that is named the AddOn’s name. ... Some AddOns have sub-folders inside their main folder. This is fine, and you should leave them there. Some AddOns are called one name, but are really multiple AddOns delivered together. When this happens, you download a compressed file that has several folders in it. ... - Where to Put AddOns Once You’ve Extracted Them AddOns belong in the following folder: World of Warcraft/Interface/AddOns ... Put the folder you extracted into the correct folder for your operating system. Correctly installed, my example AddOn, Fane, looks like this: ● Windows XP C: \Program Files\World of Warcraft\Interface\AddOns\Fane [C:] (or which ever drive you have the game installed on) |----World of Warcraft |----Interface |----AddOns |----Fane ● Windows Vista or Windows 7 C:\Users\Public\Games\ World of Warcraft\Interface\AddOns\Fane Windows Vista or Windows 7 [C:] |----Users |----Public |----Games |----World of Warcraft |----Interface |----AddOns |----Fane ● Mac OSX [Macintosh Hard Drive]../World of Warcraft/Interface/AddOns/Fane [Macintosh Hard Drive] |----World of Warcraft |----Interface |----AddOns |----Fane The most common issue with why your AddOn won't load. If you have an extra folder layer in the mix, your AddOn won't load. [C:] |----World of Warcraft |----Interface |----AddOns |----Fane1234567 <-- Extra Folder. Bad folder. No biscuit. |----Fane More Installing Resources: ● WoWInteface.com’s Instatll FAQ: http://www.wowinterface.com/forums/faq.php?faq=install#faq_howto_install ● WoWInteface.com’s Image of Correctly installed AddOns: http://www.wowinterface.com/storage/faq/correct.gif ● Seerah’s excellent YouTube video for installing AddOns (using WinZip on Windows XP). http://www.youtube.com/watch?v=dylXGXET8OA - What to Do When Something Goes Wrong ● Make sure AddOns are in the correct directory. - Do you have more than one copy of WoW installed? If so, did you put the AddOns in the right copy’s folder? This is especially important if you install multiple copies of the game, or you’re installing the game from DVD after a major expansion such as Wrath of the Lich King or Cataclysm. You can right-click on the icon you use to launch WoW (Windows) or use "CMD+I" (Mac OSX) to get the properties for the short cut. The properties will tell you the "Target" of the shortcut (or alias) which is where your copy of WoW is installed. - Did you extract the AddOn correctly? Make sure you are unzipping/uncompressing your addons. WinZip, WinRar, 7zip, The Unarchiver and StuffIt (for Mac) are common unzipping programs. See the section above on Extracting Your AddOns. WinZIP users: You must make sure the option to "Use Folder Names" is checked or WinZIP will just extract the files and not make the proper sub-folders. - Did you accidentally get an extra folder layer? If you have a folder called something like AddOnName6.01.01 with folders under that named like the examples above, you’ve copied the wrong things to your AddOns folder. See the section above on Extracting Your AddOns. ● I used the Repair Tool and now my AddOns are gone! When the repair tool is run the Interface and WTF folders get renamed with the date added to the file name. This means those AddOns won't get loaded. You can simply rename the folders without the date. If the problem that caused you to run the Repair Tool was being caused by a rogue AddOn you’ll have the problem again if you do this. ● Don’t install AddOns while WoW is running. WoW doesn't register addon changes until you exit the game and restart it. Save yourself some frustration and install only when you’ve completely exited the game. Log in to check them, log back out as necessary to fix things. ● My AddOns didn’t load after a patch! From the character select screen, click the AddOns button. In the upper right corner of the AddOns screen, check the "Load Out of Date Addons" box.Unkle355 4d
Dec 30 AddOn Development Reference (PLEASE DO NOT POST QUESTIONS IN THIS THREAD, USE THE FORUM FOR QUESTIONS) While there are numerous sites available with WoW UI API Documentation, there are a number of useful features that aren't exactly API calls, but are really useful to AddOn developers. Extracting UI Files (coming shortly given cataclysm changes) Lua File Arguments Whenever WoW loads and runs an AddOn's .lua file (not including saved variables), it passes in two parameters which can be accessed via the ... token: local addonName, addonTable = ...; The addonName is the name by which WoW is referring to the AddOn, based on the capitalization of the AddOn's .toc file. The addonTable is a private table which is sent to every file in a particular AddOn (but is distinct from the table sent to other AddOns). The game maintains no global registry of these tables, so it's garbage collected if not used, and an AddOn must grab its own reference to use it later. Iriel22 Dec 30
Nov 16, 2010 UI Add-On Development Policy 7/15/2009 Music Distribution through UI Add-Ons We have recently seen a number of User Interface Add-Ons that are making modifications to the World of Warcraft in-game music files and wanted to take a moment to go over some important points with the community in connection with this. While we are currently allowing Add-Ons that remove or replace existing sound files, keep in mind that it is illegal to distribute copyrighted materials, in this case in-game music and audio files, without authorization. One of the primary goals of the user interface is to allow players to customize their game experience and we hope to avoid making any modifications in the future that will prevent this. -------------------------------------------------------------------------------------------------------------------------------------------- 4/13/2009 UI Add-On Development Policy Update On March 20, we released the new add-on development policy to the public as an ongoing effort to help ensure add-on integrity, safety, and quality for the community. Since that time we have been in touch with many UI development communities on what the policy means to them and the continuing development of these add-ons. We would like to announce further that we are providing a sixty-day grace period beginning at the time of the initial release of the policy for UI developers to comply with the new policy. After May 19th, Blizzard Entertainment will begin to enforce the Add-on Development policy, and developers found to be in violation of this policy will be contacted directly. -------------------------------------------------------------------------------------------------------------------------------------------- World of Warcraft User Interface Add-On Development Policy With the continuing popularity of World of Warcraft user interface add-ons (referred to hereafter as "add-ons") created by the community of players, Blizzard Entertainment has formalized design and distribution guidelines for add-ons. These guidelines have been put in place to ensure the integrity of World of Warcraft and to help promote an enjoyable gaming environment for all of our players - failure to abide by them may result in measures up to and including taking formal legal action. 1) Add-ons must be free of charge. All add-ons must be distributed free of charge. Developers may not create "premium" versions of add-ons with additional for-pay features, charge money to download an add-on, charge for services related to the add-on, or otherwise require some form of monetary compensation to download or access an add-on. 2) Add-on code must be completely visible. The programming code of an add-on must in no way be hidden or obfuscated, and must be freely accessible to and viewable by the general public. 3) Add-ons must not negatively impact World of Warcraft realms or other players. Add-ons will perform no function which, in Blizzard Entertainment's sole discretion, negatively impacts the performance of the World of Warcraft realms or otherwise negatively affects the game for other players. For example, this includes but is not limited to excessive use of the chat system, unnecessary loading from the hard disk, and slow frame rates. 4) Add-ons may not include advertisements. Add-ons may not be used to advertise any goods or services. 5) Add-ons may not solicit donations. Add-ons may not include requests for donations. We recognize the immense amount of effort and resources that go into developing an add-on; however, such requests should be limited to the add-on website or distribution site and should not appear in the game. 6) Add-ons must not contain offensive or objectionable material. World of Warcraft has been given a "T" by the ESRB, and similar ratings from other ratings boards around the world. Blizzard Entertainment requires that add-ons not include any material that would not be allowed under these ratings. 7) Add-ons must abide by World of Warcraft ToU and EULA. All add-ons must follow the World of Warcraft Terms of Use and the World of Warcraft End User License Agreement. 8) Blizzard Entertainment has the right to disable add-on functionality as it sees fit. To maintain the integrity World of Warcraft and ensure the best possible gaming experience for our players, Blizzard Entertainment reserves the right to disable any add-on functionality within World of Warcraft at its sole discretion. For more information... If you are an add-on developer and have any questions about and this User Interface Add-On Development Policy and how it pertains to the add-on that you've developed, please don't hesitate to email us at WoWUI@blizzard.com. Nethaera0 Nov 16, 2010
7h Battle For Azeroth Addon Changes World of Warcraft: Battle for Azeroth 8.0 Release Notes for Wow Addon Developers With the release of Battle for Azeroth Beta, the WoW User Interface team would like to highlight some upcoming changes that will affect addon developers. Many of these changes are already in place on the Beta realms, while some others will not be in place until the BFA pre-patch. If you aren’t an addon developer, this list will probably not be of much interest to you: Combat Log Event Changes The COMBAT_LOG_EVENT & COMBAT_LOG_EVENT_UNFILTERED events no longer have any event payload. In order to get the information passed down previously with these events, please use the CombatLogGetCurrentEventInfo function. Spell System API Changes Due to a change we made on the backend, Spell System API & Events have several major changes. Please read the following if you are using Spell API or Events in your addons. Spell text fields — such as its name’s subtext or description — are now loaded on demand, except for the spell’s name. This affects the following functions: Function Name -- Return value affected GetActiveArtifactByRace -- #5 (spell description) GetArtifactInfoByRace -- #5 (spell description) GetRecipeDescription -- #1(spell description) GetSelectedArtifactInfo -- #5 (spell description) GetSpellBookItemName -- #2 (spell name subtext) GetSpellDescription -- #1 (spell description) GetTrainerServiceAbilityReq -- #1(spell name subtext) GetTrainerServiceDescription -- #1 (spell description) If you call these functions, the listed return value may be nil or empty, since the data is not available at the time of the function call. We offer an interface in Lua —SpellMixin — that delays a call until the data is available. This interface lets you call functions from the previous list without the risk of returning empty data. local spell = Spell:CreateFromSpellID(spellID); spell:ContinueOnSpellLoad(function() spellButton:SetText(GetSpellDescription(spell:GetSpellID()); end); The SetText call is immediate if the spell text is loaded and available. If not, it delays the call until the data loads. If you need to cancel a request at any point, use this interface: local spell = Spell:CreateFromSpellID(spellID); local spellDataLoadedCancelFunc = spell:ContinueWithCancelOnSpellLoad(function() button:SetText(GetSpellDescription(spell:GetSpellID()); end); When you're ready to cancel the request, call the cancellation function: if spellDataLoadedCancelFunc then spellDataLoadedCancelFunc(); spellDataLoadedCancelFunc = nil; -- for safety! end In addition to the ContinueOnSpellLoad functions, SpellMixin offers the following member functions to query various spell text fields: GetSpellID() The Spell ID associated with this SpellMixin. GetSpellName() The spell’s name. GetSpellSubtext() The spell’s name subtext (often the spell rank). GetSpellDescription() The spell’s description. You should call these functions from your captured function body, as in the previous examples. The following is the first example, simplified using these functions. local spell = Spell:CreateFromSpellID(spellID); spell:ContinueOnSpellLoad(function() spellButton:SetText(spell:GetSpellDescription()); end); Function changes: • GetSpellInfo - second parameter used to return Spell.nameSubtext -- now returns nil. • GetTrainerServiceInfo - dropped second parameter (nameSubtext). • GetShapeshiftFormInfo - dropped second parameter (name). • GetMacroSpell - dropped first two parameters (name, and nameSubtext). • GetPetActionInfo - dropped second parameter (nameSubtext). • GetPossessInfo - second parameter changed from spell name to spell ID. • CancelUnitBuff - no longer supports canceling by spell name. • UnitBuff - dropped second parameter (nameSubtext). Also, no longer supports querying by spell name. • UnitDebuff - dropped second parameter (nameSubtext). Also, no longer supports querying by spell name. • UnitAura - dropped second parameter (nameSubtext). Also, no longer supports querying by spell name. • UnitCastingInfo - dropped second parameter (nameSubtext). • UnitChannelInfo - dropped second parameter (nameSubtext). • GameTooltip:GetSpell - dropped second parameter (nameSubtext). • GetAuraInfo - no longer supports querying by spell name. • GetItemSpell - dropped second parameter (nameSubtext). • GetSpellLink - no longer returns trade skill link as second parameter (see GetSpellTradeSkillLink below). Functions removed: • FindSpellOverrideNameByName • FindBaseSpellNameByName • SearchGuildRecipes Functions added: • CancelPetPossess • FindSpellOverrideByID • FindBaseSpellByID • DoesSpellExist • GetSpellTradeSkillLink • GetSpellSubtext Event changes: • UNIT_SPELLCAST_SUCCEEDED - no longer provide spell name and rank. • UNIT_SPELLCAST_FAILED_QUIET - no longer provide spell name and rank. • UNIT_SPELLCAST_INTERRUPTED - no longer provide spell name and rank. • UNIT_SPELLCAST_START - no longer provide spell name and rank. • UNIT_SPELLCAST_FAILED - no longer provide spell name and rank. • UNIT_SPELLCAST_STOP - no longer provide spell name and rank. • UNIT_SPELLCAST_DELAYED - no longer provide spell name and rank. • UNIT_SPELLCAST_CHANNEL_START - no longer provide spell name and rank. • UNIT_SPELLCAST_CHANNEL_UPDATE - no longer provide spell name and rank. • UNIT_SPELLCAST_CHANNEL_STOP - no longer provide spell name and rank. World Map Changes The World Map has been almost entirely re-written, and all map API was removed. It’s being replaced but we are currently still transitioning. worldMapAreaID, dungeonMapID, dungeonFloor have all been removed and replaced with just uiMapID. We have included a mapping between the old and new data in AddOns/Blizzard_Deprecated/UIMapIDToWorldMapAreaID.lua to help you translate your data. Event Documentation In addition to function and table API documentation, all events and their payload are now documented. The documentation can be accessed in-game by using the /api command. You can find the raw documentation files in /AddOns/Blizzard_APIDocumentation. They are exported through the existing ‘ExportInterfaceFiles code’ command. UI Widgets are replacing the World State Frame (and much more to come) UI Widgets are a new system that we have put in place to handle a wide variety of UI tasks going forward. As a result, WorldStateFrame is no longer needed and will be going away entirely. World State events will still be sent down as before, so don’t worry if you were relying on those. There are new events and UI Widget system API functions … see UIWidgetManagerDocumentation.lua in the documentation folder. For further information, see the lua & xml files in the \AddOns\Blizzard_UIWidgets folder. Voice Chat The new Voice Chat system is now live! Documentation for the Voice Chat API is in the normal documentation folder as listed above. VoiceActivityManager is a Lua-side system that lets you register for the creation of notification frames when a member in voice chat starts talking. You can use the RegisterFrameForVoiceActivityNotifications and UnregisterFrameForVoiceActivityNotifications methods for this purpose. Pool Collections PoolCollections are a new Lua-side system that allows you to register multiple pools for creating frames using different templates and/or frame types and not have to keep a Pool around for each one. It works in much the same way that Pools do, you just need to make sure that you call CreatePool before you attempt to create an object of a particular type. Here is an example of how you might use PoolCollections: -- First create the PoolCollection and call CreatePool for every template type you will be creating self.myPools = CreatePoolCollection(); self.myPools:CreatePool("FRAME", parent, "FrameTemplateA"); self.myPools:CreatePool("FRAME", parent, " FrameTemplateB"); self.myPools:CreatePool("BUTTON", parent, "ButtonTemplateA"); self.myPools:CreatePool("BUTTON ", parent, " ButtonTemplateB"); -- Then creating any of those templates is as easy as calling Acquire on the PoolCollection local frame1 = self.myPools:Acquire("FrameTemplateA"); local frame2 = self.myPools:Acquire("FrameTemplateB"); local frame3 = self.myPools:Acquire("FrameTemplateB"); local button1 = self.myPools:Acquire("ButtonTemplateB"); local button2 = self.myPools:Acquire("ButtonTemplateA"); -- And when you are done with the frames, you can release them one by one or use ReleaseAll self.myPools:Release(frame3); self.myPools:ReleaseAll(); Changes to Texture object API • The SetRotation(radians) function now rotates the textures vertices instead of modifying the texture cords • Added a GetRotation function • Setting the rotation will no longer destroy texture coords set by SetTexCoord • Unlike the old API, rotations will persist across anchor changes • Textures created in XML can be initialized rotated with the “rotation” attribute, specified in degrees Other changes to Frame API • Texture, FontString and Line can now be scaled directly using the newly added SetScale, GetScale and GetEffectiveScale functions • The Model XML attribute “scale” is now called “modelScale” Miscellaneous Changes • Attempting to register or unregister for an unknown event will now generate a Lua error • We made several improvements to the performance of anchor-processing • Anchor processing is also less likely to fail to resolve a valid rect • xpcall now accepts arguments like pcall does • The alert system was overhauled, allowing for there to be multiple independent alert/toast areas in the UI. We also added a new intrinsic type called ContainedAlertFrame to be used for alerts. • Context menus can now have a custom frame imbedded into them. • GetItemInfo now respects player’s link level for sell priceYthisens69 7h
Jun 27 Macros - What Every Player Needs to Know Table of Contents: ------------------------------- 1. Intro - Macro Basics 2. Macros - What can they do? 3. Macros - What can they NOT do? 4. Conditionals - How do they work? 5. Scripting - What is possible in a macro? 6. Macros - Tips, Tricks, and Shortcuts 7. Off-GCD Abilities List 8. More to Come 9. FAQ 10. Reserved 1. Intro - Macro Basics Macros are a very useful tool within the World of Warcraft client. They allow you to combine multiple actions onto a single button. While the entire macro will run every time, actions which trigger the Global Cooldown will stop later GCD actions from functioning. You can make a macro to take almost any action you can click or keybind, with certain restrictions. Macro commands can be made more useful with [conditionals], snippets that check on various things to allow a small degree of decision making. While macros execute the first valid item from the top down, individual commands execute the first valid conditional, from left to right. Macros can be used to execute scripts, small snippets of Lua code, from within WoW without the use of an external addon. This is done by using the /run command. Scripting is an advanced feature and is explained more in detail in post 5. There are a number of tips, tricks, and shortcuts to help you get the most out of your macros. Most of the ones listed have come from this very forum, and I have consolidated them here to make it easier. My intention is to continue to expand this post with more useful information over time, so feel free to add a post with any questions or useful information you think I should add.Adreaver295 Jun 27
Jan 20, 2017 UI and Macro Forum Guidelines Guidelines In addition to the forum Code of Conduct, here are some common courtesy guidelines to follow. While these do technically fall within the bounds of the Code of Conduct, these cover more specific examples of common errors that will lead to thread deletions or posting privileges being revoked. The World of Warcraft forums are for discussion of topics directly related to World of Warcraft. The forums here are specifically to discuss the game and related topics. Any topics not related to World of Warcraft, Battle.net, or Blizzard Entertainment are subject to deletion. Don't post in all capital letters, use a misleading title, excessive punctuation, and/or non-standard symbols, etc. While everyone wants their posts read, we ask you to refrain from using these types of tactics in order to bring more people to your thread. Let your post stand on its own merit. Threads violating this guideline are subject to deletion. Using the words "Blizzard," "Blue," or any community team members' names in a thread topic is frowned upon. Everyone would like Blizzard to read and acknowledge his or her post, and we understand that; however, use of such words in the subject line does not help that come to pass. Please make your thread title relevant to the post subject. Threads violating this guideline are subject to deletion. Posting "First" or IBTL ("in before lock") constitutes as spamming. You will be suspended if you create a post that is intended to call out that you achieved a specific reply number in a thread. This is considered spamming. Posting IBTL ("in before the lock") is not helpful, and if you feel a thread should be moderated please use the rating button to do so. Do not "bump" posts. The act of posting simply to bump a thread is considered spamming. This also includes bumping very old threads for no reason (called "necro bumping" or "necroing"). Petition posts are frowned upon. These are discussion forums and, as such, we ask that you hold discussions. Creating a thread to ask for replies as votes is not a discussion. Threads violating this guideline are subject to deletion. Do not post about locked or deleted threads. Posts that are moderated have a reason behind the moderation. It's up to you to read the forum Code of Conduct and these guidelines to determine what you did wrong, learn from your mistake, and attempt to post again without breaking any rules. There is also cool down period we institute during times of high forum traffic. If you are violating policy during one of these times due to frustration, you will be given a three-hour cool down suspension. This does not get logged on your record and is simply in place to keep the forums readable and civil. Serious violations will still have the appropriate action taken against them as documented in the Code of Conduct, and we do keep track of these cool down periods separately—if one is found to be repeatedly violating policy, appropriate action will be taken.Kaivax0 Jan 20, 2017
28m Shadowed Unit Frames question Hello there, Is there a way to add a configuration to return the "creature group" ? The addon has "creature type" config (it shows "Wolf" when i target a Dire Wolf or Tauren if i target myself... instead i want: Beast => Humanoid) Does anyone know if it's possible to setup a "text/tag" to show "Humanoid', "Beast", "Mechanical", "Elemental" and so on ? Thanks in advanceHowakhan4 28m
53m Lowest health party member Unit frame Is there a way to set up a Unit Frame that shows the lowest health member of your party or raid? I think this would be extremely useful for healing. If anybody knows a way to do this using any addon or method please share the secret. Thanks! Also, if you believe it's impossible let me know too so I don't get my hopes up.Grindspice5 53m
1h Auto set cameraPitchMoveSpeed on login? This has been driving me crazy for a long time, general mouse pointer speed in the game is perfect, but the camera movement is WAY too sensitive. I have a macro that runs /console cameraYawMoveSpeed 26.64 /console cameraPitchMoveSpeed 26.64 And that is perfect sensitivity, but it resets every single relog and I'd like to not press that macro every single time I log in. I've tried adding SET cameraYawMoveSpeed 26.64 SET cameraPitchMoveSpeed 26.64 To the config.wtf, but it ignores it and wipes out the lines every time I log in (even when set to Read Only). I've created an addon consisting of a simple lua that runs SetCVar("cameraYawMoveSpeed",26.64) SetCVar("cameraPitchMoveSpeed",26.64) And that is also ignored.Malorash1 1h
8h Addon Update Request: Lunarsphere I have used Lunarsphere for many years... and I was heartbroken to learn that the person updating it has given up on keeping it up to date. While I sadly lack the skills to do such myself or I would, I thought it could hurt to put a request to those that do possess such skills. Here's the current iteration of Lunarsphere: https://www.curseforge.com/wow/addons/lunarsphere-fan-update This currently works in Legion, but does not function on BfA beta. If any of you have the skills and the time, I'd be forever grateful if this addon could be updated.Nicodemùs14 8h
9h self casting with g602 I recently got the G602 mouse. I set my extra mouse buttons to f1-f8. But when it comes to self casting it doesn't work. Any work around for this? For example... My self cast button is Alt and my monk bubble is set to F7 which is one of my mouse buttons but doesn't even recognize the button is being pressed. Any work around for this?Christysmaks5 9h
9h Secure PickupAny handler additions? Any chance of getting the PickupAny secure handler (for _ondragstart) to include a "kind" argument that would invoke "PickupSpellBookItem"? There are a couple of things that simply cannot be picked up by the secure handler presently (unless I'm missing something :). Flyouts and most pet commands/actions, for example. EDIT: Also cannot invoke PickupPvpTalent from a secure handler via PickupAny at the moment either.Nezroy7 9h
11h Sheath (not unsheath) Macro Hi, when I use grappling hook, it automatically unsheaths my weapon. Is there a way to make a macro where it sheathes my weapon after i use grappling hook? I tried #showtooltip /cast Grappling hook /run ToggleSheath() but it just unsheaths my weapon. Thanks.Chaosie2 11h
19h S. U. Frame: How to remove the big buff? Night. How do I remove the BIG BUFF that appears next to my Health Frame such as "Pillar of Frost" and stuff? https://imgur.com/a/dQuj5EuOrgrimman3 19h
20h Macro not working for me, but works 4 friend I'm trying to get a macro to work, and it's acting very bizarre. I've included the code below. The idea is that I should be able to use purify on my friend protojack when no mod is being pressed, and purify on saber when casting the spell while holding down alt. For some reason, the mod function of the macro only works if I have a focus target (any focus target). If I don't have a focus target, the macro does nothing. PS I had my friend on a different account and PC try the same code, and it works for him! Any help is much appreciated. CODE: #showtooltip Purify /stopcasting /stopcasting /cast [nomod, @Protojack] Purify /cast [mod:alt, @Saber] PurifyÐuelz1 20h
22h I need help with a WeakAura trigger. I need help with a WeakAura trigger. I am working to create a WeakAura for my feral druid. This particular WeakAura is an icon that appears when I should reapply a debuff (Rake). I have 2 triggers already that, when met, cause the icon to show itself telling me to reapply the debuff (Rake). The first trigger is when the debuff is missing from the target and the second trigger is when the debuff has less than 3 seconds left on it's timer. Here is my goal...I want a third trigger showing the icon when I get a buff such as Tiger's Fury or Bloodtalons. When buffed, I should re-apply the debuff regardless of if it is already on the target. Re-applying the debuff while buffed increases the damage of the bleed. I want the icon to show when the buff is applied to me but then go away once I apply the debuff to the target at the higher level of damage. My problem is that when I implement a trigger to show the icon when the buff is on me and then I apply the debuff...the icon does not go away because the buff is still on me and I've told it to show itself when the buff appears. How do I set the trigger to tell it to show the icon when the buff appears and then the icon disappears once I've applied the debuff to the target?Blackwood1 22h
1d Changing Gun Sound for Serpentbite So in the last few weeks of Legion, I got geared up enough to take on and beat the BM Mage Tower challenge. Great. Then I find out that Serpentbite, despite being a crossbow, uses Titanstrike's default gun sound and animation effects. I've never liked guns on my Hunter, and always mog right out whenever I got one that was an upgrade. With Serpentbite I can't do anything about the visuals, but sound I can. I'm no stranger to changing sounds, and I've done so in the past (when they added new additional death sounds for female Draenei and they sounded comic and dramatically overwrought I replaced them with copies of the originals.) So I've attempted to replace the gun sound effects. Used a CASC viewer, got the files and paths, copied the bow sound effects over and gave them the names of the gun sound effects. Put them all in the correct directory structure: World of Warcraft\Sound\Item\Weapons\Gun File names are: GunFire01 GunFire02 GunFire03 GunLoad01 GunLoad02 GunLoad03 Except, it didn't work. Titanstrike/Serpentbite still sounds like a gun. Do Artifact weapons use a different directory or am I missing something else here? I've searched and can't find anything that seems to apply. Like I said I've done sound replacement in the past and it's always worked. Thanks for any advice/help in advance.Hunteryx4 1d
2d specific file-path for NPC's sound files I really, really, _really_ hate the "default greeting" flies used for Dorothy "Two" <Fur Trader> [#1]. She uses the "angry" sound files (i.e.: "HumanFemaleWarriorNPCPissed") [#2] as her default "greeting." >__< In order for me to fix this, I first need the file-path used for her sound files. So, my question is, how do I find this info, please? I'd be grateful for whatever assistance I can get. Thanks! ;-) Franklin Notes: 1. http://www.wowhead.com/npc=91025/#sounds 2. http://www.wowhead.com/sound=5988/#commentsAzgaroth1 2d
2d Macro to use a random transform toy? Is it possible to make a macro that chooses to use a toy at random that has a disguised effect? For example, Gamon's Braid, Millhouse Manastorms toy, Burgy Blackheart's hat, Jewel of Hellfire, Bloodmane Charm, Kalytha's Locket, etc etc. I like costume effects but it would be way more fun to just get them at random, without having to dig into my journal search around, and pick one specifically etc. Would also be much more simplified to have 1 macro fill this niche in general. Is this possible?Cyy1 2d
2d Stagger % for Shadowed Unit Frames? Is there any way to show what percent of my stagger bar has been filled up in Shadowed Unit Frames? The damage numbers help, but I would appreciate a percent like the default blizzard frames use. (my Brewmaster monk is only 62 but I had to change the character to post this)Draninton0 2d
2d Elvui Chat Disappearing I am using Elvui and I want the chat to show ALL THE TIME, but when I'm not typing the whole chat disappears, the box and all, so its hard to have conversations with guildies and raiders, anyone know a fix for this and is willing to share?Falaraa8 2d
2d Appearance Tracker: Complete 10 Dungeons I've been looking online for a macro that can be used to track progress, but I cannot find one. Is there one available? This is for the additional color skin you unlock after completing the challenge appearance. It requires you to complete 10 different Legion dungeons. Thanks!Outrunthesun15 2d
2d Healbot hiding my WoW raid frames I have been having issues with my raid frames not coming up when in groups. I finally narrowed it down to healbot and would like to know how stop healbot from disabling the standard wow UI raid frames. If anyone could help it would be much appreciated.Aalea6 2d
2d Bartender and Keybinds on Spec Switch Hello quick question. I've always wondered why doesn't bartender4 save keybinds for each spec? Is there an option I've been missing for 2 years of using this addon? For example: I have my Ardent Defender set to F1 on a button in Bartender, and in my Ret spec it's Hammer of Wrath. But I would like to have my hammer of wrath on F2 let's say. I can't do that cause then F2 would be Ardent Defender. Is there a way around this? Just curious.Icytitan6 2d
2d ArkInventory Guild Bank Sorting I have used Arkinventory for many many years and love it to bits the only issue I have is I can't get The sorting to work in my guild Bank It works great in My personal Bank and in my Bags but when I try to sort in my guild Bank it does nothing ? Ps: I am a 1 Man guildSneaky2 2d
2d [SOLVED]-YATQ 20180712 My brain hurts. I've been staring at this for a day. local AddOnName, HT = ... local f = HT.Functions function f:GetActions() wipe(HT.State.Actions) wipe(HT.Work) HT.Work.Action = {} local Actions = HT.State.Actions local Action = HT.Work.Action for actionSlot = 1, 120 do Actions[actionSlot] = {} Action.aType, Action.aID, Action.aSubType = GetActionInfo(actionSlot) if Action.aType == "spell" then Action.SpellName, Action.SpellNameExtention, Action.SpellIcon, Action.SpellCastTime, Action.SpellMinRange, Action.SpellMaxRange, Action.SpellID = GetSpellInfo(GetSpellInfo(Action.aID or 0)) print("Action Slot:", actionSlot, "Spell Name:", Action.SpellName, "/", Action.SpellNameExtention, "Icon/Cast/Min/Max:", Action.SpellIcon, "/", Action.SpellCastTime, "/", Action.SpellMinRange, "/", Action.SpellMaxRange, "ID:", Action.SpellID) if Action.SpellName then Actions[actionSlot].Type = "SPELL" Actions[actionSlot].ID = Action.SpellID Actions[actionSlot].Name = Action.SpellName else Actions[actionSlot].Type = "SPELL" Actions[actionSlot].ID = 0 Actions[actionSlot].Name = "Unknown" end end wipe(HT.Work.Action) end end For every single action of type "spell" that passes through the routine, the printed data is correct EXCEPT for Heart of the Phoenix. Slot: 8 Spell Name: Eagle Eye / / Icon/Cast/Min/Max: 132172 / 0 / 0 / 50000 ID: 6197 Slot: 13 Spell Name: Cooking / / Icon/Cast/Min/Max: 133971 / 0 / 0 / 0 ID: 195128 Slot: 14 Spell Name: Cooking Fire / / Icon/Cast/Min/Max: 135805 / 2000 / 0 / 3 ID: 818 Slot: 15 Spell Name: Blacksmithing / / Icon/Cast/Min/Max: 136241 / 0 / 0 / 0 ID: 195097 Slot: 16 Spell Name: Survey / / Icon/Cast/Min/Max: 134435 / 1000 / 0 / 40 ID: 80451 Slot: 17 Spell Name: Archaeology / / Icon/Cast/Min/Max: 441139 / 0 / 0 / 0 ID: 195127 Slot: 40 Spell Name: Aspect of the Turtle / / Icon/Cast/Min/Max: 132199 / 0 / 0 / 0 ID: 186265 Slot: 44 Spell Name: Heart of the Phoenix / Ferocity Ability / Icon/Cast/Min/Max: 134373 / 0 / nil / nil ID: nil Slot: 45 Spell Name: Mend Pet / / Icon/Cast/Min/Max: 132179 / 0 / 0 / 45 ID: 136 Slot: 47 Spell Name: Exhilaration / / Icon/Cast/Min/Max: 461117 / 0 / 0 / 45 ID: 109304 Slot: 58 Spell Name: War Stomp / Racial / Icon/Cast/Min/Max: 132368 / 500 / 0 / 0 ID: 20549 Slot: 79 Spell Name: Binding Shot / / Icon/Cast/Min/Max: 462650 / 0 / 0 / 30 ID: 109248 Slot: 91 Spell Name: Vindicaar Matrix Crystal / / Icon/Cast/Min/Max: 1033183 / 0 / 0 / 0 ID: 251463 Slot: 93 Spell Name: Dismiss Pet / / Icon/Cast/Min/Max: 136095 / 3000 / 0 / 50000 ID: 2641When I directly examine the action slot for where the above says HotP is like this. . . /run print(GetActionInfo(44)). . .I get this. . . spell 55709 pet. . .as a result. Now, granted, HotP is a pet ability, but if I run this. . . /run local _, aID=GetActionInfo(44) print(GetSpellInfo(GetSpellInfo(aID))). . .it returns all seven items correctly (no nils). . . Heart of the Phoenix Ferocity Ability 134373 0 0 0 55709Run another way to break out the individual return values more clearly like this. . . /run local _, aID=GetActionInfo(44) local t={GetSpellInfo(GetSpellInfo(aID))} for k, v in ipairs(t) do print(k, v) end. . .I get this result. . . 1 Heart of the Phoenix 2 Ferocity Ability 3 134373 4 0 5 0 6 0 7 55709. . .which clearly shows non-nil values in all seven return variables. HT.State.Actions and HT.Work are defined in an initialization module and in any case, this whole thing works for all but ONE spell, so that's not likely the issue. WT-Heck am I doing wrong? That trick of feeding the results of GetSpellInfo(bySpellID) back into GetSpellInfo(bySpellName) is canon (I've seen it used in Blizzard's own code) and serves as a back-door method for getting whether or not the spell is currently in the spellbook (lookup by ID will always return results - lookup by name will only return results if the spell is currently in the spellbook). It also resolves issues like when you have a spell that morphs into a different spell based on talents like Charge turning into Intercept with Protection Warriors (although that's more a macro thing than a spell-directly-on-an-action-button thing). But again, very nearly the exact same code works when entered as a /run command and how on Earth can this be returning a spell NAME but not spell ID (or, and I care less about these, spell Min and Max Ranges)?Ehiztari17 2d
2d Pain Suppression Macro...need help Could someone tell me the correct syntax for causing Pain Suppression to go off when I have a party member selected OR if I have a boss/mob selected it puts Pain Suppression on the boss's target (a tank) OR if I use SHIFT it would put it on my focus target Thank youEeshen2 2d
3d Weakaura -> Track Ignore Pain %? Hey all, Did a bunch of Googling but wasn't able to find what I was looking for. I'm just wondering if it is possible to create a weakaura that shows how much is remaining on Ignore Pain in percentage form. Example: You cast Ignore Pain and get a shield worth 30k. 30k would be 100%. When there is 15k of shield left it would show as 50%, etc. Trying to get my UI ready for BFA and would really like to find a better way to track Ignore Pain rather than time left which can be misleading. Thank you!Scotiabank3 3d
3d Bartender Issues Hi, My Bar 6 doesn't show the Keybinds I have set for the slots. How do I fix that? I do not have "Hide Hotkey" checked but I still can't see the hotkeys. Update: Nevermind! Sorry! The keybinds were working but not showing. I just re-bound them to get them to show. Sorry!Germaximus0 3d
3d Priest penance macro Hi! I need some macro advice and would appreciate your help, what i want is to combine the following two string so if i have a mouseover i will cast penance on that target (only friendly if possible), if i dont, penance will be casted on the target of target, I've tried it in several ways and I'm still unsuccessful . /cast [target=mouseover,help,nodead][help,nodead] Penance /cast [harm] [target=targettarget] Penance Thanks in advance for the help!Cruzcredem1 3d
3d Warlock interrupt macro I'm sorry guys, I'm just trying to wrap my head around how macros work and I just can't seem to figure it out. My goal, if possible, is to put Spell Lock, Mortal Coil, and Grimoire: Fel Hunter all tied to one button click. (I'm trying to do the Destruction artifact challenge) #showtooltip /castsequence Spell Lock(Special Ability), Grimoire: Felhunter, Mortal Coil Using that I can't cast Grimoire or Mortal Coil. Is it because Spell Lock is on CD? Does it have to do with the GCD? Is there any way to get this to work? Any help would be great. Thanks in advance.Tsekura1 3d
3d Simple weakaura for tracking %health? What's a simple weakaura for tracking percent health of mobs? I just need something to display the number for me to 2 decimal points. For some reason, the version I made tracks it out to a rather obscene number, and I can't figure out how to truncate it. (If there's something other than a weakaura that does this, that works too). EDIT: got it figured outKurogasa0 3d
3d Mindbender Status in Shadowed Unit Frames? Is there any way to display the status of the ability Mindbender in SUF? I've tried both pet and totem bars, but neither has given me anything. Is there any way I can have a timer that shows the status of my mindbender in Shadowed Unit Frames?Draninton1 3d
3d Focus @Target Only If Focus.noexists I have been searching and trying to figure this out but I just can't get it :( /Focus @Target only if focus.noexists /petattack @focus thank you so much for the help! edit: to be clearer I am trying to make a macro that sets the focus to what the target currently is, if there is no current focus. But it will never change focus if there is already a focus set.Benjiboots3 3d
4d VW Suffering Macro(s) Help pls Disclaimer: First post, even though my screen currently shows four??? Spent a couple days searching and testing different macros with this found and read dozens of similar topics, but still having multiple issues. Macro I've been using /petautocasttoggle threatening presence /petautocasttoggle suffering -I was using this as suffering wasn't working when i put it into macros as a slash command at all. Just kept saying spell not learned maybe something to do with being Nightborne and they get it earlier than normal locks? Maybe a glitch but anyway since i recently leveled it had a pop up saying that I learned the spell and now the macro doesn't work for suffering, but /cast can now... Is this a bug or intended? I had also liked the idea of the macro where /petautocasttoggle suffering /cast threatening presence -but the pain there was that they would keep getting desynched and defeating the whole point of trying to get it into one click Is it still possible to toggle suffering on and off withing a macro? if so how? Ultimate desired end result, that I'm starting to doubt is even possible, One button that would -toggle both skills on or off -Use Suffering on current target -activate or deactivate threatening presence respectively PS: sorry for the messy jumble and bad well everything XD Im tired and half dumbWrathborne6 4d
4d Is H.H.T.D still around? Did this add-on get banned? I can’t find it when I search for it in the twitch client.Yaldrik10 4d
4d Game menu command? Hey lads, i just accidentally unbound my escape button when i was trying to bind my reply button, and now i cant get back into the game menu. Would be very appreciated if anyone can please post the /command to open the game menu or the key bindings page. Cheers in advance. <3Immadruid22 4d
4d Addons dont work when logging into BfA Beta So I'm trying to install addons right now. I've downloaded all of the beta versions of the addons I use and put them in the correct beta/interface/addons folder but when I log on I have no options to turn on/off addons and no addons show up when logged into character. Any ideas what's going wrong?Sippyy5 4d
4d Camera Macro Help Hello all, I am looking for help creating a macro for camera distance. What I want to do is create a macro that I can press to zoom the camera out (mostly for use while mounted) and press it again to return the camera to my default position (for when I dismount). I have my mouse wheel key bound for various abilities and use arrow keys for camera functionality, so having a macro to bounce between a couple camera presets would simplify things for me. I apologize if there is information of this sort already on the forums, but I have done numerous google searches and only come across max camera zoom information. Any help will be greatly appreciated.Yield3 4d
4d cheap shot mouseover with modifier Here's what I have so far: /cast [mod:shift,@mouseover,exists,nodead] [mod:shift]Cheap Shot;[@mouseover,exists,nodead] []Blind The Blind part works, can't seem to get the modifier working. I am sure it's operator error.Hicksey4 4d
5d Mount Macro, in sequence Is there a macro or perhaps an addon that will allow me to cast my favorite mounts in a sequential order? I know there are plenty random mount addons or even the in-game favorite mount button, but I'm looking to cast from a predetermine selection in order.Jealme8 5d
5d Weak Aura 2 help Using Weak Aura 2 and I'm seeing multiple weak aura groups at once. One out of combat and 3 pop up in combat. Thing is I only downloaded one Weak Aura template off Wago Under loaded the only thing is that profile, so why am I seeing like 4 different profiles show up in combat ? thanksSevresa1 5d
5d Healer Icon Disappearing in BGs - Elvui I keep running into the issue of the Healer Icon on the enemy healer's nameplates disappearing in Battlegrounds. It's not consistent either. Some games it's fine and the healers are marked, other games there's no icon at all and the healers look the same as the dps classes. I only use Elvui as a UI Addon, and I use Elvui's standard nameplates. Just wondering if anyone else has experienced this, and if so, knows a fix. ThanksCodyvx6 5d
5d Missing Floating Combat Text Since the pre-patch, I can't seem to get floating combat text working. I'm looking for the numbers that pop up over a character when you deal damage or heal them, not the scrolling numbers that appear around the character. (I did find that in the interface options, but it doesn't seem to show any damage numbers, just healing) I've purged my addon folders and the issue still persists. Anyone have any idea?Gorgothi45 5d
5d Healbot vs. Vuhdo So, I'm finally taking the plunge and trying to use an add-on. Since I'm a healer, I'm considering Healbot and Vuhdo. From a purely tech point of view (ease of modification, lack of glitches, ease of updating, etc.) which is preferred? I feel like healers like them both, so I'd like to choose the one that will give me the least headaches. I want to spend more time playing, and less time fixing my add-ons! Thanks!Baalin13 5d
5d Focus exist cast spell, no focus set focus So I have spent over an hour trying to figure this out and would love some help. What a want is a macro to if no focus exist set focus as my mouseover and if focus exit cast tricks of trade on the focus. This is what I have so far but it doesn't work: /cast [@focus, exist] Tricks of the Trade /focus [target=mouseover] I found wowwiki really confusing. Thank you for any help.Kumana4 5d
5d Chi-Ji /castsequence macro broken A normal cast sequence macro looks like this: #showtooltip /castsequence reset=30 Thunder Focus Tea, Enveloping Mist However, because "Invoke Chi-Ji, the Red Crane" has a comma followed by a space, my macro is trying to read "Invoke Chi-Ji" and "the Red Crane" as two separate spells. Broken example: #showtooltip /castsequence reset=180 Revival, Invoke Chi-Ji, the Red Crane Is there a way around this? Like the use of quotations or parenthesis around the Chi-Ji spell name? any help or ideas are appreciated!Bigmoonk1 5d
5d Rogue Shiftmacro Not Working? I've run into some trouble with the following Rogue macro, and for the life of me can't determine why it won't work. #showtooltip [modifier:shift] Rupture; Garrote /cast [modifier:shift] Rupture; Garrote Garrote always works, but Rupture never does. Don't know what's going on. Any help would be appreciated. Thank you.Sif5 5d
5d AddOn Programming - Getting Started? I am an experienced C/C++ programmer (mostly O/S code - drivers, file system stuff, one compiler) who would like to learn Lua for World of Warcraft AddOn development. Now, the grammar of Lua looks very straightforward (tho' I shall miss the semicolon) but when I look at the source files for a number of addons, I'm afraid I'm a bit confused. My question in this post is about how best to structure an AddOn's source files. Given my lack of experience in Lua and WoW AddOn development, I thought I would write a practice library consisting of a few functions that do nothing but return dummy values. Now, just for clarity, if someone asked me this question about C/CPP, I would recommend they structure their source files along these lines - an include file, the library source declaration file, and a test file. Here's the header file (declarations). I would tell the person why we use the #ifndef/#endif preprocessor directives. dummy.h #ifndef DUMMY_H #define DUMMY_H int dummy1( void ); . . . void dummyN( void ); #endif /* DUMMY_H */ Here's the file containing the library's definitions dummy.c #include "dummy.h" int dummy1( void ){ return(1); } . . . char* dummyN( void ) {return ("Hello world!");} /* END DUMMY.C */ Here's the application code dummy_test.c #include "dummy.h" int main( int argc, char **argv ) { printf("%n\n", dummy1 ); printf( dummyN() ); } /* END DUMMY_TEST */ So, with respect to AddOn development, can (or should) AddOn files be structured analogously? No less important is the related question dealing with how programmers prevent the names of their variables and functions from colliding with names in some other arbitrary AddOn? Thanks, in advanceBonybabe11 5d