@@Sinz012 not hating its just to the average person who's starting I have to know what these terms mean and they weren't the best for me. That's what im saying.
@@user-N04H this is advanced tutorial for people who have learned the basics, GnomeCode has a beginner scripting tutorial if you don't know the basics assuming the average person doesn't know the basics of scripting Hope this helps!
@@juanfleury its basically just reusable code that any script can call so you only have to edit the original module once (its very useful for keeping information or having reusable functions)
almost a year of working on roblox game projects without getting into module scripts. this makes a lot of things clear, thank you gc your tutorials are very helpful and have been awesome!
It seems as though you've taken a break from RUclips or something, I'm not sure. I just found you today, but you are one of the best if not the best Roblox script tutorial makers for sure. You explain everything better than any teacher, and almost put things in storylines that make it fun and exciting in a way. Like your exploiting video where Billy goes on a rampage and you teach us how to tame him. I really would love to see you make a video about how to use Studio Explorer, IE, when to use Serverstorage, Serverscript Service, where to put things, where to never put things. As someone who is learning Roblox studio the biggest hurdle for me has been knowing when to use certain parts of the explorer, I found a video explaining it to some extent by another youtuber but he said some things like "Never use server storage, its useless" and a few other things that weren't entirely accurate. Basically, exploiters can ruin a lot of people's experiences, or flat out break games. I know they're supposedly rare and I should just focus on getting my game up and going but.. bleh. I just figure it would be easier to build it from the ground up knowing how to defeat the exploiters, rather than learning from losing players and getting dislikes because of them.. That's why I think you're such a huge value to the community, Nobody wants to play with exploiters, nobody wants exploiters to ruin the experience for their players, players have less fun, devs lose players, it's only a win for exploiters..
Yeah he is really good at explaining.Here is a brief explanation. 1. Server Script Service is where you will want to put all your normal scripts. 2.Server storage is where you store stuff like objects that are not in the workspace so the player won't see them good for rotating maps. Sometimes values are stored their such as your stage in an obby it's basically where you store server stuff.
as a begineer this is am thinking this is very useful for things like jumppads or killblocks maybe sword's or honestly anything. thanks i learned alot :)
great tutorial! one thing i noticed with the SpawnFruit() function, is that you put the function in the same table as the fruits. SpawnFruit("SpawnFruit") will error, because further in the function it mentions fruit[name].Color (Color is not a member of a function)
This comment is incorrect since you use [] when referencing something in a table fruit[name] references to the fruit being sent in a parameter for example fruit.SpawnFruit("Kiwi") instead of fruit[name], it will instead return Kiwi so Kiwi.Color = Color3.new(0.223529, 0.392157, 0.027451)
Thank you so much for teaching me! I've been always trying to find out how to use Module Scripts, but I was still confused. But after watching this video, I learned how to use module scripts well! (I SUBBED BTW)
I started scripting a bunch of months ago and I've been wondering what module scripts were, I haven't paid much attention to them, thanks for this video, now I will be able to use module scripts
Hi, I am making a game like CS:GO surf in Roblox and, I want to make part that when touched increased the player speed every second and when player dies it resets automatically and speed is also show with the help of GUI on player screen. (The speed should only increase for the player who touches it.) Please help me. I am stucked.😥😥😥
@@QUBIQUBED Unfortunately, I'm not into roblox game dev anymore. I have moved on to other larger game engines, which i think your advice still applies. I will take it into consideration next time I work on a project.
i am currently spending an hour and a half messing with random things, trying to get it to not say "requested module experienced an error while loading" every time i press play. EDIT: ok i finally fixed it, but i have a question, how would i go about putting the object i spawned from the module script list into a player's backpack?
Could you replace the “name” in the function in the module script with whatever. I didn’t get that part. How does name mean name, since I couldn’t find anywhere in the script that makes the name mean name. I thought it just meant fruit.SpawnFruit, which doesn’t mean anything until you assign a function to it.
I'll try to help but maybe you already know by now. He made a function named SpawnFruits(name). This means whenever you call out the function, you replace the "name" with whatever. Here's an example: local fruits = {"Apples", "Bananas", "Tomatoes"} function SpawnFruit(name) if name == table.find(fruits, name) then print("Your fruit is found!") end end wait(2) SpawnFruit("Apples") -- You replace the name with whatever when you are calling it out. SpawnFruit("Oranges") Sorry, there's some complex scripts, ignore those. If you have any more question, feel free to ask me!
Im extremely annoyed by Module scripts. Everytime I add a Module Script into a Script or also try to seperate them, everything I type into the Module Script the Script will just copy it. Same way around. And if I delete everything in the Module Script, the Script will also delete everything.
i think its to organize since organizing is useful for it to be easy to add new code in the script without destroying the entire game like moving a single domino in a stack of dominoes
Me, making an RPG with a core folder half comprised of module scripts plus 2 module scripts for each and every kind of monster except bosses: "ORGANIZATION 100"
can i ask does module script can be also used in normal script like u can do what its does inside script but module script just help u to keep scriptings more organized and u can just check if the script says what it does and makes it simple and easy to look at? if its just for that then i understand i take it that u problly can use at normal script but just when ur working on big project like jailbreak and lots of updates game will be using this ? well if thaats the case i learned alot thx for sharing!
can someone help me make a script that makes a *model* dissapear, then right after they dissapear another *model* appears (then the cycle goes on forever)? please give me scripts for both *models*
please help me the code from ur doors tutorial is completly broken with me it only loads in 3 doors for some reason please help ive been waiting entire day
Hi, sorry to hear you've been having problems. Do you have your output window open? That should help you by telling you where any specific errors are coming from. If you still need help, I'd recommend making a post in my Discord's help channel as it's much easier to help people there.
Nice video, any chance you could do a video in utilising them in a game? I'm trying to make a survival game, and I'm using module scripts, but I have problem. I have an inventory module which needs to have a 2 way communication with my hotbar module, but I can't have that. Would I need to merge the modules into one big one?
Im a little stuck on something and dont know if modulescripts can help, im trying to kill a LocalPlayer, from a localscript, but i need to run it on the serverside to do that.
ModuleScripts aren't required for this. ModuleScripts are meant for clearer and organized code, you could make a ModuleScript designed to kill players but it really won't change that much. Use Remote Events to send a signal from LocalScript to Server-side Scripts. If the LocalScript needs to know what happened, then use Remote Function. If you don't know these, I'd recommend searching them up.
i have a feeling this will expand my journey into game making, also, tiny question for experienced devs. Let's say I want a lot of blocks to share the same script! Print "Touched" when a player touches them. Will it work to just put them all in the same folder, make a moduleScript inside that folder that has the actual printing script, and have server scripts that require the moduleScripts? Example: ModuleScript: [Code to detect touch and print message] Script: require(BlockFolder.ModuleScript) edit: Yeah, you can. Did it by myself after like 15 minutes.
As a dev who has tried to explain module scripts to people, You did an amazing job explaining it clearly and very understandably!
That's great to hear, cheers
To you but not the average person trying to learn. I learned absolutely nothing from this. :/
@@user-N04H stop hating start learning 😂
@@Sinz012 not hating its just to the average person who's starting I have to know what these terms mean and they weren't the best for me. That's what im saying.
@@user-N04H this is advanced tutorial for people who have learned the basics, GnomeCode has a beginner scripting tutorial if you don't know the basics
assuming the average person doesn't know the basics of scripting
Hope this helps!
I‘ve been scripting for almost 2 years now and never bothered to learn about module scripts x) very helpful video, thanks lot
I've been scripting for almost 2 year and I still don't understand what is it.
@@juanfleury its basically just reusable code that any script can call so you only have to edit the original module once (its very useful for keeping information or having reusable functions)
@@saviornogame I understand now, but thank you anyways :D
same
SAME
great sense of humour, well-paced and thoughtful, immensely helpful. thanks for your hard work, gnomecode!
almost a year of working on roblox game projects without getting into module scripts. this makes a lot of things clear, thank you gc your tutorials are very helpful and have been awesome!
same here, man, only difference is i dont make as many anime content as you
It seems as though you've taken a break from RUclips or something, I'm not sure. I just found you today, but you are one of the best if not the best Roblox script tutorial makers for sure. You explain everything better than any teacher, and almost put things in storylines that make it fun and exciting in a way. Like your exploiting video where Billy goes on a rampage and you teach us how to tame him.
I really would love to see you make a video about how to use Studio Explorer, IE, when to use Serverstorage, Serverscript Service, where to put things, where to never put things. As someone who is learning Roblox studio the biggest hurdle for me has been knowing when to use certain parts of the explorer, I found a video explaining it to some extent by another youtuber but he said some things like "Never use server storage, its useless" and a few other things that weren't entirely accurate.
Basically, exploiters can ruin a lot of people's experiences, or flat out break games. I know they're supposedly rare and I should just focus on getting my game up and going but.. bleh. I just figure it would be easier to build it from the ground up knowing how to defeat the exploiters, rather than learning from losing players and getting dislikes because of them..
That's why I think you're such a huge value to the community, Nobody wants to play with exploiters, nobody wants exploiters to ruin the experience for their players, players have less fun, devs lose players, it's only a win for exploiters..
Yeah he is really good at explaining.Here is a brief explanation.
1. Server Script Service is where you will want to put all your normal scripts.
2.Server storage is where you store stuff like objects that are not in the workspace so the player won't see them good for rotating maps. Sometimes values are stored their such as your stage in an obby it's basically where you store server stuff.
Excellent introduction; concise and straightforward without sacrificing detail. Thanks!
I’ve been needing this for a long time. Thanks so much gnome!
Great to hear!
as a begineer this is am thinking this is very useful for things like jumppads or killblocks maybe sword's or honestly anything. thanks i learned alot :)
i literally felt myself ascending as soon as i gained this knowledge. thanks.
same! i transcended humanity through module scripts.
These could defo be useful to beginners. Great job man!
Glad you think so!
Very Usefull for bigger projects! Thanks for making this video
Thanks for the good vibes!
great tutorial!
one thing i noticed with the SpawnFruit() function, is that you put the function in the same table as the fruits.
SpawnFruit("SpawnFruit") will error, because further in the function it mentions fruit[name].Color (Color is not a member of a function)
Dam That's crazy!
thats because you didnt set a color in
it worked for me
This comment is incorrect since you use [] when referencing something in a table
fruit[name] references to the fruit being sent in a parameter
for example
fruit.SpawnFruit("Kiwi")
instead of fruit[name], it will instead return Kiwi
so Kiwi.Color = Color3.new(0.223529, 0.392157, 0.027451)
@@reminderIknows try it out, i know im correct about this
Trying to just new learn skills that I might need in development, this one sure will help. Perfect teaching, thanks
This is so handy, thank you so much. The video was short, and you explained it so well.
I though it was boomsasok for 30 secs
@@ItsPedro9898 j t o h
As I watched your videos,I see that your explanation is perfect,the things that I didn't understand with other,I got it by your explanations
thanks man, best explanation i’ve seen
who dosent love this dude explaining stuff clearly
this is really informative and not being complicated too
Thank you so much, this tutorial is really easy to understand and you explained it so well! Keep going!
Can I use module scripts to make like a chance percentage on egg hatching system?
Thank you so much for teaching me! I've been always trying to find out how to use Module Scripts, but I was still confused. But after watching this video, I learned how to use module scripts well! (I SUBBED BTW)
This is one of the few tutorials i have actually learnt from, thank you so much!
Hey! GnomeCode why i can edit teddy game?
Best tutorial on Roblox Studio I have ever seen, thanks!
for the example shown at 3:20 or so, you can just do:
return {
["Apple"] = {
Price = 50,
}
}
So... it's kinda like the reason why you want a separate file for all of your CSS in html
Thank you so much man! This will really help me organize scripts!
Perfect introduction to module scripts. Many thanks
I started scripting a bunch of months ago and I've been wondering what module scripts were, I haven't paid much attention to them, thanks for this video, now I will be able to use module scripts
yeah
I watched this a year ago, never thought I'd use module scripts, and here I am, watching it again because I need a module script for functionality.
This is such an amazing tutorial, it's actually very good
Hi, I am making a game like CS:GO surf in Roblox and, I want to make part that when touched increased the player speed every second and when player dies it resets automatically and speed is also show with the help of GUI on player screen. (The speed should only increase for the player who touches it.) Please help me. I am stucked.😥😥😥
People all need explain like this. Thanks for this video
I subcribed
Glad it helped, thanks for the sub!
YO BRO TYSM! I FINNALY UNDERSTOOD WHAT MODULE SCRIPT NEED! TY
my brain focused so much in this and i learned a LOT
Thanks!I abondoned a HUGE amount of projects since the code was messy...! If I only knew...
Try making smaller projects or work on a friend’s project for a while to learn organizing code better
@@QUBIQUBED Unfortunately, I'm not into roblox game dev anymore. I have moved on to other larger game engines, which i think your advice still applies. I will take it into consideration next time I work on a project.
This is a great tutorial. It really helped me a lot. Thanks 👍
i am currently spending an hour and a half messing with random things, trying to get it to not say "requested module experienced an error while loading" every time i press play. EDIT: ok i finally fixed it, but i have a question, how would i go about putting the object i spawned from the module script list into a player's backpack?
So basically just an "object" in OOP in other languages?
u explained this in the best way possible
Fun stuff, knew what modules do but never knew you can use functions
Even though i dont really use these, im happy that know i understand them better, thank you
Short Explanation:
Module script needs a Script object that has require(Insert Module Script Location) in it
Your the best garden gnome
Gnome code doesn’t need the toolbox, the toolbox needs him.
Are you going to do videos on how you changed the teddy ai or building chapter 4???
amazing tutorial this will help me with my rng game :D
so basically modulescripts are functions except in physical forms ?
Could you replace the “name” in the function in the module script with whatever. I didn’t get that part. How does name mean name, since I couldn’t find anywhere in the script that makes the name mean name. I thought it just meant fruit.SpawnFruit, which doesn’t
mean anything until you assign a function to it.
I'll try to help but maybe you already know by now. He made a function named SpawnFruits(name). This means whenever you call out the function, you replace the "name" with whatever. Here's an example:
local fruits = {"Apples", "Bananas", "Tomatoes"}
function SpawnFruit(name)
if name == table.find(fruits, name) then
print("Your fruit is found!")
end
end
wait(2)
SpawnFruit("Apples") -- You replace the name with whatever when you are calling it out.
SpawnFruit("Oranges")
Sorry, there's some complex scripts, ignore those. If you have any more question, feel free to ask me!
Im extremely annoyed by Module scripts. Everytime I add a Module Script into a Script or also try to seperate them, everything I type into the Module Script the Script will just copy it. Same way around. And if I delete everything in the Module Script, the Script will also delete everything.
Fun fact: module scripts are very useful when making programming languages
Is the Module similar to a Class in OOP ? i got it. Nice and very clearly explanation 🙌
Most of my coding knowledge is in c#, are these like classes?
3:08 I just blinked 💀
Thanks now I understand module scripts very well :)
That's great to hear!
G’Nome!
w apple teaching, keep it up
nice outro!
Cheers
so it's basically a public table for scripts to access?
Wow I code on roblox, this will help me make my scripts not so long! Thx so much! 😍
wow this is great, helped me alot managed to impethis into my game
Can someone explain why i got a module congfig manager Warning??
thx for the game idea and explaination
Module Scripts: Commonly used in virus-related scripting because of their ability to be required from the Library.
pensi
@@krianee6662 that word translates to think
Hey thanks! I'm not really a good scripter but I wanted to know what this does so I'll know in the future!
It's make changes in the Sarver or claint?
i love how he says "lilcal script" for local script lol
Your next video should be about anti-exploit scripts.
Why can’t I just write everything directly into one main script instead of using a normal and a module script?
i think its to organize since organizing is useful for it to be easy to add new code in the script without destroying the entire game like moving a single domino in a stack of dominoes
how could i add more/modify variables in a module script using other scripts?
Me, making an RPG with a core folder half comprised of module scripts plus 2 module scripts for each and every kind of monster except bosses:
"ORGANIZATION 100"
as a developer and a exploiter this information is useful for backdoors
How do I turn someone into another character using a model script?
Workspace.Script:3: attempt to index nil with 'Oranges'
Wrong quote, you have to use double quotes for string….
can i ask does module script can be also used in normal script like u can do what its does inside script
but module script just help u to keep scriptings more organized and u can just check if the script says what it does and makes it simple and easy to look at? if its just for that then i understand
i take it that u problly can use at normal script but just when ur working on big project like jailbreak and lots of updates game will be using this ? well if thaats the case i learned alot thx for sharing!
can someone help me make a script that makes a *model* dissapear, then right after they dissapear another *model* appears (then the cycle goes on forever)?
please give me scripts for both *models*
Can you edit a player gui inside of a module script?
and could you do a video of effect like beam explosion effect smoke it could be useful for me or the comunity thanks
1:24 my favorite fruit is a tomato
Video streak??
I don't remember bricks being a fruit.
That was so USEFUL!!! Thank you for helping me so much!!!
Yes please do on OOP. I would love to watch it.
1:32 tomato is not fruit
So, it’s like a library?
This video helped me a lot!
ohh hell no, I know he did not just say "and everybodysss favorite FRUIT, A tomato!!!", My mind just committed suicide.
Yay a post!!
please help me the code from ur doors tutorial is completly broken with me it only loads in 3 doors for some reason please help ive been waiting entire day
Hi, sorry to hear you've been having problems. Do you have your output window open? That should help you by telling you where any specific errors are coming from. If you still need help, I'd recommend making a post in my Discord's help channel as it's much easier to help people there.
So... they are classes/structs like in the rest of programming languages.
Yup!
thanks i never knew what module scripts are now inknoe
Wish when I was learning scripting this video existed
Nice video, any chance you could do a video in utilising them in a game? I'm trying to make a survival game, and I'm using module scripts, but I have problem. I have an inventory module which needs to have a 2 way communication with my hotbar module, but I can't have that. Would I need to merge the modules into one big one?
never merge modules together, it's not necessary in 99.9% of the cases
modules are there to organize code and support reuseability
@@zwwz1424 yeah, but I can't make it work otherwise. I need both modules to require each other, which causes an error.
@@planeman4453 put the functions you need from both modules in a different one if possible
@@zwwz1424 i can't. That defeats the whole point of having them as 2 modules. Should i just merge the hotbar with the inventory then (modules)?
@@planeman4453 i guess yeah
amazing man!
Im a little stuck on something and dont know if modulescripts can help, im trying to kill a LocalPlayer, from a localscript, but i need to run it on the serverside to do that.
ModuleScripts aren't required for this. ModuleScripts are meant for clearer and organized code, you could make a ModuleScript designed to kill players but it really won't change that much.
Use Remote Events to send a signal from LocalScript to Server-side Scripts.
If the LocalScript needs to know what happened, then use Remote Function.
If you don't know these, I'd recommend searching them up.
as a person who likes giant scripts, i can confirm i will rarely-never use these.
i have a feeling this will expand my journey into game making, also, tiny question for experienced devs.
Let's say I want a lot of blocks to share the same script! Print "Touched" when a player touches them.
Will it work to just put them all in the same folder, make a moduleScript inside that folder that has the actual printing script, and have server scripts that require the moduleScripts?
Example:
ModuleScript: [Code to detect touch and print message]
Script: require(BlockFolder.ModuleScript)
edit: Yeah, you can. Did it by myself after like 15 minutes.
I mean I don't think doing modules would be great for it but you can use loops👍
@@coolbudYT nah, worked perfectly. better than anything else, if you want i can share the code
u can just put all parts into one folder, then use for _,v in pairs(folder:GetChildren())
and v.Touched:Connect(function()
@@НазарШульга-э5с that's overcomplicated ngl, there's a much simpler and compact way, as i said, i'll gladly share the code
Americans: Toe-May-Toes
Anywhere else: Toe_Mah_Toes
wait Tomato is a fruit? Isn't it a vegetable?
I never knew how to use a modulescript until now...