I am working on a modified version of Luau via. ModuleScript it is called Moonlight and currently isn’t finished yet.
It is expected to release in April no exact release date yet.
Let’s get onto the basics of how Moonlight works.
Documentation
- Properties
This function allows you to change properties of an object through a table similar to Rust, so you don’t have to constantly retype the object’s name to access its properties.
Thanks @C_Corpze for the suggestion.
- SetAttribute
Nothing really special here but the reason why this function exists is because the Properties function doesn’t have support for attributes, so SetAttribute/GetAttribute functions exists because of this.
- GetAttribute
Not going to say what it does but you most likely know by the screenshot.
Now moving on to other functions…
- Classes
Reminder: Classes have the same functionality as tables, but they aren’t entirely useless as they have a function that can be really useful as you will see later on in the documentation.
Classes are exactly the same as tables, you can name them, make variables, create functions, run those functions.
You can even create objects with them.
Thanks @C_Corpze for this suggestion.
- Borrow
The borrow function lets you transfer a classes content to another class which can be useful in cases.
(e.g., class1 (first argument) → class2 (second argument)
- Triggers
The CreateTrigger function can be extremely helpful as @C_Corpze said “This allows for creating an object and immediately initialize it with the specified values.”
- Conclusion
Moonlight is planning on having 8 functions that you can use.
If you have any suggestions for Moonlight (such as: functions) tell me them and tell me what they do as I can get easily confused a bit since Luau is the only programming language that I am used to.