Posts Tagged ‘addon’

So my doodad-a-week project hasn’t been going as I’d hoped. Too many things going on, and I have several toons to support in WoW. One thing that has been going well is Yoink, my first addon for WoW.

Yoink is a pickpocketing stats addon that tells you all sorts of nifty info, including gold-per-minute, total gold, number of mobs pickpocketed, and how many healing potions and junkboxes you’ve pilfered from unsuspecting NPCs.

I have to say that programming in Lua is a blast. My only complaint about it is the same beef I have with PHP, which is that there is no consistent naming convention for functions. Other than that, it’s really slick and easy to pick up.

To learn the basics, I started out with the ShowMeTheMoney addon demo. I like learning a new language/platform by typing in everything by hand first, then messing around with the IDE. After I got the general gist of what was going on, I downloaded the WoW Addon Studio. It’s built using the Visual Studio shell, so it was nice to have a familiar environment to work in. While it’s very handy, it does have several quirks. I’ve come to use it mostly for its syntax highlighting and intellisense, mostly. I no longer use the visual editor except to browse through the various backgrounds, buttons and bling that you can use in your widgets.

One of the frustrating things I ran into while making Yoink was that events aren’t reported in the order they occur. Anybody building Flash/Flex apps should be familiar with that happening. Come to think of it, fellow Second Life scripters deal with the same thing. It’s a big ol’ world of asynchronous event handlin’.

Yoink is in testing right now. I’m publishing it via CurseForge, which is really nice since they act as your code repository (supporting git, svn, cvs, etc.) and have a very active addon developer community.

So yeah, that was fun and all, but I don’t see myself making a lot of addons for WoW. I might make some class-specific utilities but I’m not getting involved in anything big. Back to thinking about web games! So there.