Integrated Development Environment (IDE)
Coding and language interpreters provide integrated development environments, or IDEs, that are necessary for scripting in "World of Warcraft." As such, you will need to use an IDE geared toward the Lua scripting language. Popular Lua IDEs are WoWLua, which allows for in-game scripting and compiling, or B:Lua. After installing your preferred IDE, spend time becoming familiar with the layout and features.
"World of Warcraft" MPQ Tools
Scripting in "World of Warcraft" requires access to the game's MPQ files, which are Blizzard's proprietary version of a zip file. An MPQ file contain the game's native development files and code. Download "WinMPQ" to open the "Interface.MPQ" and "Patch.MPQ" files located in the "World of Warcraft" directory. These contain the base interface code as well as additional changes resulting from patching. You'll need quick reference familiarity with the native scripts, events and the game's application programming interface (or API) as you script additional interface modifications.
Learning Lua for "World of Warcraft"
Lua is an extension language designed for programs written in the "C" programming language that extends the base program's configuration options. Lua scripts are easily embedded, which is why it is optimal for scripting the game's user interface. Lua scripts easily alter or extend the native interface by embedding unique functions without changing any of the game's core programming and mechanics. To learn Lua for scripting, visit the official reference manual found on Lua.org.
Learning the API and XML
If Lua is the scripting language used for modifying the native user interface in "World of Warcraft," then XML is the scripting language that loads the Lua code in-game. To script in "World of Warcraft" you must also create an XML file and define various events and frames using the predefined "World of Warcraft" API and event handlers. These APIs and events are available at http://wowprogramming.com/docs.
Launching the Script In-Game
"World of Warcraft" can only launch scripts contained within the "Addons" directory located in the "Interface" folder of the game's root directory. The folder that contains your add-on files and scripts must contain a .lua, .xml and a .toc file. The .toc file is a table of contents file that the game loads at launch to verify a match between your script version and the latest patch content. Provided the version matches the latest patch number, the game launches your script by loading the XML file, which in turn loads the Lua script.