World of Warcraft Programming: A Guide and Reference for Creating WoW Addons, 2nd Edition
World of Warcraft (WoW) is currently the world's largest massively multiplayer online role-playing game. The newest release, "Wrath of the Lich King," has created a demand for updated information on writing addons. This eagerly anticipated edition answers that request and is an essential reference for creating WoW addons.
Written by a duo of authors who have each contributed a number of successful WoW addons, the book offers an overview of Lua and XML (the programming languages used to write addons) and includes coverage of specific pitfalls and common programming mistakes-and how to avoid them. Valuable examples show you detailed aspects of writing addons for WoW and demonstrate how to implement addon concepts such as variables, slash commands, secure templates, and more.
- World of Warcraft insiders share their techniques for writing addons for both the latest version of WoW as well as the new Wrath of the Lich King expansion set
- Guides you through the specific nuances of the WoW API with the use of detailed examples
- Discusses ways to distribute and host your WoW addons so others can download and use them
- Explains how to respond to events, create frames, and use the WoW API to interact with the game
You'll be well on your way to creating exciting WoW addons with this comprehensive reference by your side.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Part I Learning to Program 1
Chapter 1 Programming for World of Warcraft 3
Chapter 2 Exploring Lua Basics 13
Chapter 3 Basic Functions and Control Structures 39
Chapter 4 Working with Tables 53
Chapter 5 Advanced Functions and Control Structures 77
Chapter 6 Lua Standard Libraries 91
Chapter 7 Learning XML 111
Part II Programming in World of Warcraft 123
Chapter 8 Anatomy of an Addon 125
Chapter 9 Working with Frames, Widgets, and Other Graphical Elements 143
Chapter 10 Saving Time with Frame Templates 171
Chapter 11 Exploring the World of Warcraft API 187
Chapter 12 Interacting with Widgets 207
Chapter 13 Responding to Game Events 243
Chapter 14 Tracking Damage with CombatTracker 267
Part III Advanced Addon Techniques 283
Chapter 15 Taking Action with Secure Templates 285
Chapter 16 Binding Keys and Clicks to Addon Code 309
Chapter 17 Creating Slash Commands 337
Chapter 18 Responding to Graphic Updates with OnUpdate 351
Chapter 19 Altering Existing Behavior with Function Hooking 359
Chapter 20 Creating Custom Graphics 373
Chapter 21 Responding to the Combat Log and Threat Information 387
Chapter 22 Creating Scroll Frames 413
Chapter 23 Creating Dropdown Menus 431
Chapter 24 Scanning and Constructing Tooltips 451
Chapter 25 Taking Protected Action in Combat 463
Chapter 26 Creating Unit Frames with Group Templates 501
Part IV Reference 537
Chapter 27 API Reference 539
Chapter 28 API Categories 1025
Chapter 29 Widget Reference 1121
Chapter 30 Events Reference 1277
Part V Appendixes 1303
Appendix A Best Practices 1305
Appendix B Utilizing Addon Libraries 1329
Appendix C Tracking History Using Version Control Systems 1339
Appendix D Addon Author Resources 1349
Rick Roe, aka the crazy goblin tinker Gazmik Fizzwidget, created Feed-O-Matic, FactionFriend, and some other addons so awesome that Blizzard rolled their functionality into its new UI.
Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.
|276||Error in Text
On page 276, in the code listing for CombatTracker_OnEvent, the code listing has this line:
Total_time = math.mind(end_time – start_time, 1)
“Math.mind” should be “math.min”, as it sets the minimum value for the variable total_time.
ee how the WoW add-on CombatTracker is created with Lua and XML by following along with a demonstration from James Whitehead's new book, World of Warcraft Programming, 2nd Edition.