WoW:Lua: Difference between revisions

821 bytes added ,  2 August 2025
no edit summary
(Corrected LUA->Lua, which is the proper way to write Lua. See: http://www.lua.org/about.html)
No edit summary
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Lua''' (from the Portuguese word for '''moon''') is the scripting language used by ''World of Warcraft'' for [[Interface Customization]]. Only a subset of version 5.1 of the official Lua specification is implemented, and should suit most [[AddOns|addon]] maker's needs. More information about Lua can be found on the official Lua [http://lua-users.org/wiki/LuaFaq FAQ].
{{wowlua}}
Lua is a general purpose programming language, and is used as a scripting language in many popular video games such as [[w:c:wowwiki:World of Warcraft|World of Warcraft]].


==Programming References==
Lua comes from the Portuguese word for "moon" {{ref2|Lua|PUC-Rio|publisher=PUC-Rio|title=About|date=2016-06-18|work=Lua |link=//www.lua.org/about.html|accessdate=2016-06-18}}. Lua was developed by a team at PUC-Rio, the Pontifical Catholic University of Rio de Janeiro in Brazil, including [[Roberto Ierusalimschy]], [[Waldemar Celes]] and [[Luiz Henrique de Figueiredo]]{{ref2|Lua|Lua Authors|publisher=PUC-Rio|title=Authors|date=2016-06-18|work=Lua |link=//www.lua.org/authors.html|accessdate=2025-05-01}}.
These are not so many guides or tutorials, but a place to look for information on the Lua language itself.  The reader should be somewhat familiar with programming in general.
;[http://www.lua.org/manual/5.1/ Official Reference Manual] : contains syntax and basic commands, but is heavy-going for readers without a programming background ([http://pgl.yoyo.org/luai Luai]: alternative way of browsing the manual)
;[http://www.inf.puc-rio.br/~roberto/book/ Programming in Lua] : the definitive Lua guide by [http://www.inf.puc-rio.br/~roberto/ Roberto Ierusalimschy]. [http://www.lua.org/pil/ Online version]
;[http://lua-users.org/ lua-users] : Lua user group with a [http://lua-users.org/wiki/ Wiki] which includes a [http://lua-users.org/wiki/LuaFaq FAQ], [http://lua-users.org/wiki/LuaTutorial tutorials] and [http://lua-users.org/wiki/LuaDirectory extended help on many topics]. The group also hosts a mailing list (with past [http://lua-users.org/lists/lua-l/ archive]) and a IRC channel, [irc://irc.freenode.net/lua #lua at irc.freenode.net]. Lastly, their [http://lua-users.org/wiki/LuaLinks LuaLinks] page is very extensive.


==Lua Editors==
In WoW Lua is used for [[UI Customization|interface programming and customization]]. WoW uses a custom subset of Lua version 5.1, which should suit most [[AddOns|addon]] maker's needs. More information about Lua can be found on the official [http://lua-users.org/wiki/LuaFaq Lua FAQ].
While any text editor can edit Lua files, many contain additional Lua specific features.


[[File:Lua-Logo_128x128.png|Lua Logo]]


Please see the list of [[Lua editors]].
== Programming references ==
The following are places to look for information on the Lua language itself. For these it helps if you are already familiar with programming in general.


==Using Lua for World of Warcraft==
* [http://www.lua.org/manual/5.1/ Official Reference Manual] - Contains Lua syntax and basic commands, but is a heavy, highly-technical read for those without a programming background. See [http://pgl.yoyo.org/luai Luai] for and alternative way of browsing the manual.
 
* [http://www.inf.puc-rio.br/~roberto/book/ Programming in Lua] - Definitive Lua guide by [http://www.inf.puc-rio.br/~roberto/ Roberto Ierusalimschy]. See also the [http://www.lua.org/pil/ online version].
 
* [http://lua-users.org/ lua-users] - A Lua user group with a [http://lua-users.org/wiki/ Wiki]. Includes a [http://lua-users.org/wiki/LuaFaq FAQ], [http://lua-users.org/wiki/LuaTutorial tutorials] and [http://lua-users.org/wiki/LuaDirectory extended help on many topics]. The group also hosts a mailing list with past [http://lua-users.org/lists/lua-l/ archive], and a IRC channel [irc://irc.freenode.net/lua #lua at irc.freenode.net]. Their [http://lua-users.org/wiki/LuaLinks LuaLinks] page is very extensive.
 
== Lua Editors ==
While any text editor can edit Lua files, many contain additional programming or even Lua specific features.
 
See [[Lua editors]]
 
== Using Lua for WoW ==
Related projects include:
Related projects include:
* [[WoWBench]]: aims to be a near-complete emulation of the WoW environment
* [[WoWBench]] - Aims to be a near-complete emulation of the WoW environment.
* [http://luaforge.net/projects/lua-wow Lua 5.1.1 WoW]: distribution created by cogwheel that includes everything needed for addon development
* [http://luaforge.net/projects/lua-wow Lua 5.1.1 WoW] - Distribution created by cogwheel that includes everything needed for addon development
 
== References ==
{{Reflist}}


==See also==
== See also ==
* [[Lua variable scoping]] guide
* [[Lua variable scoping]] - Guide for Lua scoping rules
* [[Lua functions]] available in the World of Warcraft API
* [[Lua functions]] - Functions available in the World of Warcraft API
* [[User Defined Functions]] written by WoWWiki contributors
* [[User defined functions]] - Useful functions written by addon authors
* [[Lua object memory sizes]]
* [[Lua file]] - File format for a Lua file in a WoW AddOn
* [[World of Warcraft API]] - lists all functions provided by Blizzard.
* [[Lua object memory sizes]] - Treatise on memory in Lua
* [[World of Warcraft API]] - Lists global API functions provided in WoW
[[Category:Interface customization|Lua]]
[[Category:Interface customization|Lua]]
[[Category:Lua functions| Lua]]
[[Category:Lua functions| Lua]]
[[Category:Glossary]]
[[Category:Glossary]]