We have detected that cookies are not enabled on your browser. Please enable cookies to ensure the proper experience.
Warning: JavaScript is required for some functionalities of this page. Please enable the use of JavaScript in your browser. Log In
Register My Account
Log Out (%1$s)

We have detected that cookies are not enabled on your browser. Please enable cookies to ensure the proper experience.

Warning: JavaScript is required for some functionalities of this page. Please enable the use of JavaScript in your browser.

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?

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?

Yes. It can react to the mouse as much as JavaScript can. Including all three buttons, the mouse wheel, the cursor position, clicking, dragging etc. However, there is one caveat. The plugin system cannot keep pace with the mouse pointer in real-time. For instance, tying the position of a box to the cursor position, and moving the mouse at a "normal" speed, will cause that box to lag behind the cursor.

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

Final Thoughts

The 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

The Bad:

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 Ugly:

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.

And Finally...

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.

Re: LotRO Lua scripting - and you.

Hallelujah, what a savior!
You turned the gibberish into plain english!!

I'm happy for more quickslots, even without keystrokes -- I like to keep item counts (e.g., Ore, Hides, Wood, etc.) on quick slot bars, so I can see what I have, and I'm much more of a clicker than a keyboarder anyway.

Also excited for the hunter ports thingamajab.

Thank you again for laying this all out.

Caralie Carlin of Arkenstone"There is suffering in the light; in excess, it burns. Flame is hostile to the wing.
To burn and yet to fly, that is the miracle of genius." -- Victor Hugo

Re: LotRO Lua scripting - and you.

I, too, share some of your skepticism. While there was undoubtedly a huge amount of effort that went into this intial implementation, its goals are not very high. The fact that it's not even mandatory to be delivered with the F2P update this fall leads me to believe that it's not a high priority for Turbine.

I imagine that the only way that Lua scripting will ever reach its full potential in LOTRO is if the developers are given a directive from higher up to recreate the entire stock user interface in Lua. This is really the only way I foresee all the necessary and desirable APIs to be implemented. (That is, they're unlikely to devote serious time to implementing new APIs if they themselves don't need to use them.)

Re: LotRO Lua scripting - and you.

Thanks for the write-up, though one additional question (mainly clarification). Can we hide the default buff/debuff icons and write our own replacement? Ie, can we finally have bigger icons and maybe, hopefully, show duration numbers on/under them as well at last?

Re: LotRO Lua scripting - and you.

Originally Posted by Kithzyan

Thanks for the write-up, though one additional question (mainly clarification). Can we hide the default buff/debuff icons and write our own replacement? Ie, can we finally have bigger icons and maybe, hopefully, show duration numbers on/under them as well at last?

Yes, you can do exactly that, and there are already a couple of very good beta plugins that do so!

Re: LotRO Lua scripting - and you.

Originally Posted by Fredelas

I, too, share some of your skepticism. While there was undoubtedly a huge amount of effort that went into this intial implementation, its goals are not very high. The fact that it's not even mandatory to be delivered with the F2P update this fall leads me to believe that it's not a high priority for Turbine.

I imagine that the only way that Lua scripting will ever reach its full potential in LOTRO is if the developers are given a directive from higher up to recreate the entire stock user interface in Lua. This is really the only way I foresee all the necessary and desirable APIs to be implemented. (That is, they're unlikely to devote serious time to implementing new APIs if they themselves don't need to use them.)

Which really brings to mind exactly why did they come to this decision now. I find it hard to believe that WB themselves told Turbine they should implement an add-on system into their game, unless they thought it would bring in/keep more players. If that's their goal, they've got a long way to go before this can be taken seriously.

This game certainly needs a UI makeover - at it's very core. The community is more than willing to shape this UI into how we want it, but as long as various stumbling blocks continue to exist, that won't ever come to pass. My fear is that the plugin system will be "skinning pt. 2" complete with all the promise, and different, but similar stumbling blocks.

Turbine needs to understand that they have the potential to have a veritable army of players that are more than willing to help their fellow players and potential new players enjoy playing the game, and doing game related activities - but first they have to throw us more than heavily guarded table scraps. Don't get me wrong, I'm not saying Turbine should just throw caution to the wind like Blizzard did, but there's a big difference between opening things up to the community, and opening things to such a high degree that you might as well tape an "Exploit Me!" sign to every game box. While all that openness did indeed cause Blizzard quite a bit of trouble, it also bred one of the strongest examples of letting players sell your product.

Re: LotRO Lua scripting - and you.

The cynic in me says it's just one more bullet point for them to add to their product description. Now they can say they are "like" some of those other big games, even if the implementation never progresses beyond vitals, bags, effects, and quickslots.

Re: LotRO Lua scripting - and you.

Originally Posted by Fredelas

The cynic in me says it's just one more bullet point for them to add to their product description. Now they can say they are "like" some of those other big games, even if the implementation never progresses beyond vitals, bags, effects, and quickslots.

Yeah, or they'll say they're not going to release it, because there didn't appear to be much interest in it - of course that's because it's so under-featured.

Realistically though, I'm expecting at least triple the game data access, and maybe a UI element or two by the end of beta. Followed by small updates every other patch as the game progresses - maybe a slightly larger one with expansions. This will probably continue for a couple of years, where we'll get to the point where we can do most things, except for a few maddeningly incomplete features, and they'll just let it sit like that - with the only updates being as a result of changes to the game itself.

Re: LotRO Lua scripting - and you.

Please DU, tell me theres something you can do about the new vault.

...holding aggro, and living to tell about it.
This used to be a signature picture before Turbine "fixed" the forums.
Your sword's grown old and rusty - Burnt beneath the rising sun
It's locked up like a trophy - Forgetting all the things it's done

Re: LotRO Lua scripting - and you.

Originally Posted by azureal1977

Please DU, tell me theres something you can do about the new vault.

The vault, and shared storage, and housing storage, and the wardrobe, and equipped items, and vendor windows are all inaccessible with the current APIs. The only thing plugins can work with (when it comes to inventory management) are a player's bags.

Re: LotRO Lua scripting - and you.

Originally Posted by Fredelas

The vault, and shared storage, and the wardrobe, and equipped items, and vendor windows are all inaccessible with the current APIs. The only thing plugins can work with (when it comes to inventory management) are a player's bags.

Sigh.

/extraletters

...holding aggro, and living to tell about it.
This used to be a signature picture before Turbine "fixed" the forums.
Your sword's grown old and rusty - Burnt beneath the rising sun
It's locked up like a trophy - Forgetting all the things it's done

Re: LotRO Lua scripting - and you.

DU's got it right - there's a lot of plugins being worked on (*), and a lot of us are requesting access to more parts of the system, including the vault, etc.

One thing missing from DU's excellent OP is the plugindata files. These allow you to load/save text data associated with your plugin. There was some concern that this could be used to tie into an external process that could "real-time" process the saved data and then write back plugindata files to be read by the plugin.

A recent update to the API has changed the writing process to not be real-time which has effectively blocked many ideas for data sharing - well at least those that require timely data anyway.

(*) I'll be using/modifying at least one of those to give to my wife so she can finally see/understand exactly what debuff she's got on her without me having to yell it out to her.

Timer for all those lovely instances like the watcher (scream in 3,2,1)

Vitals reskin (also makes the vitals and power increase and decrease occur in realtime graphical. So no mor eof that get hit 3 times before you actually see the damage in your health bar).

Palantir plugin manager running it all.

Stil no server side stuff so no aggro meters yet guys.

Love the reskinned vitals. Hate the FPS-like HUD. I get the idea of looking more at the center screen, but it would ruin my immersion.

I also hope Turbine never allows an aggro meter. Not knowing your exact aggro is part of the fun of the game, and it encourages good players to push aggro to the limits...even if they aren't sure where that limit is. Reducing one more element of the game to watching a set of bars is not a good thing.

Re: LotRO Lua scripting - and you.

I'm not a fan of HUDs in MMOs, but I have to say that this one looks really nice. I'm hoping to see more APIs open up to offer some really nice plugin development options. Plugins can make a game that much more enjoyable and that can help keep a player playing the game.

Timer for all those lovely instances like the watcher (scream in 3,2,1)

Vitals reskin (also makes the vitals and power increase and decrease occur in realtime graphical. So no mor eof that get hit 3 times before you actually see the damage in your health bar).

Palantir plugin manager running it all.

Stil no server side stuff so no aggro meters yet guys.

Thanks for posting the screen, I haven't had a chance to get back in game since the NDA was lifted.

Originally Posted by Wisdomandlore

Love the reskinned vitals. Hate the FPS-like HUD. I get the idea of looking more at the center screen, but it would ruin my immersion.

I also hope Turbine never allows an aggro meter. Not knowing your exact aggro is part of the fun of the game, and it encourages good players to push aggro to the limits...even if they aren't sure where that limit is. Reducing one more element of the game to watching a set of bars is not a good thing.

See, but that's the beauty of the plugin system. Everybody can use whatever combination of plugins they want (or none at all), without effecting anybody else.

Hmm...

I'm wondering if there is a way to add animations to my UI. Say, for example; If my morale drops below 25%, a flashing red orb appears on screen and starts hovering around my vitals display. Is there a plugin for this, or some other way that i could do it? Aside from straight up modding the game script, of course; which i don't know how to do, nor think would be allowed. Maybe it would be, they let you use plugins, which is essentially modding. Most games won't even let you go that far. I want shiny, glowing orbs, mist and sparkle effects all over my screen when i do stuff!

Plugins currently running and operational.
TonicBars
BuffBars
PLugins currently not running, but downloaded.
VitalBars <-Would like help getting this one running.
HunterFocus
The One Bag