background preloader

Addons Development

Facebook Twitter

How Do I Create WoW AddOns? I’ve just started wanting to check out more of a different angle in WoW as I’m impatiently waiting for WotLK. I have always used Addons for World of Warcraft and I have always wanted to know how I can create them. So I guess, my question is how can I make addons for WoW? Creating AddOns isn’t for the faint at heart as it involves a whole lot of programming but if you have a basic idea of how to write programs you will probably be able to create AddOns fairly well. One of the awesome things that Blizzard has done for WoW is to let people create AddOns that enhance the gameplay. They have also released the “World of Warcraft Interface AddOn Kit” which has many nice tools in order to help you out in the process.

I’m not going to go in a huge amount of detail about what it takes to make an AddOn but give you more of a getting started guide that will lead you to a basic understanding of how you can create AddOns. Here’s the most important basic structure of every WoW AddOn. WoW mod: TraceEvent 1.3. Ken Fox, kfox@vulpes.com TraceEvent is in the public domain.Download TraceEvent 1.3 TraceEvent collects function call counts, calls/second, peak calls/second and average per-call memory usage of Lua global functions.

The original release was designed to trace all OnEvent functions, but v1.2 allows you to specify functions by name or pattern. V1.3 now allows tracing of OO methods. Here's an example of tracing some FlexBar and WatchDog functions. TraceEvent can be EXTREMELY INVASIVE -- it will hook the functions you tell it regardless of the wisdom of such actions. That said, it is possible (and even useful!) In this version you may turn off tracing call counts or memory usage. The TraceEvent UI will be visible at start up.

To start tracing a function: type the name or pattern into the edit box, then press the "Add" button. If you did not turn on memory usage when you added a function, holding the shift key and left clicking the function will turn it on. DevTools. WoWWiki Hosted AddOn Page The DevTools AddOn is a small addon which provides tools for developers of UI mods, particularly for examining the World of Warcraft API. It's primarily a tool I built for myself but I figured I'd share it in case it's useful to others. Obtaining Edit You can download the Addon from my download site or from wowinterface.com. Usage /reload Edit Just a shortcut (since I'm lazy) for /script ReloadUI() /dump expression Prints the result of executing a LUA expression (Basically /script but with output).

E.g. /dump GetPlayerMapPosition("player") DevTools: value=GetPlayerMapPosition("player") [1]0.43320921063423 [2]0.69365233182907 /dtchatevent Toggle chat event tracking/debugging (this is a saved setting). /dtchatevent buffer Displays the current chat event rolling buffer size. /dtchatevent buffer <size> Set the current chat event rolling buffer size (e.g. /dtframestack Toggles the 'frame stack' window, which displays the stack of visible frames under the mouse pointer. Index of /wow/downloads. Blizzard DebugTools. The Blizzard DebugTools appeared in Patch 3.2 and added a set of new slash commands to assist with addon development and UI tweaking. Inspired/derived from Iriel's DevTools addon. Frame stack Edit Description Edit Displays information about the frames under the mouse cursor.

Usage /framestack [showhidden] /fstack [showhidden] Arguments showhidden - if "true" then will also display information about hidden frames See Also MACRO_framestack Event Trace The EventTrace command assists addon developers in figuring out what events fire in certain circumstances. Usage /eventtrace [command] /etrace [command] start - enables event capturing to the EventTrace frame stop - disables event capturing number - captures the provided number of events and then stops If no command is given the EventTrace frame visibility is toggled.

MACRO_eventtrace Dump Used to print variables or expression results to the chat frame. /dump expression expression can be any valid lua expression that results in a value. See also MACRO_dump. AddOn Studio for World of Warcraft. Useful AddOns for debugging/profiling. Blizzard has made a large programmable environment and hundreds of modders are making useful mods in it. Yet there is very little support inside the game for debugging, profiling, tracking and so forth. There are some useful add-ons which can help you in making your own add-ons or with checking what is going on in your client. I have found them extremely useful when checking memory requirements of my add-on collection in addition to trying to figure out which add-on was using most of my processing power. So, here are few useful tips for add-ons which give you some useful profiling and debugging abilities. DevTools from Iriel allows executing Lua expressions and lets you work with Chat Events.

OnEventWatch from Gello will let you know which frames OnEvent is taking too long to execute. LuaProfiler allows you to trace functions calls and reports how much time was spent in that function (on average and peak). Warmup has helped me a lot when there were issues with long times of zoning. Development Help AddOns.