What are Module Scripts? Roblox Scripting Explained

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 261

  • @jsnotlout3312
    @jsnotlout3312 3 года назад +230

    As a dev who has tried to explain module scripts to people, You did an amazing job explaining it clearly and very understandably!

    • @GnomeCode
      @GnomeCode  3 года назад +34

      That's great to hear, cheers

    • @user-N04H
      @user-N04H 2 года назад +7

      To you but not the average person trying to learn. I learned absolutely nothing from this. :/

    • @Sinz012
      @Sinz012 2 года назад +7

      @@user-N04H stop hating start learning 😂

    • @user-N04H
      @user-N04H 2 года назад +8

      @@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.

    • @RakisahNew
      @RakisahNew 2 года назад +7

      @@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!

  • @tschesch6025
    @tschesch6025 3 года назад +34

    I‘ve been scripting for almost 2 years now and never bothered to learn about module scripts x) very helpful video, thanks lot

    • @juanfleury
      @juanfleury 3 года назад +3

      I've been scripting for almost 2 year and I still don't understand what is it.

    • @saviornogame
      @saviornogame 3 года назад +4

      @@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)

    • @juanfleury
      @juanfleury 3 года назад +5

      @@saviornogame I understand now, but thank you anyways :D

    • @cub0id
      @cub0id 2 года назад

      same

    • @Yan-ol4qu
      @Yan-ol4qu 2 года назад

      SAME

  • @kaitotties
    @kaitotties Год назад +15

    great sense of humour, well-paced and thoughtful, immensely helpful. thanks for your hard work, gnomecode!

  • @kthuludev
    @kthuludev 2 года назад +18

    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!

    • @VodkaDoge
      @VodkaDoge Год назад

      same here, man, only difference is i dont make as many anime content as you

  • @Thelittlesthoboson
    @Thelittlesthoboson 9 месяцев назад +5

    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..

    • @FortniteChapterOG
      @FortniteChapterOG 4 месяца назад +3

      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.

  • @Alaprine
    @Alaprine Год назад +8

    Excellent introduction; concise and straightforward without sacrificing detail. Thanks!

  • @PineBloxx
    @PineBloxx 3 года назад +14

    I’ve been needing this for a long time. Thanks so much gnome!

  • @cinemalazare4850
    @cinemalazare4850 2 года назад +4

    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 :)

  • @qb_devboi1326
    @qb_devboi1326 2 месяца назад +2

    i literally felt myself ascending as soon as i gained this knowledge. thanks.

    • @pun9052
      @pun9052 Месяц назад

      same! i transcended humanity through module scripts.

  • @wallop560
    @wallop560 3 года назад +11

    These could defo be useful to beginners. Great job man!

    • @GnomeCode
      @GnomeCode  3 года назад +4

      Glad you think so!

  • @ricardo3201
    @ricardo3201 3 года назад +3

    Very Usefull for bigger projects! Thanks for making this video

    • @GnomeCode
      @GnomeCode  3 года назад +1

      Thanks for the good vibes!

  • @therealsuper5828
    @therealsuper5828 3 года назад +52

    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)

    • @triggvfx5784
      @triggvfx5784 2 года назад +6

      Dam That's crazy!

    • @pthwo
      @pthwo Год назад

      thats because you didnt set a color in

    • @terrydakingslay
      @terrydakingslay Год назад

      it worked for me

    • @reminderIknows
      @reminderIknows Год назад +1

      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)

    • @therealsuper5828
      @therealsuper5828 Год назад +1

      @@reminderIknows try it out, i know im correct about this

  • @slingdev
    @slingdev Год назад +1

    Trying to just new learn skills that I might need in development, this one sure will help. Perfect teaching, thanks

  • @usko_
    @usko_ 2 года назад +3

    This is so handy, thank you so much. The video was short, and you explained it so well.

    • @ItsPedro9898
      @ItsPedro9898 10 месяцев назад

      I though it was boomsasok for 30 secs

    • @Abit_
      @Abit_ 8 месяцев назад

      @@ItsPedro9898 j t o h

  • @SIMPLE_FORM
    @SIMPLE_FORM 11 месяцев назад

    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

  • @poluefemus
    @poluefemus Год назад +1

    thanks man, best explanation i’ve seen

  • @TheDunClub
    @TheDunClub Год назад

    who dosent love this dude explaining stuff clearly

  • @Ahmed_sayed122
    @Ahmed_sayed122 17 дней назад

    this is really informative and not being complicated too

  • @silvermist_studios
    @silvermist_studios Год назад

    Thank you so much, this tutorial is really easy to understand and you explained it so well! Keep going!

  • @ardatimeofc
    @ardatimeofc Год назад +1

    Can I use module scripts to make like a chance percentage on egg hatching system?

  • @sir.potgreyscale3897
    @sir.potgreyscale3897 2 года назад

    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)

  • @bigjimmyrblx5601
    @bigjimmyrblx5601 2 года назад +2

    This is one of the few tutorials i have actually learnt from, thank you so much!

  • @HowToName559
    @HowToName559 3 года назад +2

    Hey! GnomeCode why i can edit teddy game?

  • @davidh6217
    @davidh6217 2 года назад

    Best tutorial on Roblox Studio I have ever seen, thanks!

  • @CT_Gree
    @CT_Gree 3 года назад

    for the example shown at 3:20 or so, you can just do:
    return {
    ["Apple"] = {
    Price = 50,
    }
    }

  • @robertsnoname8847
    @robertsnoname8847 Год назад +1

    So... it's kinda like the reason why you want a separate file for all of your CSS in html

  • @akiprox7
    @akiprox7 Год назад

    Thank you so much man! This will really help me organize scripts!

  • @feodorborisevich
    @feodorborisevich 3 года назад

    Perfect introduction to module scripts. Many thanks

  • @epixerty
    @epixerty 3 года назад +4

    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

  • @jett27j30
    @jett27j30 8 месяцев назад

    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.

  • @TipoHombre
    @TipoHombre Год назад

    This is such an amazing tutorial, it's actually very good

  • @AnshumanPareek1
    @AnshumanPareek1 3 года назад +1

    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.😥😥😥

  • @dunghuynh3884
    @dunghuynh3884 3 года назад +1

    People all need explain like this. Thanks for this video
    I subcribed

    • @GnomeCode
      @GnomeCode  3 года назад +1

      Glad it helped, thanks for the sub!

  • @amarondas-cm6rh
    @amarondas-cm6rh 9 месяцев назад

    YO BRO TYSM! I FINNALY UNDERSTOOD WHAT MODULE SCRIPT NEED! TY

  • @capturedchild
    @capturedchild 3 года назад +1

    my brain focused so much in this and i learned a LOT

  • @itsnotAZ
    @itsnotAZ 3 года назад +1

    Thanks!I abondoned a HUGE amount of projects since the code was messy...! If I only knew...

    • @QUBIQUBED
      @QUBIQUBED Год назад

      Try making smaller projects or work on a friend’s project for a while to learn organizing code better

    • @itsnotAZ
      @itsnotAZ Год назад

      @@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.

  • @ragingatrix9697
    @ragingatrix9697 Год назад

    This is a great tutorial. It really helped me a lot. Thanks 👍

  • @jessipeppermintz6372
    @jessipeppermintz6372 5 месяцев назад +1

    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?

  • @axew7368
    @axew7368 Месяц назад

    So basically just an "object" in OOP in other languages?

  • @dingus625
    @dingus625 Год назад

    u explained this in the best way possible

  • @rex5282
    @rex5282 3 года назад

    Fun stuff, knew what modules do but never knew you can use functions

  • @n_kachi
    @n_kachi 2 года назад

    Even though i dont really use these, im happy that know i understand them better, thank you

  • @profiley.
    @profiley. 6 месяцев назад

    Short Explanation:
    Module script needs a Script object that has require(Insert Module Script Location) in it

  • @davidguo9923
    @davidguo9923 2 года назад +1

    Your the best garden gnome

  • @Scober420
    @Scober420 Год назад

    Gnome code doesn’t need the toolbox, the toolbox needs him.

  • @MCAsh-il9cq
    @MCAsh-il9cq 3 года назад

    Are you going to do videos on how you changed the teddy ai or building chapter 4???

  • @FroggoArmy
    @FroggoArmy 19 дней назад

    amazing tutorial this will help me with my rng game :D

  • @hike8932
    @hike8932 Год назад

    so basically modulescripts are functions except in physical forms ?

  • @seeray11
    @seeray11 Год назад +1

    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.

    • @RadCode-m9s
      @RadCode-m9s Месяц назад

      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!

  • @JannaK78
    @JannaK78 2 года назад

    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.

  • @deadbrav
    @deadbrav Год назад +1

    Fun fact: module scripts are very useful when making programming languages

  • @edufabricio
    @edufabricio Год назад

    Is the Module similar to a Class in OOP ? i got it. Nice and very clearly explanation 🙌

  • @sealsnatch
    @sealsnatch Год назад

    Most of my coding knowledge is in c#, are these like classes?

  • @JeLeff.
    @JeLeff. Год назад

    3:08 I just blinked 💀

  • @ShadowClaw_Dev
    @ShadowClaw_Dev 3 года назад

    Thanks now I understand module scripts very well :)

    • @GnomeCode
      @GnomeCode  3 года назад

      That's great to hear!

  • @OversizedPringleToe
    @OversizedPringleToe 2 года назад +1

    G’Nome!

  • @SupNote
    @SupNote 5 месяцев назад

    w apple teaching, keep it up

  • @dvm1126
    @dvm1126 3 года назад +1

    nice outro!

  • @ThidDrutsburg
    @ThidDrutsburg 4 месяца назад

    so it's basically a public table for scripts to access?

  • @gabegamez1018
    @gabegamez1018 2 года назад

    Wow I code on roblox, this will help me make my scripts not so long! Thx so much! 😍

  • @BaldyDevRBLX
    @BaldyDevRBLX Год назад

    wow this is great, helped me alot managed to impethis into my game

  • @Dave_15_roblox
    @Dave_15_roblox 11 месяцев назад

    Can someone explain why i got a module congfig manager Warning??

  • @CoolPixelated
    @CoolPixelated Месяц назад +1

    thx for the game idea and explaination

  • @Marioman73
    @Marioman73 3 года назад +1

    Module Scripts: Commonly used in virus-related scripting because of their ability to be required from the Library.

    • @krianee6662
      @krianee6662 3 года назад

      pensi

    • @xondisw
      @xondisw 3 года назад

      @@krianee6662 that word translates to think

  • @asrielofhyperdseath
    @asrielofhyperdseath Год назад

    Hey thanks! I'm not really a good scripter but I wanted to know what this does so I'll know in the future!

  • @Krantworld
    @Krantworld Год назад

    It's make changes in the Sarver or claint?

  • @Jappley
    @Jappley Год назад +2

    i love how he says "lilcal script" for local script lol

  • @yelezi7950
    @yelezi7950 3 года назад +1

    Your next video should be about anti-exploit scripts.

  • @animationz4667
    @animationz4667 10 месяцев назад

    Why can’t I just write everything directly into one main script instead of using a normal and a module script?

    • @benja2998
      @benja2998 9 месяцев назад

      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

  • @codingidiot6754
    @codingidiot6754 2 года назад

    how could i add more/modify variables in a module script using other scripts?

  • @Chmze799
    @Chmze799 3 года назад

    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"

  • @Gyatsumaki-o3y
    @Gyatsumaki-o3y Год назад

    as a developer and a exploiter this information is useful for backdoors

  • @firespider20
    @firespider20 Год назад

    How do I turn someone into another character using a model script?

  • @aleserver2454
    @aleserver2454 2 года назад

    Workspace.Script:3: attempt to index nil with 'Oranges'

    • @QUBIQUBED
      @QUBIQUBED Год назад

      Wrong quote, you have to use double quotes for string….

  • @BirdyKongy
    @BirdyKongy 3 года назад

    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!

  • @wheatwhole_
    @wheatwhole_ 2 года назад

    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*

  • @RaS-r8q
    @RaS-r8q Год назад

    Can you edit a player gui inside of a module script?

  • @WearWQLF
    @WearWQLF 3 года назад +1

    and could you do a video of effect like beam explosion effect smoke it could be useful for me or the comunity thanks

  • @davidguo9923
    @davidguo9923 2 года назад +1

    1:24 my favorite fruit is a tomato

  • @FSHY.
    @FSHY. 3 года назад

    Video streak??

  • @JustCritz
    @JustCritz Год назад +1

    I don't remember bricks being a fruit.

  • @CheezyGaming0910
    @CheezyGaming0910 2 года назад

    That was so USEFUL!!! Thank you for helping me so much!!!

  • @grandeurgaming2165
    @grandeurgaming2165 3 года назад

    Yes please do on OOP. I would love to watch it.

  • @BJodfuo
    @BJodfuo 2 года назад +1

    1:32 tomato is not fruit

  • @100wyyy
    @100wyyy Год назад

    So, it’s like a library?

  • @TheNewDev09
    @TheNewDev09 2 года назад

    This video helped me a lot!

  • @livecorp3232
    @livecorp3232 2 года назад

    ohh hell no, I know he did not just say "and everybodysss favorite FRUIT, A tomato!!!", My mind just committed suicide.

  • @lightpin638
    @lightpin638 3 года назад

    Yay a post!!

  • @justmrkoala
    @justmrkoala 2 года назад

    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

    • @GnomeCode
      @GnomeCode  2 года назад

      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.

  • @MudHoleCreation
    @MudHoleCreation 3 месяца назад

    So... they are classes/structs like in the rest of programming languages.

  • @Skroopz
    @Skroopz 8 месяцев назад

    thanks i never knew what module scripts are now inknoe

  • @MrJohnJGraduation
    @MrJohnJGraduation 3 года назад

    Wish when I was learning scripting this video existed

  • @planeman4453
    @planeman4453 3 года назад

    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?

    • @zwwz1424
      @zwwz1424 3 года назад +1

      never merge modules together, it's not necessary in 99.9% of the cases
      modules are there to organize code and support reuseability

    • @planeman4453
      @planeman4453 3 года назад

      @@zwwz1424 yeah, but I can't make it work otherwise. I need both modules to require each other, which causes an error.

    • @zwwz1424
      @zwwz1424 3 года назад

      @@planeman4453 put the functions you need from both modules in a different one if possible

    • @planeman4453
      @planeman4453 3 года назад

      @@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)?

    • @zwwz1424
      @zwwz1424 3 года назад

      @@planeman4453 i guess yeah

  • @akiprox7
    @akiprox7 Год назад

    amazing man!

  • @oskiebadoskie
    @oskiebadoskie 3 года назад

    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.

    • @mianreplicate
      @mianreplicate 3 года назад

      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.

  • @Fayroll5
    @Fayroll5 Год назад

    as a person who likes giant scripts, i can confirm i will rarely-never use these.

  • @VodkaDoge
    @VodkaDoge Год назад

    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.

    • @coolbudYT
      @coolbudYT Год назад

      I mean I don't think doing modules would be great for it but you can use loops👍

    • @VodkaDoge
      @VodkaDoge Год назад

      @@coolbudYT nah, worked perfectly. better than anything else, if you want i can share the code

    • @НазарШульга-э5с
      @НазарШульга-э5с Год назад

      u can just put all parts into one folder, then use for _,v in pairs(folder:GetChildren())
      and v.Touched:Connect(function()

    • @VodkaDoge
      @VodkaDoge Год назад

      @@НазарШульга-э5с that's overcomplicated ngl, there's a much simpler and compact way, as i said, i'll gladly share the code

  • @HayFatYT
    @HayFatYT 8 месяцев назад

    Americans: Toe-May-Toes
    Anywhere else: Toe_Mah_Toes

  • @giuyo
    @giuyo 2 года назад

    wait Tomato is a fruit? Isn't it a vegetable?

  • @jbplays99
    @jbplays99 3 года назад

    I never knew how to use a modulescript until now...