Stop Repeating Yourself! Improve Your Code with Collection Service

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

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

  • @galicate
    @galicate Год назад +66

    Should be noted that you no longer need the CollectionService plugin, as it has been officially added to roblox in the View tab.

    • @ImMrGrape
      @ImMrGrape 6 месяцев назад +4

      It makes it easier with the world view

  • @bloxthebloxxer8234
    @bloxthebloxxer8234 Год назад +48

    NOTE: if you encounter bugs with it try to make sure none of the variables you are making are global because that really messes with everything alot

    • @_snekmatt-xt5ch
      @_snekmatt-xt5ch Год назад +3

      Outside the loop or in?

    • @coreydorce8246
      @coreydorce8246 8 месяцев назад +2

      Generally anywhere, you shouldn't use global unless you have to reference it in another script for some reason

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

      @@coreydorce8246module scripts negate that

  • @Ph4ntomize
    @Ph4ntomize Год назад +81

    These are the habits that more people should be spreading awareness of.

  • @12Duckz
    @12Duckz Год назад +37

    Gnome always with a helpful video, keep up the good videos man.

    • @GnomeCode
      @GnomeCode  Год назад +9

      Thank you!

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

      ​@@GnomeCodecan you show how to use messaging service i want to make global shop stock, and wonder how it works. Hope you will help

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

    If you have multiple server script, it is highly recommended to tween the doors in client side and not server side for performance and efficiency

  • @Someone-df3tv
    @Someone-df3tv Год назад +1

    Exactly what I had been searching for. Thank you!!

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

    You can also use the "for" syntax as an alternative to collection service, as you can multitask with it and it's very simple and not complicated at all to use. CollectionService is still pretty good though, but I prefer "for".

  • @ahmetselimgt3232
    @ahmetselimgt3232 11 месяцев назад +1

    More of this series please

  • @Gavriasagmaeilll
    @Gavriasagmaeilll Год назад +7

    i suggest not trying to use workspace as a whole, because player models will exist in there too, and if their displayName is the same as a tag...then that changes a lot about the player in question

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

      ??? Bro what they don't have the tag themself it's just their display they don't have a tag value

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

      @@FINDROBLOX didnt know at the time, lol

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

    This video saved me from copy and pasting 840 times thank you so much 😊

  • @threasto
    @threasto Год назад +13

    I never use collection service enough, but it is pretty handy. I personally just throw any object of a certain type (ie doors) into a folder called doors and loop through them instead

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

    Ty so much I’m learning to script and I’m in the middle of making a game and this helps a lot with optimization

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

    unironically saved me a huge headache

  • @thatyoutubeguy-md2ws
    @thatyoutubeguy-md2ws 6 месяцев назад

    Bro, I needed This Tutorial

    it took me so long to find a good tut like this one
    💀💀💀💀

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

    Gnome sir you explain so good but how do you have so much less subs you should reach 1 million!

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

    This video saved me from copy and pasting 840 times tysm

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

    didn't know about that, thank you man!

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

    I’m going to use this for UI button sounds. Thanks!

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

    Thank you very much, now I can make my Sci-Fi doors of my game work on that

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

    The tag editor plug in is no longer needed. Robots add a tag instance in the properties window.

  • @buuild
    @buuild Год назад +5

    I don't use collection service, nor do I use dupe scripts. Instead I put them in a folder and for the loop I do folder:get children instead of collectionservice:get tagged but both work

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

      same

    • @GnomeCode
      @GnomeCode  Год назад +7

      This works well until you want to organise your folder structure differently. What if your doors are inside a building? You would probably want them to be inside the folder/model for that building rather than in their own separate doors folder. CollectionService allows you to easily access all the tagged elements rather than relying on a specific folder layout.

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

      @@GnomeCode ooo good point imma start using this

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

      I was doing this too but now that I know this exists I will be using collection service

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

    Thank you GnomeCode. I’m currently making a game and you have no idea how helpful this is 😅

  • @hooppss
    @hooppss Год назад +5

    Could you do a tutorial of a turn based system? I've been looking for some a long time.

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

      I agree! It would be so cool to learn how to make one!

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

    Ohh now this makes more sense.

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

    this video is so helpful

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

    hey bro nice video !!! but by the way remember ? about doors ? you made the last episode is 7 about how to make doors in roblox studio so maybe you should continue making video about how to make doors in roblox studio ?

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

    There’s a different way I like to do it using folders

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

    I usually just handle it on the client via a local script. However one time I was making a FE2 game, and in that one I just put a script that loads a module script with the code

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

    I learned you dont need pairs() or ipairs() anymore because luau now has general iteration. :(

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

    I have a question, what if I wanted to change one thing on each of these? Ex. A button has a unique variable that only it has

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

    Okay so, what makes me mad is that you didn't explain the for loop for this particular topic. Can you please tell me how that works for CollectionService?

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

      it basically gets every instance (doesn't matter if they are in the ServerStorage, ReplicatedStorage, Workspace, etc) with the tag you are looking for.
      For example, it's very good if you want to handle AI's because you dont need a single script inside every npc or every npc inside a single folder

  • @Yan-ol4qu
    @Yan-ol4qu 8 месяцев назад

    OH MY GOD I LOVE YOU.

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

    omg omg omg omg ty ty ty ty

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

    your tutorials are amazing dude, thanks to you i actually know quite a bit about coding now.

  • @Puzzledmusel86
    @Puzzledmusel86 Год назад +3

    I never knew what this was before this video :)

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

    thank you. This is a very helpful video, everyone should know to do these. I've looked so much on how to do this. I really appreciate this, keep the work and don't give up. Also you should make a remake of your Tower Defense, maybe with rng, many people will look at a tutorial such it!

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

    Thanks for making this

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

    where are new tutorials on how to do games?

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

      These give you the building blocks / tools to make games!

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

      These tutorials provide the building blocks for a game.
      You're the one who makes the game! Use these as steps if you need to.
      Hopefully you can create yourself a fun game!

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

    Upload grind recently.

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

    you can make a tutorial on how to create a boss fight like the ones in item asylum

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

    Can someone explain the original moving door script to me, specifically the "function MoveDoor(isOpen)" thing? I'm not understanding the argument of "isOpen" and how it's pertaining to the function. I know that arguments send information that is out of scope of a function to said function, but what information is "isOpen" sending? Does the "isOpen" attribute need to be applied to the model in order for the door to move? What about when the attribute is set to "not isOpen" after the proxim prompt is triggered? The door can still be moved after it's opened (closing the door). What does "local isOpen = model:GetAttribute("isOpen")" even mean?

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

      If the door should be open or not, if it should, then it reacts a way, if it shouldn’t, then it react another way.
      Also, the last line just get the value of the attribute.

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

      Its advanced scripting stuff and it seems like you dont understand it,but dont worry just practice more!And believe me studying better is better than studying more,so if you find scripting tutorials that you perfectly understand youre good to go!😊

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

    This video really helped with my original simulator

  • @grinderandrew
    @grinderandrew 11 месяцев назад +1

    question:how do you make the sliding door is it in the toolbox?

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

      There can be grammar mistakes so I hope you know how to fix my grammar (Put the Tween:Play() somewhere in a function like
      Script.Parent.ProximityPromt.Triggered:Connect(function()
      Tween:Play()
      end)

  • @yes.5110
    @yes.5110 Год назад

    how to make a purchase prompt for catalog items and clothes appear when text button gui is clicked

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

    Can you make a tut On how to Make a Tds Game??

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

      he already did

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

      @@thingytb7458 I Mean like a New Tut Sense this one does not work

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

    Thank for the video

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

    Any way to make collection service execute when new part with such tag gets added to a workspace?

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

    are you back from your break?

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

    will you continue the Noors tutorial? are you planning on make other tutorials also?

  • @chillgamer3485
    @chillgamer3485 Год назад +5

    Hey GnomeCode, could you show us how to make a turn based fighting game similar to Adventure Story? It would be awesome!!

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

    what about For i loops
    you could also use that

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

    Gnomecode make chapter 5 man I beg you make chapter 5 I LOVE YOUR GAME MAKE CHAPTER 5😢

  • @broko151
    @broko151 Год назад +4

    Its helpful this thanks

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

    Thank you mr gnomecode!

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

    Hello! you can make a tutorial on how to make Doors HOTEL UPDATE in roblox studio

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

    What if i need to put while loop in a ton of parts?

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

    thanks

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

    please make a rts game tutorial

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

    This is literally game changing! Just the other day I was wondering if Roblox has some sort of system similar to Unity Prefabs where you can just edit 1 and it would edit all of them. But now I know! ~~After almost 8 years~~
    _Now I just have to go and implement this change... Oh god..._

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

    This is actually sick! Gnome, how did you learn coding?

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

    How do you see the tags of an instance without a plugin? I use custom attributes and check its value for scripting. I can see attributes on the properties panel but idk where to easily find tags without plugin.

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

    Hey gnomecode how to we use collection services on kill parts?

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

    Any other game engine makes that automatically for everything...

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

      Roblox is pretty flawed

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

    I have been wondering how do this for the past few weeks this will help SO MUCH

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

    Help I want to put a tween in it

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

    bro said no doors

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

    This is so helpful!

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

    Please finish the doors series

  • @eliteengineer7340
    @eliteengineer7340 Год назад +4

    I dont use collection service , but i dont duplicate doors with scripts either, i would probably put parts to be replaced with the actual door asset when the game is launched, and used a module for the client to open doors

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

      I would create a separate folder with doors and use a for loop

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

      That's actually what many games outside of Roblox do, they just have a door as an asset and when game is launched and the level loaded, it will spawn the door assets at their respective positions and have their logic setup by a class.
      Same goes for NPCs, interactables, player spawners and in-fact, Roblox's engine works same way since the basic parts and stuff like that are all handled by engine side, it just the logic/player stuff is handled on the Lua side.
      Tho setting up a system like that is kinda difficult, but i assume you can utilize the Package system they have to have all assets, scripts all placed in that package, so you only have to import it once, and all updates should affect every place that has your package.

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

      @@chibisayori20 i alteady made a system that has a module that can acess an asset with a directory string, its pretty cool , ex: "Models/Door/Cool Door"

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

    Hey man your one of my favorite youtuber can u do a 'teddi' series. Its a very underrated game so u may have not heard about it

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

    Nice, short and entertaining video!

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

    No one is gonna mention the creator named sweetheartichoke xd?

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

    I was waiting for this Exact tutorial.

  • @JoseRomero-ew2hn
    @JoseRomero-ew2hn Год назад +1

    Can you do hungry pig i've been waiting over 6.5 months for you to make the tutorial series and it's making me bored and tired of waiting and I want to see it right now I'm not good at waiting for stuff you know that!

    • @Sleep-f1w
      @Sleep-f1w Год назад

      He is bad at waiting

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

    Is there any way to make this A touched function?

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

    Thank you so much!

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

    How do you do this with zombies

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

    Thx

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

    Gnome, i really want to make a game like zombie Attack and zombie Rush..
    Can you make a tutorial series about this please?
    I really want for example an episode about How to make a unique Boss for each map

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

    Hey gnome code, I would love to see a FPS Game tutorial series like the How to make tower of defense game (Great Tutorial By the way). Thanks. And keep up the AMAZING videos!

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

    GnomeCode, why you using a plugin for tagging objects? Roblox studio have their own simple tag editor.

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

      so he can infect his place with viruses

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

    hey any of you know how to get the player to rotate based on the rotation of a part the player is standing on?

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

      Use Cframes!

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

      @@GnomeCode bro you actually responded, i didn’t expect it would happen, me and my friend know its in derelict but, a question is would you know how to make a local script which prob has multiple scripts or not, if you do know can you try to make a vid or reply to this comment with a script, not needed but if you can then can you do it?

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

      @@GnomeCode also i have a question, im trying to make a horse but cant find any tutorials if you could make one i will be thankful

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

    Very useful, ive had enough of changing scripts in 20 different models

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

    What does scipt.Parent mean?

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

      It basically means the object that you put the script into, for example if you put a script into a part the script.Parent would be the part,and the script would be called the ‘Child’ of that part. If you are new to scripting and you think you are ready and smart you can always learn to script,as there are many tutorials out there on RUclips! 😊

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

    can you make a how to make jojo game?

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

    hey, i have a few video suggestions. you know your custom characters video (not the morph one)? well, maybe you could show us how to code an idle animation and jump animation. also, how do you make it so an animated decal plays only for a specific animation?

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

    Hey gnome, could you explain why do you use "isOpen" and "Close" or "Open" for proximity prompt text? Im assuming isOpen is a boolean attribute, but how does this works? The same happens at the color... Is it because, since its a boolean, if its true it will get the first parameter otherwise get the second?
    Appreciate, Thanks.

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

      or gives you the first value if its not nil or false and the second otherwise.
      true and "close" or "open" will give you close becuase true and "close" are both true values
      false and "close" or "open" turns into false or "open" because false and true -> false and if the first value is false or gives back the second one
      Idk if this made any sense
      Its lua's ternary operator

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

      @@kristof0713 I see... Ty, now it makes sense!! =D

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

    Thats actually really usefull, but i have a game that cant have this or some stuff will break, also i know people ask this a lot but when is episode 8 of the doors tutorial? I dont wanna risk breaking everything by changing some code

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

    Mr Gnomecode, you should make a video about making lore!

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

      ... bro lore is a story element in your game, u dont need scripting for lore, lore is story and you decide it, u dont need a tutoeial to make up a story

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

    How does the script knows what ''model'' is? (parameter on 4:55)

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

      Because you told it to look at any model that has sliding door tag

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

      Also "model" is a variable so you can change it to what ever you want like name it "door"

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

      Sorry i thought you asking about the model that is in the for loop, in the parameter because you add the function movedoor to the for loop and told the script that you want it to work on the model and isopen using the parameter

  • @chibisayori20
    @chibisayori20 Год назад +3

    Just copy and paste them, or use Package system to make the door a package, so if you change the door's script, and update the changes it should update all doors in the place. You could also put the door in a storage service (ReplicatedStorage or ServerStorage) and clone them to a position on the map.

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

      It makes more sense to have your scripts either in server script or player scripts. They should never be in a model. It keeps things organized and maintains a good workflow

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

      @@miles1094 So how about NPCs?
      Do i have to use OOP or even use for loops to make something like a enemy NPC that shoots you with a weapon? I can understand AI navigation, but what about aiming, shooting weapon, and all that misc stuff?
      99% of NPCs with weapons i came across in toolbox have their scripts inside the model, and yeah sure non roblox NPCs are handled differently like they have seperate classes for them, like behavior, weapon handling, etc
      but this is roblox

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

      ​@@chibisayori20I use CollectionService and ModuleScripts for my AI's, and when I did a stress test with 30 of them i mostly get 45-50 fps and my PC is pretty much a low-end pc. And when all my AI's had separate scripts it made me get 20-30 fps.

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

      ​@@chibisayori20Plus my AI's can actually attack

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

      @@chibisayori20 That doesn't mean theyre good
      99% of those npcs are outdated and not very optimized
      Now you could have scripts in your npcs and still have them optimized, but generally itd just be better to have one script manage multiple npcs instead of multiple scripts managing their respective npcs
      Aiming, shooting, etc, just use modulescripts brah

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

    Thank you so much! It's really annoying to copy & paste every single line of code a lot of times.

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

    Thank you.

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

    Elo mate! Is it possible for you to make another TDS tutorial on roblox? I feel the first one is pretty outdated.

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

    thanks its so usefull

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

    Updated tower defense code!

  • @_snekmatt-xt5ch
    @_snekmatt-xt5ch Год назад

    Its not workimg...

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

    this is MAD useful and easier

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

    Hey gnome! Do u know how to make one of those animation games? Day 1.

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

    i would just use a module script for all the doors to share.

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

      "NO I REFUSE TO TOUCH MODULESCRIPT I WILL NOT USE OOP. LONG LIVE REGULAR SCRIPTS!!"
      - A regular script purist probably.

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

      @@chibisayori20 lol, but then wouldn't you repeat ur code?