WoW:Getting started with writing AddOns (source)
Revision as of 04:48, 15 August 2023
, 15 August 2023Move page script moved page Getting started with writing AddOns to WoW:Getting started with writing AddOns without leaving a redirect
No edit summary |
m (Move page script moved page Getting started with writing AddOns to WoW:Getting started with writing AddOns without leaving a redirect) |
||
| (4 intermediate revisions by one other user not shown) | |||
| Line 2: | Line 2: | ||
The following is a guide for getting started with building WoW AddOns. Creating your own AddOns can be a difficult process at first, but can be very satisfying and is a great way to learn programming in general. | The following is a guide for getting started with building WoW AddOns. Creating your own AddOns can be a difficult process at first, but can be very satisfying and is a great way to learn programming in general. | ||
If you are mostly interested in what files and structure comprise a WoW AddOn, you can skip to [[WoW AddOn]], and come back here or move on from there. | If you are mostly interested in what files and structure comprise a WoW AddOn, you can skip to [[AddOn|WoW AddOn]], and come back here or move on from there. | ||
== What should I make == | == What should I make == | ||
| Line 18: | Line 18: | ||
Research the programming environment: | Research the programming environment: | ||
* [[Lua]] - This is the programming language used by WoW for UI AddOns. | * [[Lua]] - This is the programming language used by WoW for UI AddOns. | ||
* [[ | * [[AddOn]] - These pages explain the basic structure of a WoW AddOn. | ||
* [[World of Warcraft API]] - These are the functions and ways to talk to WoW with Lua. | * [[World of Warcraft API]] - These are the functions and ways to talk to WoW with Lua. | ||
* [[Curse Forge]] or [[WoW Interface (site)|WoW Interface]] - Find a real but simple example of an existing AddOn. Most real AddOns, even the simple ones, however can be difficult to read for getting started, with many moving parts. | * [[\Curse Forge]] or [[\WoW Interface (site)|WoW Interface]] - Find a real but simple example of an existing AddOn. Most real AddOns, even the simple ones, however can be difficult to read for getting started, with many moving parts. | ||
* [[Lua editors]] - A long list of code editors and other tools often used by other AddOn creators. | * [[Lua editors]] - A long list of code editors and other tools often used by other AddOn creators. | ||
Start with making a simple AddOn that has almost no moving parts, where you can see what all of the basic parts are and move forward from there. Use the reference material described above, especially [[WoW AddOn]], as that describes what really makes up an AddOn. | Start with making a simple AddOn that has almost no moving parts, where you can see what all of the basic parts are and move forward from there. Use the reference material described above, especially in [[AddOn|WoW AddOn]], as that describes what really makes up an AddOn. | ||
After completing your first one you will then have enough skill to start to build the real AddOn you wanted to originally make. | After completing your first one you will then have enough skill to start to build the real AddOn you wanted to originally make. | ||
| Line 45: | Line 45: | ||
=== File Types === | === File Types === | ||
There are three main types of files that you'll need to worry about with AddOn editing: | There are three main types of files that you'll need to worry about with AddOn editing: | ||
* [[TOC | * [[TOC file]] - This file is required for any WoW AddOn, and supplies WoW with information about your AddOn and its files. | ||
* LUA | * [[LUA file]] - This contains Lua code for your AddOn. | ||
* XML | * [[XML file]] - This holds the layout of UI windows, buttons, and similar for your AddOn. | ||
=== TOC File === | === TOC File === | ||
| Line 134: | Line 134: | ||
* The SavedVariables is only read from on UI loading, not real time, and only saved to on UI unloading. This will generally be from a user logging in or logging out. | * The SavedVariables is only read from on UI loading, not real time, and only saved to on UI unloading. This will generally be from a user logging in or logging out. | ||
* Basically, WoW makes a SavedVariables file for you named after your AddOn. You only get to specify in your TOC *which* variables get saved into that file. | * Basically, WoW makes a SavedVariables file for you named after your AddOn. You only get to specify in your TOC *which* variables get saved into that file. | ||
== Advanced but Important Topics == | == Advanced but Important Topics == | ||
| Line 150: | Line 149: | ||
{{elink|site=FreeKode.org|link=http://freekode.org/wow-first-addon/|desc=World of Warcraft first addon|bydate=May 3, 2015}} | {{elink|site=FreeKode.org|link=http://freekode.org/wow-first-addon/|desc=World of Warcraft first addon|bydate=May 3, 2015}} | ||
{{elink|prefix= |site=GitHub|link=https://github.com/freekode/TestAddon/|desc=freekode/TestAddon}} | {{elink|prefix= |site=GitHub|link=https://github.com/freekode/TestAddon/|desc=freekode/TestAddon}} | ||
[[Category:HOWTOs | [[Category:WoW HOWTOs]] | ||