Discussion in 'General Discussion' started by Astirian, Oct 20, 2019.
Hey dudes and dudettes! Should we kick off an official Lua thread somewhere?
Should probably have a few. One for people who know what they are doing to discuss doing stuff. Another for people who don't, like me, to ask you to do stuff. And another for getting people who don't know what they are doing started on knowing what they are doing.
Anyone knows what's the danger of allowing lua? I was told if things are not properly tested, we might end up with issues like gold and deeds being unknowingly being mailed to someone else.
And what's about people not knowing, what you are talking about?
L U A ? Someone likes to explain what this is about?
Luna is a scripting language that you can use to access public hooks (stats for instance but not limited to) and have them do something or display something on your HUD. I used several when I was a WOW player. You can see what is possible on CurseForge. I unfortunately fit in the category of only knowing how to install and use them But i am envious of the scripters that can do it. As with anything that you add to your game that does not come from the Devs you take a risk.
It's basically a scripting language, the idea would be that Catnip makes available certain parts of the game so you can manipulate the data. Imagine maybe something like a group DPS counter or custom UI stuff. It all depends on what we're allowed to access but it's going to be so much fun! The look on Chris's face when he mentioned UI stuff on the Wednesday stream was priceless.
They obviously have to sandbox it correctly. They cant allow clicks to UI from scripts and they absolutely have to restrict most of the lua libraries out. At worst, you could access file system from Lua and destroy files etc, but its easily blocked. Pretty simple stuff, but hopefully they ( for once), implement too restricted system, then losen it up after sometime.
To prevent botting and almost all the bad stuff, they can't allow clicking nor character controlling, at all, from scripts. Just purely UI stuff with the ability to talk with external servers, with clear indication that script is doing so.
Beat me to it haha!
I've actually made a pair of mobile games using a Lua framework so I'm really keen to get my hands dirty.
I'd rather see a community developer's section with multiple sub-sections.
Ah, okay. Thank you
Listing public/player quest stubs active in the local area and events about to start globally would be prime info to try and get to players...
Of course some events could always be hidden...
Nay... 'tis a town in UO.
For those that are interested in learning Lua, the official site is a good place to start: https://www.lua.org/
There is a few thing about lua that tickle me tought, those library that are downloadable with luarocks are pretty old and mostly not maintened. There is a elasticsearch lua library which is discontinued and only work on lua version 5.1 and prior (because of another library that doesnt work on lua 5.1+ and is a dependancy of it, lua-cjson). Alot of library were made for linux in C ansi. So you need a compiler for it under windows and took me a good day to setup visual studio correctly and download all appropriate updates to get the compiler to work (with visual studio community 2017, which the compiler doesnt come in by default). And im really wondering how its gonna execute script, i never really did any moddings, is it lua being distributed with the client? If yes we definitly need to know which version we need to look at. Some people might try to start learning now on older or too recent version and it just wont be that.
Anyway, lot of fun and headhach coming our way i guess
That sounds like downloading and installing a script from an untrusted source. It's described as something to help sort your bank, but it also helps sort by relieving you of a bit of your inventory the first time you open a mailbox.
In phase one this would not be a danger at all. (They are not enabling the ability to send commands and info to the server) Phase one will be to pull info from the game (as of the moment)
None in phase 1. Approaching zero in phase 2. The only potentially scary part would be phase 3 which would be a long way away and would have the lessons from other MMOs going before.
The biggest risk would be false positive bug reports. Where if shroud use both internal LUA for their stuff and allow addon lua from players, then if the player gets a LUA error they are most likely to blame the game-while the most common error source would be unupdated adding. Thus it is kinda important to have good error numbers/definitions.
Biggest known MMO with LUA support is WoW.
Phases from Chris
Spoon's right on here.
I think one of the most interesting things phase 1 has the potential to bring to the table is getting all those informational UI elements off our game screens (that we open and close all the time) and onto a second display. That's something a few (not enough to justify Portalarium doing the work, admittedly) of us have wanted for a while.
When we start getting LUA scripts, you'll definitely have to only install LUA stuff from sources you trust.
I think allowing UI Mods via LUA will be an awesome improvement to SOTA. I've gotten used to being able to reskin my UI to my liking in some other games and have sorely missed that ability here. I prefer things to be more minimalistic and functional over looking pretty. I also like to move things around on the screen and resize them to fit my needs. So when this eventually comes to fruition I will surely be happy.
But, as @Spoon said, it may be a nightmare for reporting bug reports (when the bug is caused by the UI Mod). Without knowing the scripts loaded by the person reporting the bug... it would be a real problem to diagnose. If the UI community here gets any kind of resemblance to WoWInterface... they could be tons of different mods used, along with different versions by the creators. Hopefully Chris will give us an easy way to attach the actual script we are loading to our bug report (or better yet, do it automatically) so they can have the info they need to fix bugs.
Along those lines I think there needs to be a super-quick way to enable and disable all 3rd party LUA modules for debugging purposes, in addition to what you propose.
Separate names with a comma.