It’s like
local module = {}
return module
But in reverse since i need to send a variable from the server to a module.
It’s like
local module = {}
return module
But in reverse since i need to send a variable from the server to a module.
This post might help:
So basically just
local mod = require(module here)
mod.Variable = "airpodshotty"
local mod = {}
Print(mod.Variable)
yup!
Script using module:
local module = require(yupModuleReferenceInHere)
task.spawn(function()
while true do
print(module.Variable)
wait(0.25)
end
end)
wait(10)
warn("changing module variable")
module.Variable = false
Module:
local module = {}
module.Variable = true
return module
“Cannot add property (name here) to “module””
and a for loop in the module:
key “Map” not found in module
Sorry idk what you doing in there. I was just showing that the script can change a variable in a module, its a very basic example, where you are getting all that stuff?
BasicCheck.rbxl (37.6 KB)
sorry if this is absolutely disgusting since i just started trying moduled
local module = {}
for _, buttons in pairs(module.Map:GetDescendants()) do
end
return module
script:
local module = require(workspace.ButtonModule)
module.Map = workspace.Baseplate
Well, think on a module as a system, that can hold many functions, and many variables that can be accessed and called from any other external script that has a line requiring the module.
So any script can require(Module)
, so that script can call functions inside the module and change variables inside that module without using BindableEvents.
You want to run a loop in the module, and you want to set a variable in the module, and you want to do it from an external script, then
The module, its a good practice to have your modules stored in ServerScriptService if those are owned by ServerSide
local module = {}
module.Map = false
module.RunAFunction = function()
for _, button in pairs(module.Map:GetDescendants()) do
-- Cheking each descendant inside module.Map variable which references Workspace.Baseplate
warn("descendant found:", button)
end
end
return module
The script that required the module to use its functions and variables:
local module = require(game.ServerScriptService:WaitForChild("ModuleScript")) -- Where the module is
wait(5) -- Wait 5 seconds before run the script
-- Set module.Map variable to Baseplate thing
warn("Setting module.Map variable")
module.Map = workspace.Baseplate
wait(3)
-- Running a function inside the module
warn("running a function inside the module to do a for loop")
module.RunAFunction()
Im just giving examples, theres many different ways you could use a Module, Im just pointing very basic details that could be useful to understand how a Module works, Im not saying thats the best approach or understanding whats your goal
Maybe you can use the global variable _G
I think that firstly understanding what a module does is more important than just jumping into a more complex stuff without knowing how a module works xD
_G is a gloval variable. There’s nothing complex about that
I meant for understanding the Module… OP wants to understand how to use a module
Might’ve missunserstood then ¯_(ツ)_/¯
yeah, we dont even know what OP wants, Im just trying to help to understand the basics of a module ¯_(ツ)_/¯
Oh so basically i needed to create the variable in the module and then overwrite it. That’s nice.