Apress Access

Beginning Lua with World of Warcraft Add-ons

By Paul Emmerich

  • eBook Price: $24.99
Buy eBook Buy Print Book
Deadly Boss Mods author Paul Emmerich will take you from novice to elite with his approachable, up-to-date guide to building add-ons for World of Warcraft.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-4302-2371-9
  • User Level: Beginner to Intermediate
  • Publication Date: July 27, 2009
  • Available eBook Formats: EPUB, MOBI, PDF

Related Titles

  • Practical GameMaker: Studio
  • Rapid Game Development Using Cocos2d-JS
  • IT Through Experiential Learning
  • Scratch by Example
  • Polished Game Development
  • Beginning RPG Maker MV
  • Agile Swift
  • Pro Tableau
  • Source Code Analytics With Roslyn and JavaScript Data Visualization
  • Introducing Bootstrap 4
Full Description

If you play World of Warcraft, chances are you know what Deadly Boss Mods is: it's the most widely downloaded modification available for World of Warcraft, considered required software for many professional raid guilds, and arguably the most popular modern video game mod in history.

Paul Emmerich, the author of Deadly Boss Mods, will take you from novice to elite with his approachable, up-to-date guide to building add-ons for the most popular video game in history. Using the powerful Lua scripting language and XML, you'll learn how to build and update powerful mods that can fundamentally remake your World of Warcraft experience and introduce you to the field of professional software development.

Beginning Lua with World of Warcraft Add-ons teaches you the essentials of Lua and XML using exciting code examples that you can run and apply immediately. You'll gain competence in Lua specifics like tables and metatables and the imperative nature of Lua as a scripting language. More advanced techniques like file persistence, error handling, and script debugging are made clear as you learn everything within the familiar, exciting context of making tools that work in Azeroth.

You'll not only learn all about the World of Warcraft application programming interface and programming, and gain coding skills that will make all your online friends think you're a coding god, but also gain hands-on Lua scripting experience that could translate into an exciting job in the video game industry!

What you’ll learn

  • See how to program Lua using basic and advanced techniques applicable to WoW and video game coding.
  • Explore the unique design, modeling, and workflow constraints of video game mod makers from one of its most successful practitioners.
  • Become the coolest character on your server–with tools and scripts that will make your friends gasp.

Who this book is for

This book is for World of Warcraft players, developers, and mod makers who want to learn how to program add-ons in Lua and XML, either to learn Lua or to improve their game experience. Working coders who don't know Lua and want to learn about this exciting, popular scripting language will also benefit.

The advanced material in this book will also be useful to those with World of Warcraft addon programming experience, so prior programming experience is an advantage, but not a requirement.

Table of Contents

Table of Contents

  1. Getting Started
  2. Lua Basics
  3. Using the WoW API to Create a "Hello, World" Mod
  4. Working with Game Events
  5. Using XML and Frames
  6. Advanced Lua
  7. Using Advanced Lua to Extend the Texas Hold’em Poker Add-on
  8. Building a Poker Game Client with Add-on Communication
  9. Using the Combat Log to Build a Cooldown Monitor
  10. Using Libraries
  11. Working with Secure Templates
  12. Macros
  13. Tips, Tricks, and Optimization
  14. Other Uses for Lua
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.


If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.

On page 64:

HelloWorldText[id:lower()] = text should say:
HelloWorld_Text[id:lower()] = text

It's missing the underscore calling the incorrect table.


    1. Beginning Lua with World of Warcraft Add-ons


      View Book