Scripting the Settings Gui! Roblox Studio Simulator Guide Episode 20 — Transcript
Full transcript
- 0:00hey what's going on ladies and gentlemen
- 0:01welcome back to the simulator series in
- 0:02today's episode we are gonna be
- 0:03scripting the settings gui that we
- 0:05created in the last episode as always if
- 0:07this video does help you guys out or you
- 0:08guys do enjoy it make sure you smash
- 0:10like button also hit the subscribe
- 0:11button and turn this post notifications
- 0:12on if you want to get notified when i
- 0:13upload more roblox development content
- 0:15additionally i do a patreon if you would
- 0:16like to support me and gain access to
- 0:18all the scripts and the game file then
- 0:19make during this episode there's a link
- 0:21down below in the description and you
- 0:22guys can go and check that out with that
- 0:23being said let's get into it to showcase
- 0:25the features that we're going to be
- 0:26creating today as we can see on the
- 0:28right hand side of the screen we have
- 0:29the settings button when we click this a
- 0:31little menu pops up and it has a couple
- 0:33of the different settings we have the
- 0:34pop-up effects music sfx and trade
- 0:36requests whenever we click on one of
- 0:38these buttons it goes from the bond
- 0:39being green and displaying on to being
- 0:41red and displaying off and it also does
- 0:43what those specific settings do as well
- 0:45additionally if we hit the x button
- 0:47right here that closes the gui and
- 0:49that's exactly what we're going to be
- 0:50recreating today so hopping right back
- 0:52into the studio if we go inside of the
- 0:53storage ui and we look inside of
- 0:55settings let's go ahead and re-enable
- 0:56this so we can actually see the gui now
- 0:59inside of the syncs gui we have a script
- 1:01named manager because i believe we
- 1:02duplicated the max food gui and used
- 1:04that as sort of the template for making
- 1:06this gui let's go ahead and open up the
- 1:08manager script and we see we have a
- 1:09bunch of different variables already
- 1:11created in here which most of these we
- 1:12can delete so we most likely won't need
- 1:14any of these parts we might need remote
- 1:16so i'll leave that for now with the
- 1:18workspace we probably won't need each of
- 1:20these buttons we'll delete because we'll
- 1:21manually add them ourselves and then for
- 1:23the gy let's rename this to screen gui
- 1:26that will be the script.parent so
- 1:28that'll be the settings gui right there
- 1:30and let's start making a couple more
- 1:31variables so we're going to say local
- 1:32frame equals screen gy dot frame then
- 1:35what we're going to need is we need the
- 1:36exit button and also the container those
- 1:39are probably the only things that we're
- 1:40actually going to be changing or
- 1:42scripting the title and the subtitle
- 1:44don't ever need to be modified so we
- 1:45won't be using them so let's go ahead
- 1:47and initialize variable for the exit
- 1:48button so we can just say exit or exit
- 1:50button equals frame dot exit button
- 1:53there we go we've now got that and then
- 1:54let's also add the container as well so
- 1:56local container equals frame dot
- 1:58container now instead of saying just
- 2:00frame dot container because this is just
- 2:02a frame and remember inside of our
- 2:04container frame we have a container
- 2:06scrolling frame which will be the actual
- 2:08container we only made this container
- 2:10frame specifically so that we can have
- 2:12the ui corner so this is kind of like a
- 2:14fake container it's basically just a
- 2:15normal frame and we're not actually
- 2:17using this as a container hopefully
- 2:18that's not too confusing but what we're
- 2:20going to initialize the container
- 2:22variable 2 is not actually just
- 2:24frame.container it's actually going to
- 2:25be
- 2:26frame.container.container and this will
- 2:27be the scrolling frame the real
- 2:29container now inside of the container we
- 2:31also have the template if you guys
- 2:32watched my video when i made the shop gy
- 2:34we also had a template inside of this
- 2:36one as well but rather than being inside
- 2:38of the container we actually parented
- 2:40that to the manager module script
- 2:41recently when i've been working on other
- 2:43projects rather than putting this
- 2:44somewhere outside of the actual
- 2:45container i've been leaving this in for
- 2:47now so in this episode i'm going to be
- 2:48showing you guys a different way of
- 2:50handling this compared to when we
- 2:51created the shop gy but when you think
- 2:53about this just remember how we did the
- 2:54template back when we created the shop
- 2:56gy we're going to be going through a
- 2:57very similar process while creating the
- 2:59settings ui as well and hopefully by the
- 3:01end of the video you guys will know
- 3:02exactly what i mean if this is confusing
- 3:04to you at all so what we then also want
- 3:06to do is we want to initialize a
- 3:07variable for the template so we're going
- 3:08to say local template equals container
- 3:11dot template so now we got most of the
- 3:13variables that we're going to be using
- 3:14initialized i actually forgot one pretty
- 3:16important thing and the thing that we
- 3:17should have done first is actually
- 3:18scripting the settings button so let's
- 3:20go ahead and open up the button screen
- 3:21gui and inside of the button holder is
- 3:23where we have the actual settings button
- 3:25itself now one way that we could go
- 3:26about this is inside of the bun's gui we
- 3:28have the manager script right here and
- 3:30what we could do is we could initialize
- 3:32a variable similar to how we have the
- 3:33cell button already created we could
- 3:35also create the settings button and then
- 3:36handle it the same exact way rather than
- 3:38doing that we're gonna handle it a
- 3:39little bit differently as well hopefully
- 3:41me showing you guys multiple ways of
- 3:42handling the same thing will help you
- 3:44guys learn for the future all the
- 3:46different ways that you guys can do this
- 3:47and i really hope it isn't causing more
- 3:49confusion than it is helping and
- 3:51learning definitely leave me feedback in
- 3:52the comment section down below though
- 3:53because it really helps me learn the
- 3:54best way to actually teach you guys and
- 3:56present you guys the different ideas and
- 3:58ways of doing stuff with that being said
- 3:59we're going to close this manager and
- 4:01we're going to go back inside of the
- 4:03settings ui and we're going to create
- 4:04another local script and we're just
- 4:06going to call this button what i'm going
- 4:07to do is we want to create a variable
- 4:09for the buttons gui so what we're going
- 4:10to do is we're going to say local
- 4:12buttons gui equals script dot parent dot
- 4:16parent now remember script.parent would
- 4:18be settings dot parent would then be the
- 4:20starter gy in this example and then what
- 4:22we could do is we could say dot buttons
- 4:24which gives us the bun screen gui now
- 4:26from here we want to create a variable
- 4:28specifically for the settings button and
- 4:30that's going to be equal to the bungee y
- 4:32dot button holder dot settings and now
- 4:34we have the settings button we'll also
- 4:36create a variable for the screen gui
- 4:38which is going to be the settings gui so
- 4:40local screen gy equals script dot parent
- 4:44and that's equal to the settings gui
- 4:46then we want to do is whenever we click
- 4:48the settings button so settings button
- 4:51dot now spawn one click connect and
- 4:53we'll just create a new function inside
- 4:54of here so we'll say function screen gui
- 4:57dot enabled equals not screen gui dot
- 5:00enabled so if it's enabled then it'll
- 5:02set that to not enabled so if enabled is
- 5:04set to true it'll then set the false or
- 5:06if it's equal to false then it'll set to
- 5:08true and we can go ahead and start up
- 5:09our game and test this out ourselves if
- 5:10we click on settings we can see it's no
- 5:12longer visible if we click the button
- 5:13again it becomes invisible and we can
- 5:15keep doing that and it works exactly as
- 5:17it should so now we should be completely
- 5:18done with this script we can go ahead
- 5:20and close the button script and move on
- 5:21from there what we want to do is we want
- 5:22to create a module script which contains
- 5:24all the settings and some different
- 5:26information about them it's basically
- 5:27going to be a config file that we
- 5:29already have experience with creating so
- 5:30let's go inside of the replicated
- 5:31storage inside of the config folder and
- 5:33let's just go ahead and create a new
- 5:35module script we'll rename this to
- 5:37settings and now we have local module
- 5:39equals the table and then we return that
- 5:41so installing the table we want to
- 5:42create a new table and each individual
- 5:44table is going to hold all the
- 5:45properties of specific settings so the
- 5:47first property is going to be id and the
- 5:50first setting we'll create is pop-up
- 5:51underscore effects and remember this is
- 5:54going off eating simulator so this is
- 5:55just going to be an example and it's
- 5:57going to be using the settings that they
- 5:58also use so we're going to set the id to
- 6:00pop-up effects we'll also set a
- 6:02description as well and the description
- 6:04for this setting is disable the pop-up
- 6:06effects for coins and food we'll also
- 6:07have an enabled property and we'll set
- 6:09that to true because by default all the
- 6:11settings in evening simulator are set to
- 6:13true and now we want to add another
- 6:15setting to this as well so we'll just
- 6:16copy this table and then just paste it
- 6:18and now instead of filling out all these
- 6:20properties or all these fields again
- 6:21what i'm gonna do is we're just gonna
- 6:23set the description to something
- 6:24different so we can easily see that when
- 6:26we display this in the gui okay the
- 6:28description is this of course if you're
- 6:30making your own game and you already
- 6:31have your ideas for the settings you can
- 6:32of course input the actual description
- 6:34so the next thing that we're gonna do is
- 6:36music we'll also duplicate this again
- 6:39and instead of music we'll say sfx and
- 6:41we'll set this description to two two
- 6:43two two two we could actually set this
- 6:44to one one one one to make it more easy
- 6:46to differentiate between them and then
- 6:48finally we have trade requests and we're
- 6:50gonna set this to three three three
- 6:52three three there we go so that's gonna
- 6:53be all of our settings for right now
- 6:55let's hop back into our manager script
- 6:56and let's also close all the guise that
- 6:58we're not gonna be using so just close
- 7:00the buns gui and there we go now inside
- 7:02of here what we want to do is we want to
- 7:03get the settings config file so we're
- 7:05going to say local settings equals
- 7:07replicated storage wait for child config
- 7:10wait for child settings there we go we
- 7:12now have the settings now the first
- 7:14thing we can do which is the easiest
- 7:15just to get out of the way is we can
- 7:16script the exit button so we have exit
- 7:19mouse button one click connect create a
- 7:21function inside of here and whenever we
- 7:23click this we want to set the screen gy
- 7:25enabled to false so we want to make it
- 7:28not visible and now that's completely
- 7:30out of the way let's then create a new
- 7:32function and we're going to call this
- 7:33generate setting now the parameter this
- 7:35is going to accept is going to be called
- 7:37setting and it's actually going to be a
- 7:38table because it's going to be one of
- 7:40the tables that we created in the
- 7:41settings config file for example we'll
- 7:43pass this entire table through to this
- 7:45specific function now what we're going
- 7:46to do is we want to create a new
- 7:48variable called clone and that's
- 7:50actually going to be the template and
- 7:51we're going to clone this once we clone
- 7:54this what we want to do is we want to
- 7:55then parent this to the container
- 7:57because we want to have all of our
- 7:58settings inside of the container then
- 8:00let's rename the frame to the specific
- 8:02setting and remember the way that we
- 8:03have the name set up inside of our
- 8:05setting is by the id property so we're
- 8:07going to say setting dot id if we look
- 8:09inside of the frame inside of the
- 8:10container and inside of the template
- 8:12this is the clone just for reference if
- 8:14you guys aren't following along exactly
- 8:15this template is what we're cloning
- 8:17right here so this would be the clone
- 8:19variable inside of the template we have
- 8:20the title if we look at the title this
- 8:22is the name of the setting so what we're
- 8:24then going to do is we're going to say
- 8:26clone dot title dot text equals and we
- 8:29want to also set that to the setting dot
- 8:32id now since setting that id is a string
- 8:35we can actually use a method on this
- 8:37called g sub this basically allows you
- 8:39to filter out certain characters or
- 8:41letters inside of a specific string so
- 8:43we're going to say g sub and then we're
- 8:45going to pass through is what we want to
- 8:46replace and what we want to replace
- 8:48inside of the id is underscore and the
- 8:51reason that we want to replace
- 8:52underscore is because we have pop-up
- 8:54underscore effects if we display pop-up
- 8:56underscore effects in the gui we don't
- 8:58want the underscore to be there we want
- 9:00the underscore to actually be replaced
- 9:01by a space like we have right here so
- 9:04inside of the g sub we now have this is
- 9:06what we want to be replaced comma and
- 9:08this is what we're going to replace it
- 9:09with and then we're just going to hit
- 9:11space the next thing that we want to do
- 9:12is we want to get the description so if
- 9:14we see right here the description is a
- 9:16text label and we're going to set that
- 9:18text to setting dot description the next
- 9:21thing we want to do is we have the
- 9:23button right here and currently it
- 9:24displays on and its background color is
- 9:27also a pretty bright green so what we
- 9:28want to do is we want to decide on the
- 9:30on and off colors for instance right now
- 9:33it's 47 214 and 28 so what we're gonna
- 9:36do is at the top of our manager script
- 9:38right underneath template we're gonna
- 9:39create a constant variable we're gonna
- 9:41say local on color equals color three
- 9:45dot from rgb and we're gonna paste this
- 9:48color into there and as we can see the
- 9:50color is displayed right there that nice
- 9:51green that we already have and then we
- 9:53create another one instead of on this is
- 9:55going to be off so this is the color
- 9:56that is specifically going to be
- 9:57whenever we set the value to off and
- 9:59we'll just set it to a nice little red
- 10:01just like that so we've got green for on
- 10:03and we've got red for off the reason
- 10:05that we're putting in all capital
- 10:06letters is because that is what a
- 10:07constant is this variable will never
- 10:10change we're just always going to
- 10:11reference this at a specific time what
- 10:12we then want to do is we want to say
- 10:14clone dot button dot background color 3
- 10:18equals and now what we want to do is we
- 10:20want to say if the setting dot enabled
- 10:22which means that the setting is enabled
- 10:24or enabled equals true then we want to
- 10:27set it to the on color else we want to
- 10:30set it to the off color so if enabled
- 10:32equals false for that specific setting
- 10:34then the off color will be used but if
- 10:35enabled equals true then the on color
- 10:37will be used exactly as it should be
- 10:39additionally we want to set the
- 10:40clone.button
- 10:42text to on or off based on if it is
- 10:45enabled or not so what we can do is we
- 10:47can just copy this and paste it so if
- 10:49setting dot enabled is true then we want
- 10:51to set the text to on but if it's false
- 10:54then we want to set it to off the final
- 10:56thing that we want to do is we want to
- 10:57set the visibility of this to true and
- 11:00you might be confused by that but the
- 11:02reason for that is because we're
- 11:03actually going to set the template to
- 11:05not visible because we don't want a
- 11:07template to be displayed we only want
- 11:08the ones that we create to be displayed
- 11:10and that's why we're leaving the
- 11:12template inside of here because we can
- 11:13easily just set it to not visible and
- 11:15then set all the duplicates or clones of
- 11:17it to visible when we need to so we're
- 11:19then gonna do is in between the exit
- 11:21button and the function that we just
- 11:22created let's loop through all of the
- 11:25settings so we're gonna say setting
- 11:27table in pairs and we'll loop through
- 11:29settings and then we're going to call
- 11:31the generate setting function and we'll
- 11:33pass through the setting table
- 11:35additionally let's hide the settings ui
- 11:36by setting the enable to false and start
- 11:39per game and test this out ah of course
- 11:40i made a little mistake when we
- 11:42initialized the settings variable i
- 11:43actually forgot the keyword which is
- 11:45required because that is a module script
- 11:47so we need to surround that in a
- 11:49required statement and now that should
- 11:51work perfectly so let's go ahead and
- 11:52start this up and test it out so now
- 11:54upon starting you up you can hit the
- 11:55settings guy button and we can see that
- 11:57music was generated with the one one one
- 11:59description and we can even confirm this
- 12:01by looking in the model script itself so
- 12:03we can see one one one one two two two
- 12:04two two and three three three three
- 12:06three those all worked exactly as they
- 12:08should and let's also click the exit
- 12:10button and we can see that now hides the
- 12:11gui which is perfect additionally we
- 12:13need a script when we click on the on
- 12:15button and set that to off and we also
- 12:17need to script the individual settings
- 12:19as well back inside of the manager below
- 12:21where we set the visibility to true what
- 12:23we want to do is we want to get the
- 12:24button and we want to do something
- 12:26whenever we click this so the first
- 12:28thing we want to do is if we remember
- 12:29back to the settings module script we
- 12:31created we have the little enabled
- 12:33property right here we actually want to
- 12:34change the value of this to the opposite
- 12:36of what it currently is whenever we
- 12:38click the button and we've already done
- 12:39this with the screen gui in the button
- 12:41script example and what i mean by that
- 12:43is anytime we click the settings button
- 12:45we set the enabled to the opposite of
- 12:47what it already is and that's exactly
- 12:48what we're going to do here so we're
- 12:50going to say setting dot enabled equals
- 12:53not setting dot enabled so that'll set
- 12:56it to the opposite of what it currently
- 12:57is then we also want to change the
- 12:58background color of the bun exactly like
- 13:00how we already do here so we can just
- 13:02copy and paste that directly into here
- 13:03and then the same exact thing goes with
- 13:05the text we can copy and paste that
- 13:07directly into here as well because if
- 13:08it's currently on and we set that to off
- 13:10we then want to change the color and the
- 13:12text so it displays that as well let's
- 13:13go ahead and start this up and make sure
- 13:15that all works perfectly so open up
- 13:17settings click on it now changes to off
- 13:19and that should work for all of them and
- 13:21it does so that works exactly as it
- 13:22should perfect so now we're gonna do is
- 13:24we're gonna actually add music to our
- 13:26game so that i can showcase how you guys
- 13:28can actually disable or enable certain
- 13:30things in your game when it comes to
- 13:32settings considering we're all trading
- 13:34and that's a lot harder to implement i
- 13:35figured music would be the easiest one
- 13:37for me to display how you could actually
- 13:38use settings in your game so to add
- 13:40music into our game what we're simply
- 13:41going to do is we're going to go inside
- 13:43of the sound service right down here and
- 13:45we're going to add in a sound now just
- 13:47for this specific sound i'm going to add
- 13:49in some random music that i found from
- 13:51the marketplace the sound id is going to
- 13:53be this one right here you can use
- 13:54whatever sound id you want for your own
- 13:56music then what we also want to do is
- 13:58since this is going to be the background
- 13:59music that is playing while our player
- 14:01just passively plays the game we're
- 14:02going to set loop to true so that the
- 14:04song is always repeating itself even
- 14:06when it runs the full duration
- 14:07additionally we want to rename this just
- 14:09to background music so that we know what
- 14:12it is the next thing we want to do is
- 14:14inside of the settings gui let's make a
- 14:16brand new module script and we're going
- 14:18to rename this to handler now this is
- 14:20going to handle how the settings
- 14:22actually change or affect certain things
- 14:24so the first thing that we want to do is
- 14:26let's go ahead and get the sound service
- 14:28so we're going to say local sound
- 14:30service equals game get service sound
- 14:34service we can also get the background
- 14:36music so we can say local background
- 14:38music equals sound service wait for
- 14:41child background music and now when our
- 14:44game starts up we actually want to play
- 14:45the background music so we're gonna add
- 14:47that right down here we're gonna say
- 14:49background music play so that it begins
- 14:51playing the music and now just so i
- 14:52could quickly test this out and show you
- 14:54guys that this works let's go inside of
- 14:56our manager and just require this script
- 14:58real quick so we're going to say local
- 15:00handler equals require script dot parent
- 15:05dot handler and now that will require
- 15:07the module script meaning that the
- 15:08module script will run through so let's
- 15:09go ahead start per game and make sure
- 15:11that the background music does play okay
- 15:13so we can now hear the background music
- 15:14playing it is a really weird music i'm
- 15:16not gonna lie but it is playing so
- 15:18that's good the next thing we need to do
- 15:19is we need to actually get the settings
- 15:21config file that we made earlier we
- 15:23already did this inside of our manager
- 15:25script so what we're going to do is
- 15:26we're just going to copy and paste
- 15:27exactly how we already did it so we just
- 15:29need to get the settings variable and
- 15:31the replicated storage and there we go
- 15:33we now have the settings config module
- 15:35let's go ahead and create a function
- 15:36inside of this module which is going to
- 15:38be a public function so we're going to
- 15:39say module dot music and this will
- 15:42control the music setting so what we
- 15:44want to do is let's just say for example
- 15:46just to build this out we're going to
- 15:47say if true then and then of course if
- 15:49the setting is true we want to play the
- 15:52music so we're going to say play
- 15:53otherwise we want to pause the song so
- 15:56if we set the setting to true we want to
- 15:58play if we set the false then we want it
- 15:59to stop or pause now the thing is is
- 16:01that we could call this function but we
- 16:03need to figure out what the value of
- 16:06what enabled is for the music set and
- 16:08since this is an array and it's not
- 16:10actually a dictionary we can't index
- 16:11this table with the id so we can't say
- 16:14something like if
- 16:15settings.music because that music
- 16:18doesn't actually exist so we need to
- 16:20make a specific function to do this so
- 16:22let's create a new function and this is
- 16:23going to be called get
- 16:24setting
- 16:25by id and it's going to accept id which
- 16:28is a string so we want to do is
- 16:30similarly to how we loop through the
- 16:32settings in our manager script we're
- 16:34going to loop through them the exact
- 16:35same way so we're going to say for
- 16:37underscore because we're not using the
- 16:39index setting table in pairs settings do
- 16:42then we're going to do is we're going to
- 16:43say if the setting table dot id equals
- 16:47the id that we passed through then we
- 16:49just want to return the setting table so
- 16:50back inside of the music method what
- 16:52we're going to do is we're going to say
- 16:53local info equals get setting by id and
- 16:57we're going to pass through music and
- 16:58now inside of our if statement instead
- 17:00of saying if true we're going to say if
- 17:02info dot
- 17:03then and we're going to say play or
- 17:05pause based on whatever that value is
- 17:07additionally whenever we call this
- 17:09method let's go ahead and print out the
- 17:11info.enable just so we can visually see
- 17:13this as well now back inside of our
- 17:15manager we already required the script
- 17:17so we have the handler right there what
- 17:19we then want to do is whenever we click
- 17:20this button we want to actually call one
- 17:22of those specific methods now this is
- 17:24something that's pretty cool that we
- 17:25haven't gone over in this series and it
- 17:27might be a little confusing at first but
- 17:29you'll understand it and get used to it
- 17:30eventually we want to specifically
- 17:32remember the id of the specific setting
- 17:34and make sure that any function we
- 17:35create inside of this module script is
- 17:38named the exact same way that we have
- 17:41the id so for pop-up effects what we
- 17:43would do is we would say let's just copy
- 17:45this for example just so i could show
- 17:47you this we're going to say module dot
- 17:49pop-up underscore effects and make sure
- 17:51it is exactly the same way as the id and
- 17:54you're going to see why we want to do
- 17:55that in a sec so back inside of the
- 17:57manager whenever we click this button
- 17:58what we want to do is we want to call
- 18:00the handler and then we're going to
- 18:01index this like we would index a table
- 18:04and we're going to say setting dot id
- 18:06and then we want to use parentheses and
- 18:08what this is going to do is it's going
- 18:09to be similar to indexing a table so if
- 18:11we look inside the module script if we
- 18:13had a variable inside of here called
- 18:15module.music and let's just set that to
- 18:1710 and we also set this to a variable
- 18:19for example right so local test equals
- 18:21this helper and then the setting id
- 18:24would actually index to this specific
- 18:26variable right here because module.music
- 18:29equals 10 and we're just saying that we
- 18:30pass through music in this generate
- 18:32setting for example now we don't want it
- 18:34to index a variable we want it to
- 18:35actually index and call a specific
- 18:37function the way that we do this is by
- 18:39saying handler and then the setting.id
- 18:41and then we just need to add parentheses
- 18:43to the end of this and then that is how
- 18:45we will call a specific function
- 18:47additionally we'll delete this variable
- 18:49that we created right there just for me
- 18:50to show you guys whenever we interact
- 18:52with the music setting it will directly
- 18:54call this function right here which is
- 18:55why we need to add the parenthesis so
- 18:57that we're letting this know it is a
- 18:59function call so what we can do is we
- 19:00can go ahead and test this by starting
- 19:02your game let's open up the settings we
- 19:03can hear the music playing in the
- 19:04background currently now if we hit off
- 19:06we can see that false is printed to the
- 19:08console which means that the setting is
- 19:09now equal to false and we can hear the
- 19:11music is no longer playing then if we
- 19:13click the button again we can see it's
- 19:14set back to true and the music resumes
- 19:16playing so that setting works exactly as
- 19:18it should now if you click any of these
- 19:20other ones you're going to get an error
- 19:21because we don't actually have those
- 19:22functions created so with that being
- 19:24said ladies and gentlemen that's gonna
- 19:25be it for this episode hopefully you
- 19:26guys did enjoy and hopefully it did help
- 19:27you guys out as always if it did make
- 19:29sure you smash like button also hit the
- 19:30subscribe button and turn this post
- 19:32notifications on if you want to get
- 19:33notified when i upload more roblox
- 19:34development content additionally i do
- 19:36with patreon if you'd like to support me
- 19:37and to gain access to all the scripts
- 19:39and the game file that i made during
- 19:40this episode there's a link down below
- 19:41in the description and you guys can go
- 19:42and check that out with that being said
- 19:44i hope that you guys have a great day
- 19:45and i'll see you guys in the next
- 19:46episode
About this transcript
This page contains the full transcript of Scripting the Settings Gui! Roblox Studio Simulator Guide Episode 20 by MonzterDEV, generated from the public captions YouTube serves with the video. The transcript has 4,912 words across 660 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.