LotRO Lua scripting - and you.
There's been a lot of talk about other parts of the beta, and there's been various comments from devs previously and now other Lua scripters since the NDA has been lifted. So I'm going to take the time to give everybody a rundown of the current API, without getting too "programmy" on you. Essentially a layman's guide
What Data is available?
Character Morale, Power, Level, Name, Inventory (bags, custom quickslots) and Buffs/Debuffs.
Inventory data includes the name, quantity, type, durability, quality (i.e. Normal, rare, incomparable), and wear state (broken, damaged etc).
Debuff/buff data includes name, icon, time it was applied, duration, category (fear, wound, cry etc), and description (i.e. tan text).
There is no support for skills at this time - with the exception of being able to place one in a custom quick slot, and to check if it is a skill or not.
What "Stock" UI Elements can be modified?
None actually. We have no control over any existing UI element. However, it is currently possible to "override" the Vitals display, and the 5 bags. In other words, prevent them from showing.
How much interaction is allowed with the chat window?
It is possible to output to the user's chat window, as well as register commands (i.e. slash commands) that can be used with plugins only. There is no way to execute macro commands or built-in slash commands, and no way to read anything from the chat window.
Can a plugin react to the keyboard?
Yes. However, the only actual keys it can react to are Shift, Control and Alt. Everything else is tied to "actions". What are actions? Every time you press a key that does something in game, an action code is returned. If you hide your UI by pressing F12, that's one action. If you open up the social panel, or quest log, or LI panel - each of those are seperate actions. Movement on the other hand does not return an action.
Can a plugin react to the mouse?
What kind of UI is available?
UI is split up into two parts. The first is for custom elements by giving you building blocks to create your own, and the second is standard LotRO UI elements. The good news is, that with a little bit of ingenuity there's enough basics there to create a lot. The bad news is that very few LotRO UI elements are included. There's both the blue and red windows, fonts, checkboxes, buttons and scrollbars; but no sliders drop down boxes, or color pickers.
How does laying out elements compare to CSS/HTML or even UI skinning?
Somewhere in between to be honest. The only big drawback to layouts is that background images have very little control over them. No stretching, no alignment, just tiling - and always anchored in the top left corner.
Is it possible to load/save to disk?
Very limited. Each plug-in has one or more settings files, that are saved to a specific location (/My Documents/The Lord of the Rings Online/PluginData) and organized by plugin. The loading and saving can be done once in real-time; but after that any other attempts will be delayed. This is to prevent being able to write data in real-time and use a 3rd party app to "farm" the plugin settings.
Is it possible to make more quickslots?
Yes! So much so that you might very well run out of screen space However, there's no way to set key bindings to these slots...so, yeah. I feel like I'm bringing as much bad news as good
Turbine has done a nice job of setting up a structure that has plenty of room to grow. Also, they've given us a lot of flexibility when it comes to building blocks to create better ways of displaying this data
A simply unacceptable number of standard UI elements - even at this early point. Low performance on mouse position updates cuts out at least two useful plugin ideas.
The last two updates to the API were uninspiring to say the least, and while I'm sure they will eventually have more meaningful updates, Turbine has a tendency of getting cool new features to about 90% completion, and letting them sit (i.e. skinning, data.lotro.com, my.lotro.com, etc.). So I personally am hopeful, excited and apprehensive all at the same time.
If you have any other questions, I'll be more than happy to answer them to the best of my ability - and I'm sure others who have been playing with this system for the last month would be happy to as well.
Last edited by Digital_Utopia; Aug 03 2010 at 02:27 AM.
[SIZE=1][B][COLOR=white]75[/COLOR][/B] Fourohfour | [B][COLOR=white]75[/COLOR][/B] Artemedis | [COLOR=Blue][B]60[/B][/COLOR] Whiskeytango Foxtrot | [B][COLOR=#00ca00]50[/COLOR][/B] Mistah Boombastic | [B][COLOR=#00ca00]56[/COLOR][/B] Appetizer | [B][COLOR=#a7a7a7]25[/COLOR][/B] Aggromi | [B][COLOR=blue]61[/COLOR][/B] Onepointtwentyone Gigawatts [/SIZE] [/CENTER]