Introduction xxxix
Part II discusses the way addons are built and the basics behind the frame
system in World of Warcraft. In this part you create your first addon and
become familiar with the WoW API.
Part III of the book guides you through some of the more advanced topics
by creating a number of addons from start to finish.
Finally, Part IV is a comprehensive reference to the entire API, including
functions, widgets, events, and secure templates.
What’s on the Website
Every few months, Blizzard releases a new patch for World of Warcraft that
mayintroduce new content, fix existing bugs, or even drastically change game
mechanics.As a result,thematerialcoveredin this bookwill change fromtime
to time. To help combat this problem, the authors have created a companion
website for the book at
http://wowprogramming.com
.While we do not expect
sweeping changes to the core concepts, the details of any specific changes will
be listedon thewebsite,includinginformation abouthow thosechanges affect
the material in this book. Besides serving as a glorified errata repository, the
website also has online versions of all the references included in the book.
From Here
The World of Warcraft user interface community is a very exciting place
with endless possibilities for customization and realization of ideas. World of
Warcraftis afun gameinitsownright;thecapability touseitas adevelopment
platform for addons that can help users and enhance their game experience is
an extra bonus that each of us can enjoy. So Enjoy!
Pdf change page order acrobat - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
how to move pages within a pdf document; how to move pages in pdf converter professional
Pdf change page order acrobat - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
reorder pages in a pdf; pdf move pages
.NET PDF Document Viewing, Annotation, Conversion & Processing
Insert, delete PDF pages. Re-order, rotate PDF pages. PDF Read. Print. Support for all the print modes in Acrobat PDF. Print only specified page ranges.
move pages in pdf reader; pdf rearrange pages
VB.NET PDF: How to Create Watermark on PDF Document within
create a watermark to PDF file in order to help or image (such as business's logo) on any desired PDF page. And with our PDF Watermark Creator, users need no
how to reorder pages in pdf; reorder pages in pdf preview
Pa r t
I
Learning to Program
In This Part
Chapter 1: Programming for World of Warcraft
Chapter 2: Exploring Lua Basics
Chapter 3: Basic Functions and Control Structures
Chapter 4: Working with Tables
Chapter 5: Advanced Functions and Control Structures
Chapter 6: Using the Lua Standard Libraries
Chapter 7: Learning XML
GIF to PDF Converter | Convert GIF to PDF, Convert PDF to GIF
as easy as printing; Support both single-page and batch Drop image to process GIF to PDF image conversion; Provide filter option to change brightness, color and
change page order pdf reader; reorder pages of pdf
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
It can be used standalone. JPEG to PDF Converter is able to convert image files to PDF directly without the software Adobe Acrobat Reader for conversion.
pdf reorder pages online; how to reorder pages in pdf online
PDF to WORD Converter | Convert PDF to Word, Convert Word to PDF
PDF to Word Converter has accurate output, and PDF to Word Converter doesn't need the support of Adobe Acrobat & Microsoft Word.
reordering pages in pdf document; moving pages in pdf
TIFF to PDF Converter | Convert TIFF to PDF, Convert PDF to TIFF
PDF to TIFF Converter doesn't require other third-party such as Adobe Acrobat. Completely free for use and upgrade; Easy to convert multi-page PDF files to multi
reorder pdf pages online; reordering pages in pdf
CH A P T E R
1
Programming for World
of Warcraft
WorldofWarcraft(WoW)was releasedNov.23,2004,andveryquicklybecame
the model for Massively Multiplayer Online Role Playing Games (MMORPG).
Providing an intuitive user interface and a low barrier to success the game
is currently played by more than 11 million users, including their friends,
co-workers, and families. WoW has something enjoyable for those players
who spend six hours a night raiding with their guilds, the cubicle warriors
who play for half an hour a day on their lunch breaks, and a large range of
individuals in between.
Beyond killing monsters and questing for glory, there is another side to
World ofWarcraft,a game within a game.Blizzard has providedan extremely
powerful system for creating third-party addons and writing macros, and
users have been taking advantage of the open system since the beta test for
the game. This book is designedto introduce you to the world of customizing
World of Warcraft and show you how to create custom addons.
Customizing the User Interface
TheWorldof Warcraftgame clientconsists oftwo majorparts: the gameworld
and the userinterface.Thegameworldis the three-dimensional space inwhich
your character resides. This includes the buildings and terrain, other players
and enemies, and interactive objects such as herbs, mining veins, mailboxes,
and signposts. The game world also includes some non–three-dimensional
objects, namely the character names and titles, andthe numbers that show the
damage your character has done. These elements are not accessible through
the scripting interface and cannot be modified.
3
DICOM to PDF Converter | Convert DICOM to PDF, Convert PDF to
Adobe Acrobat or any other print drivers when they use DICOM to PDF Converter. Additionally, high-quality image conversion of DICOM & PDF files in single page
reorder pdf page; how to change page order in pdf acrobat
BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
interface; Powerful image converter for Bitmap and PDF files; No need for Adobe Acrobat Reader & print driver during conversion; Support
switch page order pdf; how to rearrange pages in pdf using reader
4
Part I
Learning to Program
The user interface comprises the other elements in the client, including
the action buttons, unit frames, maps, and options windows. Addons can be
written to add or modify existing elements to add functionality or to show
information in a different way.
What Is an Addon?
An addon is a collection of files inside a named directory within the World of
Warcraft directory. These files are loaded by the game’s scripting system and
executed within the client to make some modification to the user interface.
This definition of addons does not include any third-party executables that
are run outside the game (those sorts of programs are normally prohibited by
WoW’s terms of service).
The average addon consists of individual components that work together to
create a final product, possibly including:
Atable of contents file that identifies the addon and the files to be loaded
Media files, such as graphics and sounds
Lua scripts that define the behavior of the addon
XML files that define the visual elements of the addon
The first part of this book is designed to introduce you to the Lua program-
ming language and the XML markup that is specific to World of Warcraft.
These skills are an important part of writing addons effectively. If you are
already proficient in Lua and XML, you can skip ahead to Part II of the
book, which covers the use of the World of Warcraft API in creating addons;
however, youwill likely find the material in Part I worthwhile.
What Can Addons Do?
Addons typically fall into one or more of the following categories:
Displaying additional information,such as thesale priceofquestrewards
(Figure 1-1), or approximately how many more of a given spell you can
cast without running out of power (Figure 1-2).
Changing the display of interface elements, such as the combat text
information (Figure 1-3), or making the auction house interface easier to
navigate (Figure 1-4).
Providing new ways for the playerto take action (targeting units, casting
spells) within the game, such as replacement unit frames (Figure 1-5) or
alternate action buttons (Figure 1-6).
Chapter 1
Programming for World of Warcraft
5
Figure 1-1: Valuation showing sell price for items
Figure 1-2: Dr. Damage displaying number of possible casts
Figure 1-3: MikScrollingBattleText displaying combat information
6
Part I
Learning to Program
Figure 1-4: Auctioneer displaying auction listings in a compact form
Figure 1-5: Grid unit frames showing thestatus of a raid
Figure 1-6: Bartender4 with ButtonFacade_Serenity providing alternate action buttons
Prior to the release of the Burning Crusade expansion pack to World of
Warcraft, there were several addons that Blizzard deemed against the spirit
and intention ofthegame.Theseaddons werelaterdisabled andchanges were
Chapter 1
Programming for World of Warcraft
7
made to the scripting system to prevent their use. As a result the following
actions are unavailable to addons:
Automatic character movement
Automatic target selection
Automatic selection and use of spells or items
Real-time communication with external programs
In the past, Blizzard has been asked about the limits of the scripting/macro
system.Itsresponsehas been thatitis interestedin ‘‘smartplayers,’’ not‘‘smart
buttons.’’ In other words,addons and macros can work todisplay information
to the users or allow them to access functionality in an easier way, but should
not be used to make automatic decisions.
Inaddition,addonsareforbiddenfromdoinganythingthatwouldotherwise
be against the World of Warcraft ‘‘Terms of Use,’’ which you can find at
http://worldofwarcraft.com/legal/termsofuse.html
.
Exploring Your AddOns Directory
As mentioned previously, all addons must exist within a subdirectory under
your World of Warcraft directory. Depending on what operating system you
are using and how you have installed the game, this directory may exist in
one of a few places (see Table 1-1). If you happen to be running Windows
Vista, the location of your installation will depend on how the computer has
been configured and where the game was installed. During the installation of
Wrath of the Lich King orpatch 3.0.2 you should have been asked tomove the
game to option #3. If you agreed to this change, you may have two versions of
World of Warcraft, with the old one not being used any more.
Table 1-1: Default World of Warcraft Installation Directory
OPERATING SYSTEM
DEFAULT INSTALLATION DIRECTORY
Microsoft Windows 98, 2000,
or XP
C:\Program Files\World of Warcraft
Microsoft Windows Vista
(option #1)
C:\Program Files\World of Warcraft
Microsoft Windows Vista
(option #2)
C:\Users\<username>\AppData\Local\
VirtualStore\Program Files\World of
Warcraft
Microsoft Windows Vista
(option #3)
C:\Users\Public\Games\World of
Warcraft
Mac OS X
/Applications/World of Warcraft
8
Part I
Learning to Program
If you have launched World of Warcraft previously, there should be an
Interface directory within and an
AddOns
directory below that. This is where
all addons are stored.
Blizzard Addons
Much of the functionality inthedefaultuserinterfaceis implementedviamod-
ular addons that are loaded only when needed by the user. When the player
visits an auctioneer, for instance, the game loads the
Blizzard_AuctionUI
addon.
Having the addons in separate load-on-demand modules allows addon
authors to easily override the default functionality (such as replacing the
auctionhouseinterfaceratherthan justchangingit).Inaddition,themodularity
speeds up load times when starting the game. Table 1-2 describes the existing
Blizzard addons.
Table 1-2: Blizzard Load-on-Demand Addons
ADDON NAME
PURPOSE
Blizzard_AchievementUI
Explore the achievements your character can
complete and those he has already
completed.
Blizzard_ArenaUI
Display unit frames for enemy units in arena
PVP.
Blizzard_AuctionUI
Search for items available for sale, as well as
posting new items up for auction.
Blizzard_BarbershopUI
Customize the facial features and hair
style/color for your character.
Blizzard_BattlefieldMinimap
Display a smaller version of the world map,
including the PVP objectives.
Blizzard_BindingUI
Customize the keyboard bindings made
available by the default and custom
interfaces.
Blizzard_Calendar
Display a calendar that shows the various
scheduled game events and allows players
to create their own events.
Blizzard_CombatLog
Present combat information in a linear
combat log that can be filtered and colored
via options.
Continued
Documents you may be interested
Documents you may be interested