How to use ModuleScript and what they are used for

Hello Roblox Community! I Need help with ModuleScripts if you know anything about ModuleScripts or if you want to help me by giving some examples, please reply to this topic!

Appreciated!

3 Likes

I gave an explanation of modules here, you could have found one too if you searched as well

3 Likes

Using a module script is a way to make your code available to other scripts without having to redefine everything. For example, if I wanted to make my own math functions that aren’t supported, like cotangent function, I don’t want to write the function for it every time I want to use it. Sure you could copy-paste the same code, but that’s just a waste of space when you only need to write it once in a module script.

I’ll give you an example using cotangent. Let’s say I want a cotangent function and I use it in 5 of my scripts.

local cot = function(x)
    return math.cos(x)/math.sin(x)
end

If I want to avoid re-writing this in all my scripts, I would define it in a module script.

local myModule = {}

myModule.cot = function(x)
    return math.cos(x)/math.sin(x)
end

return myModule

Module scripts return a table which can hold functions that you want to use. In this case, I named the module “myModule” and I added a function to it called cot (short for cotangent). Now whenever I want to access it in other scripts, I call require on it and save it to a variable.

-- in a server script
local myModule = require(game.ServerScriptService.myModule)
print(myModule.cot(5)) -- using the function in a separate script!

You can use it for other things too. Any code in a module script will run once you call require, so if you want to run some code in there that’s repetitive you can do that.

I usually use module scripts to hold data that I use in different scripts, and I use it when I have a bunch of functions that I use in different places. For a single function it will feel weird doing all this work, but for say, 5 or 10 functions, it becomes annoying to copy-paste and it just adds lines to your code for no reason.

And yeah check out the explanation from @sjr04 it explains it good too. There’s also a good tutorial by @Alvin_Blox if you like, that’s where I learned how to use them.

2 Likes

Watch this video

OR
See this API Reference

ModuleScript

1 Like

Oh, thank you for the support ill check it out

1 Like

I Understand this explanation than others, thank you for keeping it short and easy to read!

1 Like