Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
Advertisement

HOWTOs are detailed documents describing "how to" accomplish something specific. Most of them will assume a basic understanding of the WoW scripting language and framework. For more information on the framework please refer to Portal:Interface customization, AddOns, and World of Warcraft API.

This list may be incomplete; all HOWTOs are listed on Category:HOWTOs.

Tutorial names may be prefixed by tags:

OOD
The tutorial is marked as being out of date.

Getting Started

Getting started with writing addons
An overview of the tools, code and file types involved in creating addons.
AddOn programming tutorial/Introduction (Overview Page)
Creating a Hello World! AddOn.
Setting up Visual Studio for WoW XML
On a Windows platform, you can use Visual Studio to create XML descriptions of interfaces.

General Lua tutorials

Common Lua shortcuts
Commonly occurring uses of Lua logic evaluation short-cuts, method syntax and the global environment.
Function arguments
Declaring and passing arguments to functions.
Using the argument '...' efficiently
Tips concerning the vararg operator.
Hooking functions
Functions are first-class values in Lua, which allows you to override or extend the behavior of already declared functions.
Pattern matching
An overview of the regular expression features of Lua.
HOWTO: Speed up string match lookups
Describes how to potentially speed up multiple similar pattern string matching.
HOWTO: Use Tables Without Generating Extra Garbage
An overview of techniques enabling table reuse and avoiding excessive garbage generation.


General Addon tutorials

Creating AddOn dependencies
Adding required or optional dependencies to your addon's .toc file.
Getting the current interface number
For use in .toc files.
Getting more useful errors
Amending the error handler function to display the execution stack.
Making an addon easy to localize
General techniques enabling localization.
Localizing an addon
Easily localize an addon
A localization code example.
Using bindings.xml to create key bindings for your addon
Enabling default UI bindings.
Handling events
Creating, and managing event handler code.
OOD Parsing event messages
Using the GlobalString format methods to match event texts.
Saving variables between game sessions
Description and examples of saving variables to disk.
Creating defaults
creating default values in your addon's saved variables.
Using OnUpdate correctly
Throttling OnUpdate code execution.

Using FrameXML

Changing a button's action slot ID
Creating GUI configuration options
A custom configuration frame tutorial.
Creating tabbed windows
Using UIPanelTemplates to create tabs.
Creating a slash command
Extracting info from a slash command
Parsing the message string passed to the slash command handler.
Creating your own chat types
Adding new chat types allows users to redirect your addon's chat output to one or more desired chat frames.
Making a scrollable list using FauxScrollFrameTemplate
FauxScrollFrameTemplate tutorial.
Creating standard left-sliding frames
using the UIPanelLayout attributes to manage your frame's position.
Make Frames Closable With the "Esc" Key
using UISpecialFrames to enable this behavior.
Removing Blizzard default frames
Maps default UI elements to frame names and suggests use of the :Hide() widget function.
Hooking Outgoing Chat Messages
Describes a mechanism to alter outgoing chat messages.
Creating simple pop-up dialog boxes
Using StaticPopup to display simple prompts.
Using UIDropDownMenu
Drop down boxes and menus using the FrameXML API.
Using the Interface Options Addons panel
Describes how to create an option panel that works with the default UI's Interface Options frame.
HOWTO: Use the ColorPickerFrame
Invoking the default color picker.

Widgets

HOWTO: Scroll EditBoxes to the left programatically
Making Draggable Frames

Using the API

Getting Player and Realm Name At Load Time
UnitName and GetPlayerRealm are now always return correct values for the player.
Detecting an instant cast spell
Using the UNIT_SPELLCAST_SUCCEEDED event.
Identifying buffs using textures

Others

Using Earth to create a QuestLog (Part 2)
The Earth library is part of Cosmos.
OOD Using function hooking libraries
Describes the benefits of using AceHooks.

Macros

Making a macro
An overview of the various macro slash commands.
OOD Shrinking a macro
Techniques that could shorten scripts in a macro.
Advertisement