ROBLOX recently added a new object, "ModuleScript," to the Basic Objects window in studio. How does it work? What is it? When should I use the new object?
A ModuleScript is an instance that mimics the built-in module system of Lua. You can imagine a ModuleScript as one big function that returns a value. In a normal script, you can use the
require function which will return the value that the module script returns.
For example, if in a module script "Test" you have:
function hi() print("Hello") end return hi
and then in a normal script:
say_hi = require(Workspace.Test) say_hi()
It will print "Hello".
The wiki has an article on module scripts that I believe can answer this question.
More often you'd probably return a table though with multiple functions / variables instead of just one function.