|
|
| (25 intermediate revisions by 21 users not shown) |
| Line 1: |
Line 1: |
| Lua the scripting language used by World of Warcraft for [[Interface Customization]]. Only a subset of version 5.0 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 Wiki]. | | {{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 much guides or tutorials, but a place to look for information on the Lua language intself. The reader should be somewhat famiar with programming in general, or even Lua.
| |
| ;[http://www.lua.org/manual/5.0/ Official Reference Manual] : contains syntax and basic commands, but is heavy-going for readers without a programming background
| |
| ;[http://www.inf.puc-rio.br/~roberto/book/ Programming in Lua] : online book by [http://www.inf.puc-rio.br/~roberto/ Roberto Ierusalimschy]
| |
| ;[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.
| |
|
| |
|
| === Freeware ===
| | [[File:Lua-Logo_128x128.png|Lua Logo]] |
| ;[[B:Lua]] (Open Source) : Under development and will, in time, hopefully provide a useful IDE for WoW Lua script development.
| |
| ;[[Eclipse]] : Eclipse + the Lua Eclipse plugin
| |
| ;[http://luaedit.luaforge.net/ LuaEdit] (Open Source) : Complete professional looking Lua IDE - Windows 98/2000/XP
| |
| ;[http://www.pspad.com/ PSPad] : Syntax highlighting for Lua and XML files, fully features programmer's editor
| |
| ;[http://www.gorlice.net.pl/~rybak/luaide LuaIDE] : Integrated development environment for Lua for Windows
| |
| ;[http://www.wowguru.com/ui/61/wow-scite-lua/ WoW SciTe] : A Lua tool made specifically for development of WoW [[AddOns]] and [[Mods]]. Includes auto-completion. This is a freely distributed copy of SciTe Editor with many modifications. Contains full functional LUA script "inserting", "syntax checking", highlighting, and the latest 5.0 compiler.
| |
|
| |
|
| === Shareware === | | == Programming references == |
| ;[http://www.quotixsoftware.com/qde_index.htm QDE] : Quotix Development Environment for Lua. It supports project management, autocomplete functionality, a multi-document interface, debugging and much more. Sadly doesn't include a debug mode to test scripts with.
| | 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. |
| ;[http://www.zeusedit.com/lookmain.html Zeus for Windows] : IDE with Lua syntax highlighting, code folding, project management, integrated version control. The IDE is fully scriptable using Lua
| |
| ;[http://www.textpad.com TextPad] : Not an official Lua IDE however, with an available syntax file available as an [http://www.textpad.com/add-ons/synh2m.html addon] provides great syntax highlighting.
| |
| ;[http://www.editplus.com Edit+] : Not an official Lua IDE however, with an available syntax file available as an [http://www.editplus.com/others.html addon] provides great syntax highlighting. You can freely download and try it for 30 days. If you find it useful and decide to keep it over 30-day evaluation period, you should pay the registration fee. Nag window remains on startup if not registered.
| |
| ;[http://www.emeditor.com EmEditor] : Comprehensive text editor with Unicode support can be used both for LUA and XML. Lua syntax highlight file available at [http://www.emeditor.com/userfiles.php Features].
| |
| ;[http://www.editpadpro.com/ EditPad Pro] : Great notepad replacement/enhancement with a Lua add-on located on [http://www.editpadpro.com/cgi-bin/cscslist2.pl this page]. Free 30-day evaluation copy of EditPad Pro or download EditPad Lite, free for non-commercial use. EditPad Lite and Pro are available for Windows and Linux.
| |
|
| |
|
| [[Category:Interface Customization|Lua]] | | * [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: |
| | * [[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 |
| | |
| | == References == |
| | {{Reflist}} |
| | |
| | == See also == |
| | * [[Lua variable scoping]] - Guide for Lua scoping rules |
| | * [[Lua functions]] - Functions available in the World of Warcraft API |
| | * [[User defined functions]] - Useful functions written by addon authors |
| | * [[Lua file]] - File format for a Lua file in a WoW AddOn |
| | * [[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:Lua functions| Lua]] |
| | [[Category:Glossary]] |