User:Magill/Lua

From Lotro-Wiki.com
Jump to: navigation, search


If this article reads a bit like a tutorial on computer programming, that's because it is. It has two different audiences -- those who have no idea what a Lua Plugin is, but want to learn; and those who simply need information about the Lua Interface in LOTRO. Consult the Table of Contents at the right and jump to the section(s) which interest you. Note especially the end of the listing: "Other Lua Articles on LOTRO-Wiki"

Another article, Lua Plugins discusses Lua Plugins for LOTRO in depth.

Introduction

Coming to Terms with the subject

A Lua Script? A Lua? A Plugin? A Lua Plugin? or...

In the very short time since their introduction into LOTRO (Summer of 2010), and into Gaming in general, all three terms have come to be used interchangeably, to mean the same thing. The most common "short-hand" is to refer to everything simply as a "Lua" or a "Plugin".

"Lua" - What's in a Name?

Lua has become the "short-hand" way of referring to a LOTRO "plugin" written in the Lua programming language.

"Lua" (pronounced LOO-ah) means "Moon" in Portuguese. As such, it is neither an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a name, the name of the Earth's moon and the name of the language. Like most names, it should be written in lower case with an initial capital, that is, "Lua". Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!
From the Lua website. www.lua.org

Lua Scripting

Lua scripting is the method for extending and customizing the game's user interface (UI) by writing scripts in the Lua programming language. More information on this is found in another article. [[

Plugin

A plugin is a User Interface (UI) extension written in the Lua scripting language.

Another article, Lua Plugins discusses Lua Plugins for LOTRO in depth.

Source of the LOTRO APIs

Lotrointerface is also where Turbine posts the API definitions for both "Lua scripting" and "skinning." The Lua interface can both be examined or downloaded via the Lotrointerface Wiki
The API Documentation is also found in the Download area in the section - "LotRO Tools & Utilities for Developers"

Background

Lua Plugins are a fun, useful addition to the LOTRO User Interface (UI). A Lua plugin modifies or otherwise "re-formats" existing game information, presenting it in user defined formats, frequently providing not only a different "look and feel" to the UI, but completely different functionality as well.

A "Lua Scripting Interface" or "Application Programming Interface" (API) is different from UI-Skinning. UI-Skinning is simply the ability to change certain Graphical elements of the UI, while a Lua plugin changes the behavior of the UI.

Many games (such as World of Warcraft) offer Lua APIs as does Apple's IOS. The variety and amount of information available to the LOTRO Lua API is tightly controlled by the game designers at Turbine.

UI-Skinning has been available almost since the beginning of LOTRO, back in 2007. Lua scripting was introduced in the summer of 2010.

Lua UI Plugins Introduced in LOTRO

Technically still in beta (as of ROI Update 5, December 2010), the Lua API in LOTRO was introduced to the LOTRO community in 2010 with Volume III Book 2 (aka F2P launch). The Turbine Developers directly responsible were Narrel, ForsakenArcher, Agiclaw and Frosty.

From Lua-UI-Plugins-in-LOTRO

Original Announcement Post by Narrel on Jul 19 2010 01:50 PM

With the breaking news of Lua’s introduction into The Lord of the Rings Online, we wanted to give you a brief history of how this system came about, what state it is in, and where we want it to go.
History:
To start, I will say that the primary driver behind introducing UI plugins is this: no single version of a UI element will ever be ideal for all players everywhere. What one player loves about part of the UI can send the player standing next to them reeling into a frothing rage of frustration. Knowing this, a small group of us got together last year and began investigating the possibility of adding a UI scripting system.
As several other games have used Lua successfully for UI scripting, we decided to look into it and were quickly able to get a prototype Lua UI scripting interface into our engine. Since then, we have gradually continued to develop the system alongside our other initiatives. Today, we are in the process of Beta testing the Lua UI scripting interface on our closed Beta preview servers.
Current State:
Many of you have been asking what this means when it goes live. This system has been implemented to allow players to override existing elements in the graphical user interface. The functionality available in its current state is small in scope but introduces a lot of fun UI possibilities. Our Lua-based UI plugin system exposes functionality through chunks of functionality referred to as “APIs.” In its current state, we have implemented the following APIs:
  • Basic UI element creation (such as windows, text boxes, buttons, etc.)
  • Quickslot information (allowing for additional quickslot arrangements for skills, items, etc.)
  • Inventory UI information
  • Your character’s morale/power information as well as what effects you currently have on you
To clarify, our implementation of Lua scripting in our game is not a macro-able/BOT-able interface. The system does not allow automated input such as mouse-clicks or macroing, nor does it allow automatic skill execution. Any UIs created through Lua scripts will still require human interaction to use.
We intend to continue heavy Beta testing on the Lua UI scripting system on the private test servers. There are several internal hurdles that remain to be cleared before the initial launch of the system and it is not yet guaranteed that “Lua in LOTRO” will launch in the Volume 3 Book 2 (F2P launch) timeframe. Much like our initial launch of QuestGuide or DX10, we will likely launch the feature as a public “beta” stage/“work in progress” as we continue to solidify and expand the initial functionality.
The Future:
As for our future plans for this, our intention is to continue to add more API functionality after the initial launch. For example, some of the popular requested APIs are: target, fellowship, and raid vitals, as well as vault functionality similar to the current API’s inventory functionality. The ultimate goal for this system is to allow players to legitimately customize their UI as a largely upgraded version of our current long-standing “UI skinning” tech. It’s all about the UI and letting players change it so the information we already expose in our current UI can be presented in different aesthetic fashions.
I hope this information clarifies what “Lua scripting” means for The Lord of the Rings Online. As we come closer to the actual launch, we will provide more information into the specifics of the system. We are very excited about this feature and look forward to the day when it goes live allowing players to have a much more customizable experience with our graphical interface.

How to write a Lua:


Prominent... hmmm. I like that word I'm not sure, especially since I'm usually called other words, but I suspect you may be referring to my http://forums.lotro.com/showthread.p...gins-for-Noobs thread. I considered replicating it over at LoTROInterface.com but just haven't had the time. The next installment will probably have something to do with how to package a plugin so that it will work nicely with LotroCompendium and MMOUI Minion (the Minion client uses Lunarwater's .plugincompendium files so it's the same requirement for both). I haven't posted anything there in a while since all of my free time has been spent tracking down french and german crafting messages (an incredibly long and boring task) but I should have time to test out both updaters Soon™ (yeah, time for Sapience to start laughing maniacly). - Garan


The LOTRO Discussion Forum is: Home » Forum » Gameplay & Systems » Lua Scripting (BETA) http://forums.lotro.com/forumdisplay.php?520

The Forum is frequented by both Lua Developers and Users.


Devs' Blogs and other resources


Other Lua Articles on LOTRO-Wiki

This probably needs to be a navigation template....

Writing Lua Scripts

This article, about writing Lua Plugins

Using Lua Plugins

About using Lua Plugins

The Turbine Plugin Manager

Information about the Turbine Plugin Manager

Plugin, the in-game command

The in-game "/plugin" command syntax

  • User:Magill/Lua - under construction