Im having problems replicating the ButtonScript and I get errors and I think Im doing something wrong. And then also the Camera part doesnt have errors but when I did my first playtest I spawned automatically with my camera on me and not at the CameraPart. can you help these two problems?
-- Animation Script local tweenService = game:GetService("TweenService") local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) for i, v in pairs(script.Parent:GetChildren()) do if v:IsA("Frame") then v.MouseEnter:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play() end) v.MouseLeave:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(30, 30, 30)}):Play() end) end end -- Buttons Script local tweenInfoPopups = TweenInfo.new(1,Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) local Popup = {
Settings = "Settings" Credits = "Credits"
} for buttonName, frame in paris(Popup) do local button = script.Parent:FindFirstChild(buttonName) local popupframe = script.Parent.Parent.Popups:FindFirstChild(Popup)
button:WaitForChild("TextButton").MouseButton1Click:Connect(function() for i, v in pairs(script.Parent:GetDescendants())do if v:Isa("TextButton") then v.Visible = false end end
for i, x in pairs (script.Parent.Parent.Popups:GetChildren()) do if x:IsA("Frame") then x.Visible = false x.Position = UDim2.new(0.5,0,1.5,0) end end
Popup.Visible = true tweenService:Create(popupframe, tweenInfoPopups, {Position = UDim2.new(.5,0,.5,0)}):play() end end -- {0.5, 0},{0.777, 0} Buttons Position -- {0.5, 0},{0.26, 0} Naruto vs Luffy
This tutorial was very helpful! It’s very easy to understand and very efficient. The only thing that’s bugging me if when you try and click “back” it doesn’t work, and when you click play the transition doesn’t play and the screen just stays black
for anybody struggling like me here was the script for the buttonsScript: --Animation Script local tweenService = game:GetService("TweenService") local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) for i, v in pairs(script.Parent:GetChildren())do if v:IsA("Frame")then v.MouseEnter:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40,40,40)}):Play() end)
v.MouseLeave:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(30,30,30)}):Play() end) end end
for buttonName, frameName in pairs(Popup) do local button = script. Parent: FindFirstChild(buttonName) local popupframe = script.Parent. Parent. Popups: FindFirstChild(Popup) button:WaitForChild( "TextButton*). MouseButton1Click:Connect (function( ) for i, v in pairs(script.Parent :GetDescendants )) do if V: ISA "TextButton) then v. Visible = false end Y end tweenService:Create(script.Parent, tweenInfoPopups, {Position = UDim2. new(0.5,0,1.25,0)] ):Play() tweenService:Create(script.Parent.Parent.Title, tweenInfoPopups, {Position = UDim2.new(0.5,0, -1.25, 0)]):Play () for i, x in pairs script.Parent. Parent. Popups :GetChildren do if x:IsA("Frame") then x.Visible = false x.Position = UDim2.new(0.5,0,1.5,0) end end popupframe. Visible = true tweenService:Create(popupframe, tweenInfoPopups, {Position = UDim2. new(.5,0, .5,0)]) :Play() end)
thanks for the tutorial! used this myself. had to change some of the code a little as i did a few things different but i figured it out and it works perfectly!
For anyone haveing a WaitForChild error at line 33 in your button script her is how you fix it. Bc i got stuck on it for four hours last night and i just fixed it this morning 1. check that your pop up frame and your button have the exact same name example would be: Button name: Settings, so your popup name has to be exactly the same witch would be Settings (yes capatals and punctuation and spelling errors effect this so make sure its like exactly the same) 2. after you have done number one make sure before every IsA is a : not a . it makes an error at witchever line it is in for this code it would be lines 35, and 44, make sure to check every script for it too. Next error. So after fixing the wait for child nil you might only be able to press your buttons once and the popup wont work if you press it again after going back or hitting on and off to turn your shadows off or on . if you cant press the "Settings" button then you have an error in your back button scrip. and if you cant press your "shadow toggle" more then once then your shadow button script has an error 1. fix back button. So my script for the back button looked like (also this is in the Localscript used to code back and not in button script) local tweenService = game:GetService("TweenService") local tweenInfoPopups = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) script.Parent.TextButton.MouseButton1Click:Connect(function() script.Enabled = false
so what i had done wrong is the "for i, v in pairs(script.Parent:getDescendants()) do" was not add the correct code witch was supposed to be : for i, v in pairs(script.Parent.Parent.Parent.Parent.Buttons:GetDescendants()) do and the second error was "v.Visible = false" just change "false" to true if your's does not look like that and your having trouble look at the video at the time 20:14 2. if you are having trouble with shadows and it looked like this script.Parent.TextButton.MouseButton1Click:Connect(function() if script.Parent.StateValue.Value == true then game.Lighting.GlobalShadows = false
script.Parent.State.Text = "ON" end end) you are missing the line script.Parent.StateValue.Value = false so just add it in to make it (the place would be under "game.Lighting.Global.Shadows = false" script.Parent.TextButton.MouseButton1Click:Connect(function() if script.Parent.StateValue.Value == true then game.Lighting.GlobalShadows = false script.Parent.StateValue.Value = false
script.Parent.State.Text = "ON" end end) Edit: if your shadows wont turn on its because i messed up "game.Lighting.GlobalShadows = false" after else should be "game.Lighting.GlobalShadows = true" again if you are having any other issues with shadows then look at the video at the time 14:56 thankyou i hope this helped with anybody who had any of these errors best of luck to all
@@RF24LUKAKU I would just check the script again and make sure there aren’t minor mistakes like periods or Colin’s being in the wrong place that also goes with spelling like capitalization and make sure there are now spaces in your words if your have spaces in them example would be : camera part -> camerapart, reason being is the code won’t work if it’s two words. But other then that I don’t know how to help because didn’t get an error for my camera I’m sorry I wasn’t able to dissect the exact issue but it’s usually spelling of minor punctuation errors
i stil got the "waitForChild" error, it says attempt to index nil with "waitforchild". and i checked what u said, but i still got the same error. I have checked and rewriten the code 2 times alr, i am pretty sure its something else. I would appreiate it if u could help me. Thank you,
its so good man it helped me made a good game i got a few bucks out if it thanks now i know the hard way to make the gui better [from all my heart i love u man]
man's voice is so deep...but thank you for the tutorial, this really elevates the game. no one else does and explains it like you did, precise, to the point, and easy while still making the game really good. :)
local plr = game:GetService("Players").LocalPlayer local Character = plr,Character or plr.CharacterAdded:Wait() local Camerapart = workspace:WaitForChild("MenuFolder"):WaitForChild("MenuCamera"):WaitForChild("MenuCamera").CFrame repeat wait() CameraInst.CameraType = Enum.CameraType.Scriptable until CameraInst.CameraType == Enum.CameraType.Scriptable CameraInst.CFrame = Camerapart Heres the script at 8:38 i think
16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio 16:43:48.571 Stack Begin - Studio 16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719 16:43:48.571 Stack End - Studio 16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio 16:43:48.571 Stack Begin - Studio 16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719 16:43:48.571 Stack End - Studio 16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio 16:43:48.571 Stack Begin - Studio 16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719 16:43:48.571 Stack End - Studio 16:43:49.437 Infinite yield possible on 'Players.pandabillionaire.PlayerGui.Menu.MainFrame.Popups.Settings:WaitForChild("TextButton")' - Studio 16:43:49.437 Stack Begin - Studio 16:43:49.437 Script 'Players.pandabillionaire.PlayerGui.Menu.MainFrame.Buttons.ButtonScript', Line 32 - Studio - ButtonScript:32 16:43:49.437 Stack End - Studio
I spent more than 5 hours making it and it ended up not working, so I decided to go to the game in your desc and I found the main menu thing there so I downloaded it and put it in my game and it works now 😂, thanks, but you should’ve made it more clear that in the game it will give you everything you need , but thanks anyways, earned a like and a subscriber ❤❤
Same thing happened and reading this I'm becoming a bit demotivated but I have to learn how to do it BC if I don't I can't update the game in future independently
This tutorial was AMAZING! It worked well despite possibly being outdated for me. The only things I’d change myself would be 1. Instead of being put straight into the game after pressing play, you have a menu prompt asking which side/team you want to be on (like jailbreak when you choose to be a cop or criminal) 2. Just the way the settings menu was set up. Other than those, I loved this tutorial! Definitely beginner friendly. Oh, and one last thing to say, whenever I was going through the tutorial, I ran into a problem where when I clicked on the settings/credits button then backed out of it, I couldn’t click any buttons (other than the Roblox studio ones) after that and I’d love if someone could help me fix it
Bro. I can't believe this coincidence. I wanted to make a main menu. On I searched it up on RUclips and found Ur old video. I was watching it when I found this videos link in that videos pinned comment. And as I clicked it. I am here. AND THE VIDEO IS UPLOADED 12 MINUTES AGOOOO??
To anyone who's camera is not locking in place like his during the first playtest, i fixed my problem by putting the camerascript inside starterplayerscripts
for the button animation= local tweenService = game:Getservice("TweenService") local tweenInfoButtons = TweenInfo.new(0.25 Enum.Easingstyle.Quad, Enum.EasingDirections.InOut) for i, v in pairs (script.Parent:GetChrildren()) do if v:IsA("Frame") then v.MouseEnter:connect(function() tweenService:create(v, tweenInfoButtons, :Backroundcolor3 = Color3.fromRGB(40,40,40)}) end)
v.MouseLeave:Connect(function() tweenService:create(v, tweenInfoButtons, :Backroundcolor3 = Color3.fromRGB(40,40,40)}) end) end end
local tweenService = game:GetService("TweenService") local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) for i, v in pairs(script.Parent:GetChildren()) do if v:IsA("Frame") then v.MouseEnter:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play() end) v.MouseLeave:Connect(function() tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(255, 255, 255)}):Play() end) end end
Great Video! Only thing is I'm having issues with the Camera for the background following the player instead of the set spot. I moved the camera part out of the folder and altered the script but the camera still follows the player. I'm also having major issues with the GUI such as {Settings} and {Credits} not loading when you click them, which means the animations aren't showing up. I've checked over all the scripts to make sure they're the correct scripts and they are. I'm super new to scripting and don't know what's wrong so if you have a explanation on how to fix this would be great!
I had this issue and here the solution I found so when you are writing your camera script the WaitForChild(“”) is each folder so when you go to look for the part make sure to include each folder it should look like this when you are finished: local CameraPart = workspace:WaitForChild(“MenuFolder”):WaitForChild(“MenuCamera”):WaitForChild(“MenuCameraPart”).CFrame
Sorry for the late comment, I really appreciated the tutorial, I haven't done a lot of scripting but this helped me out a ton!! I do have a quick question, I have a loading Animation and I want this main menu to be hidden until the loading animation is complete, how can I do this?
i have a problem, when i first playtested my game, the camera for the menu still follows my character, it wont stay on the camera that you put at the making the camera part of your video,pls help me
Hey bro can you help me? I follow your script it works, but when i click on settings it shows but when i click on shadows it doesnt work even the back buttons
No one gonna mention how beautiful the baseplate and lighting is? ANYWAYS, could you please give us a mini tutorial on the lighting settings and properties
thx so much dude, just what i needed! this is a breath of fresh air, instead of just linking a pre-made model in the description, you actually walk us through the process! the editing is lovely too! 🤍
Hello, i have a problem, after i test the game, not even a single button works when i click on it, and on the output, it says "Players.kfzma02.PlayerGui.MenU.Main Framer.Buttons.ButtonScript:25: Expected ',' after table constructor element
I think you could add a "," in line 25, it can literally destroy your entire script. I've had similar Problems, try finding differences between your script and then one shown in the Video
Excellent tutorial! I have never been good at figuring out how to design/script UIs so your video really helped me. Not sure if this was a recent change or not but I know that as of now you want to use task.wait() instead of wait() but other than that great tutorial!
at 7:43 It says to change the model streaming mode to persistent, but all it has for me is default, improved, and legacy. Which one do I need to choose?
I am a bit confused so could you indentify the problem? It says that The MouseButton1Click is not a valid member of TextLabel "Players.Legitsadnessx.PlayerGui.MenuGui.MainFrame.Popups.Credits.Back.Textbutton. i am only including credits and i accidentally made all textbuttons textlabels. Any idea on how to fix this?
Thank you for this tutorial, but i got a problem here, i checked my output to see any errors for the scripts because after i pressed the back button on credits or settings the buttons all just dissapeared. The output said nothing is wrong, can you please tell me what's wrong though? Thanks!
Actually nvm thx for the tutorial ❤️ Btw everyone you don’t have to follow this video, just go the main pinned comment and you can download it, it has all the scripts made for you, just customize it your welcome
-- Buttons script local tweenInfoPopups = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut) local Popup = {
Settings = "Settings", Credits = "Credits"
} for buttonName, frameName in pairs(Popup) do local button = script.Parent:FindFirstChild(buttonName) local popupframe = script.Parent.Parent.Popups:FindFirstChild(frameName)
button:WaitForChild("TextButton").MouseButton1Click:Connect(function() for i, v in pairs(script.Parent:GetDescendants()) do if v:IsA("TextButton") then v.Visible = false end end
Love the video! Just having issues with the camera angle not appearing followed by the following error: 19:22:01.098 Players.MyPlayerName.PlayerGui.Menu.CameraScript:8: attempt to index nil with 'CameraType' - Client - CameraScript:8 And the script for that section is this: repeat wait() CameraInst.CameraType = Enum.CameraType.Scriptable until CameraInst.CameraType == Enum.CameraType.Scriptable CameraInst.CFrame = CameraPart
Another way to check if you have output enabled is by hovering your cursor over the top bar that has all your tabs like home, model, view, etc and right clicking and looking for output, if its not enabled there will be no tick, so you just click on it to enable, you can also enable and open other things under one list doing this method.
There's a visual glitch when I add a Studio Spawn Point. The MenuCameraPart is facing two walls and some props as a loading screen, which disappear if the Spawn Point is on the map. No Output errors!
hii, i ran into a problem at 6:42 i typed in the script that you typed in the command box but when i zoomed out there wasn’t a block.. i also went to your most recent video and got the newer command/script pasted/entered that, but that also didn’t work.. what do i do?
im on the making the buttons step and whenever i try to move the duplicated title its only moves the text label not the whole thing, but when i move the rectangle while the text is moved elsewhere they both move
for some reason it didnt work. i went most of the way without any problems, but at the first playtest, the camera still could turn when i used right mouse button. another problem was that there were errors in the output bar. they were: 18:31:18.153 Players.MEMEBOYOliver.PlayerGui.Menu.Mainframe.Buttons.ButtonScript:6: Expected 'in' when parsing for loop, got '.' - Studio - ButtonScript:6 And: 18:31:18.179 getservice is not a valid member of DataModel "Place1" - Client - Camerascript:1 can someone please help me with this problem?
I was wondering if you could make a tutorial on how to add endings to a game and/or menu. If you could make a tutorial that would be awesome since yours are the only ones that seem to work. Just a suggestion. :)
i just now used the free model version you have on patreon to see whats wrong and instead of switching to the main menu camera it just pauses mid air where the player controller is although it switches back to the player when you click play
I do have a question about the button script. As soon as I start the second test, an error message appears. How to solve it? error message -> Players.PlayerName.PlayerGui.Menu.MainFrame.Buttons.ButtonScript:30: attempt to index nil with 'WaitForChild'
The tutorial is beautiful and it helped me a lot, but like the music is a bit to loud cuz your voice is in a like "low tone" and i sometimes cant understand a word and i have to go back and ext. But i loved it ❤❤
I've checked output and it keeps saying TextButton is not a valid member of Frame UPDATE: alr so im pretty sure I just forgot to add the textbutton in but afterwards another part of my gui had issues with a textbutton, uniquely naming all of them seemed to fix the issue I do still have an issue in my buttonscripts though, it keeps popping up with invalid arguement #1 to pairs UPDATE #2: My local popup on buttonscript 22 was misspelt, I've gotten a new error on ButtonScript 33: attempt to index nil with 'WaitForChild' UPDATE #3: I ended up checking the naming scheme of my frames and noticed I named my settings improperly, renaming them fixed the index nil issue. Afterwards, I ended up getting an infinite yield warning which I managed to fix by reverting every unique name I reserved for my textbuttons. UPDATE #4: Hopefully the last error. I've made it to the play script section but the 80th buttonscript has created another error: " Expected , got 'end' - Studio - ButtonScript:80"
It would kind of help if you were a bit more specific and slowed down a bit since I had to pause literally every 5 seconds Also, at the part where you said to change the positions of the settings from 0.5 to 1.5, it just went off screen
This worked perfectly!! One problem though, if someone would be kind enough to tell me how to get rid of the GUI when I am in ROBLOX studio, that would be great. I installed this and now I want to finish the game I am building. Thank you! -Cledus
I have a problem. when I click on any button of the tree nothing happens. I tried to read the script again but nothing is wrong and no error is showing up on the console log. Can someone help me cuz I rly want to make my game
Hey everyone! The updated 2024 Version of this tutorial is out now! ruclips.net/video/m65GWDcHC30/видео.htmlsi=EVpEqiGAKqxzRxXJ
Im having problems replicating the ButtonScript and I get errors and I think Im doing something wrong. And then also the Camera part doesnt have errors but when I did my first playtest I spawned automatically with my camera on me and not at the CameraPart. can you help these two problems?
Im also talking about the button animation script part, not the second part of the script
@@chum333 make sure the camera type in the script is set as scriptable:
Enum.CameraType.Scriptable
@@chum333 Check for spelling problems
-- Animation Script
local tweenService = game:GetService("TweenService")
local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
for i, v in pairs(script.Parent:GetChildren()) do
if v:IsA("Frame") then
v.MouseEnter:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play()
end)
v.MouseLeave:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(30, 30, 30)}):Play()
end)
end
end
-- Buttons Script
local tweenInfoPopups = TweenInfo.new(1,Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
local Popup = {
Settings = "Settings"
Credits = "Credits"
}
for buttonName, frame in paris(Popup) do
local button = script.Parent:FindFirstChild(buttonName)
local popupframe = script.Parent.Parent.Popups:FindFirstChild(Popup)
button:WaitForChild("TextButton").MouseButton1Click:Connect(function()
for i, v in pairs(script.Parent:GetDescendants())do
if v:Isa("TextButton") then
v.Visible = false
end
end
tweenService:Create(script.Parent, tweenInfoPopups, {Position = UDim2.new(0.5,0,1.25,0)}):Play()
tweenService:Create(script.Parent.Parent.Title, tweenInfoPopups, {Position = UDim2.new(0.5,0,-1.25,0)}):Play()
for i, x in pairs (script.Parent.Parent.Popups:GetChildren()) do
if x:IsA("Frame") then
x.Visible = false
x.Position = UDim2.new(0.5,0,1.5,0)
end
end
Popup.Visible = true
tweenService:Create(popupframe, tweenInfoPopups, {Position = UDim2.new(.5,0,.5,0)}):play()
end
end
-- {0.5, 0},{0.777, 0} Buttons Position
-- {0.5, 0},{0.26, 0} Naruto vs Luffy
Very nice tutorial and right in time for me to create my first game's title screen... Thanks for sharing!
suprisingly, it's such a breath of fresh air to run into a tutorial in which you encounter zero errors and issues, good job man!!
Bro I have like 4 errors
bro the clicking aint clicking
@@the-satire j
Lol that's probably why the music fits in with the no errors
wdym by clicking aint clicking
@@the-satire
This tutorial was very helpful! It’s very easy to understand and very efficient. The only thing that’s bugging me if when you try and click “back” it doesn’t work, and when you click play the transition doesn’t play and the screen just stays black
for anybody struggling like me here was the script for the buttonsScript:
--Animation Script
local tweenService = game:GetService("TweenService")
local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
for i, v in pairs(script.Parent:GetChildren())do
if v:IsA("Frame")then
v.MouseEnter:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40,40,40)}):Play()
end)
v.MouseLeave:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(30,30,30)}):Play()
end)
end
end
TYYYY
Didnt work for me
@@rellTHEyoutuber me too
@@gameconnen looks good to me perhaps you have a code that u messed up earlier or later on
yoo thanks so much! I wondered why mine didnt work but i forgot one " "
didn't even follow the tutorial i just listened to it in the background because i love your voice and the music is BANGIN
This has two meanings.
@@MilloSonicfr
That's scary
how tf did you follow everything when he says "it should look something like this" and then there is 10 lines of code 💀💀
@@TacowithaZ Just write what u see??
for buttonName, frameName in pairs(Popup) do
local button = script. Parent: FindFirstChild(buttonName)
local popupframe = script.Parent. Parent. Popups: FindFirstChild(Popup)
button:WaitForChild( "TextButton*). MouseButton1Click:Connect (function( )
for i, v in pairs(script.Parent :GetDescendants )) do
if V: ISA "TextButton) then
v. Visible = false
end
Y
end
tweenService:Create(script.Parent, tweenInfoPopups, {Position = UDim2. new(0.5,0,1.25,0)] ):Play()
tweenService:Create(script.Parent.Parent.Title, tweenInfoPopups, {Position = UDim2.new(0.5,0, -1.25, 0)]):Play ()
for i, x in pairs script.Parent. Parent. Popups :GetChildren do
if x:IsA("Frame") then
x.Visible = false
x.Position = UDim2.new(0.5,0,1.5,0)
end
end
popupframe. Visible = true
tweenService:Create(popupframe, tweenInfoPopups, {Position = UDim2. new(.5,0, .5,0)]) :Play()
end)
tysm
In pairs ... GetDescents no is ())?
atleast when u use google lens to copy it try to look if there is any failures
@@blueuniverse7704 I hope this works 💀
thanks for the tutorial! used this myself. had to change some of the code a little as i did a few things different but i figured it out and it works perfectly!
You should really share your basplate textures dude cuz they look FIRE
His voice making me calm down fr ❤
The text part worked very well! I didn't change the size because it's size already fits every device! THANK YOUU!!
I’m trying to make my first Roblox game and I have no idea what I’m doing at all like zero clue and this really helped me
I swear man everytime I feel like qutting I always find something new to learn and want to continue thank you :)
For anyone haveing a WaitForChild error at line 33 in your button script her is how you fix it. Bc i got stuck on it for four hours last night and i just fixed it this morning
1. check that your pop up frame and your button have the exact same name example would be: Button name: Settings, so your popup name has to be exactly the same witch would be Settings (yes capatals and punctuation and spelling errors effect this so make sure its like exactly the same)
2. after you have done number one make sure before every IsA is a : not a . it makes an error at witchever line it is in for this code it would be lines 35, and 44, make sure to check every script for it too.
Next error. So after fixing the wait for child nil you might only be able to press your buttons once and the popup wont work if you press it again after going back or hitting on and off to turn your shadows off or on . if you cant press the "Settings" button then you have an error in your back button scrip. and if you cant press your "shadow toggle" more then once then your shadow button script has an error
1. fix back button. So my script for the back button looked like (also this is in the Localscript used to code back and not in button script)
local tweenService = game:GetService("TweenService")
local tweenInfoPopups = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
script.Parent.TextButton.MouseButton1Click:Connect(function()
script.Enabled = false
tweenService:Create(script.Parent.Parent.Parent.Parent.Buttons, tweenInfoPopups, {Position = UDim2.new(0.5, 0,0.605, 0)}):Play()
tweenService:Create(script.Parent.Parent.Parent.Parent.Title, tweenInfoPopups, {Position = UDim2.new(0.5, 0,0.167, 0)}):Play()
tweenService:Create(script.Parent.Parent, tweenInfoPopups, {Position = UDim2.new(0.5,0,1.5,0)}):Play()
wait(1)
for i, v in pairs(script.Parent:GetDescendants()) do
if v:IsA("TextButton") then
v.Visible = false
end
end
script.Parent.Parent.Visible = false
script.Enabled = true
end)
so what i had done wrong is the "for i, v in pairs(script.Parent:getDescendants()) do" was not add the correct code witch was supposed to be :
for i, v in pairs(script.Parent.Parent.Parent.Parent.Buttons:GetDescendants()) do
and the second error was "v.Visible = false" just change "false" to true
if your's does not look like that and your having trouble look at the video at the time 20:14
2. if you are having trouble with shadows and it looked like this
script.Parent.TextButton.MouseButton1Click:Connect(function()
if script.Parent.StateValue.Value == true then
game.Lighting.GlobalShadows = false
script.Parent.State.Text = "OFF"
else
game.Lighting.GlobalShadows = false
script.Parent.StateValue.Value = true
script.Parent.State.Text = "ON"
end
end)
you are missing the line
script.Parent.StateValue.Value = false
so just add it in to make it (the place would be under "game.Lighting.Global.Shadows = false"
script.Parent.TextButton.MouseButton1Click:Connect(function()
if script.Parent.StateValue.Value == true then
game.Lighting.GlobalShadows = false
script.Parent.StateValue.Value = false
script.Parent.State.Text = "OFF"
else
game.Lighting.GlobalShadows = false
script.Parent.StateValue.Value = true
script.Parent.State.Text = "ON"
end
end)
Edit: if your shadows wont turn on its because i messed up "game.Lighting.GlobalShadows = false" after else should be "game.Lighting.GlobalShadows = true"
again if you are having any other issues with shadows then look at the video at the time 14:56
thankyou i hope this helped with anybody who had any of these errors best of luck to all
can u help when i did it it doesnt spawn the part for the camera
@@RF24LUKAKU I would just check the script again and make sure there aren’t minor mistakes like periods or Colin’s being in the wrong place that also goes with spelling like capitalization and make sure there are now spaces in your words if your have spaces in them example would be : camera part -> camerapart, reason being is the code won’t work if it’s two words. But other then that I don’t know how to help because didn’t get an error for my camera I’m sorry I wasn’t able to dissect the exact issue but it’s usually spelling of minor punctuation errors
It really helped but my popups dont pop up
you are my hero tysm
i stil got the "waitForChild" error, it says attempt to index nil with "waitforchild". and i checked what u said, but i still got the same error. I have checked and rewriten the code 2 times alr, i am pretty sure its something else. I would appreiate it if u could help me. Thank you,
its so good man it helped me made a good game i got a few bucks out if it thanks now i know the hard way to make the gui better [from all my heart i love u man]
man's voice is so deep...but thank you for the tutorial, this really elevates the game. no one else does and explains it like you did, precise, to the point, and easy while still making the game really good. :)
Shadow script
script.Parent.TextButton.MouseButton1Click:Connect(function()
if script.Parent.StateValue.Value == true then
game.Lighting.GlobalShadows = false
script.Parent.StateValue.Value = false
script.Parent.State.Text = "OFF"
else
game.Lighting.GlobalShadows = true
script.Parent.StateValue.Value = true
script.Parent.State.Text = "ON"
end
end)
Thank you daddy
Tysm!
@@__-om1pj Bro freaky 😭😭😭😭😭😭😭
local plr = game:GetService("Players").LocalPlayer
local Character = plr,Character or plr.CharacterAdded:Wait()
local Camerapart = workspace:WaitForChild("MenuFolder"):WaitForChild("MenuCamera"):WaitForChild("MenuCamera").CFrame
repeat wait()
CameraInst.CameraType = Enum.CameraType.Scriptable
until CameraInst.CameraType == Enum.CameraType.Scriptable
CameraInst.CFrame = Camerapart
Heres the script at 8:38 i think
why do u kinda sound like elon musk
nah i think he sounds more like corpse but with a bit higher pitch i think
ehhhh my friends say i sound like ruben sim
He IS Elon Musk.
@@AsadrithI don’t see it 😭
@@26jdaniels I CAN SEE SOUNDS TOO!!!!
16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio
16:43:48.571 Stack Begin - Studio
16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719
16:43:48.571 Stack End - Studio
16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio
16:43:48.571 Stack Begin - Studio
16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719
16:43:48.571 Stack End - Studio
16:43:48.571 Infinite yield possible on 'Workspace.Zombie.AnimScript:WaitForChild("PlayEmote")' - Studio
16:43:48.571 Stack Begin - Studio
16:43:48.571 Script 'Workspace.Zombie.AnimScript', Line 719 - Studio - AnimScript:719
16:43:48.571 Stack End - Studio
16:43:49.437 Infinite yield possible on 'Players.pandabillionaire.PlayerGui.Menu.MainFrame.Popups.Settings:WaitForChild("TextButton")' - Studio
16:43:49.437 Stack Begin - Studio
16:43:49.437 Script 'Players.pandabillionaire.PlayerGui.Menu.MainFrame.Buttons.ButtonScript', Line 32 - Studio - ButtonScript:32
16:43:49.437 Stack End - Studio
I spent more than 5 hours making it and it ended up not working, so I decided to go to the game in your desc and I found the main menu thing there so I downloaded it and put it in my game and it works now 😂, thanks, but you should’ve made it more clear that in the game it will give you everything you need , but thanks anyways, earned a like and a subscriber ❤❤
how can i add it?
Bruh
Same thing happened and reading this I'm becoming a bit demotivated but I have to learn how to do it BC if I don't I can't update the game in future independently
This tutorial was AMAZING! It worked well despite possibly being outdated for me. The only things I’d change myself would be
1. Instead of being put straight into the game after pressing play, you have a menu prompt asking which side/team you want to be on (like jailbreak when you choose to be a cop or criminal)
2. Just the way the settings menu was set up.
Other than those, I loved this tutorial! Definitely beginner friendly. Oh, and one last thing to say, whenever I was going through the tutorial, I ran into a problem where when I clicked on the settings/credits button then backed out of it, I couldn’t click any buttons (other than the Roblox studio ones) after that and I’d love if someone could help me fix it
how did u get ur buttons to even press? my popups dont show up lol
Thank you! you've made the graphics this time better and readable! Keep it up!
grind is real
Thank you so much for this tutorial! It was extremely helpful and will kickstart my new game creations! Thank you Asradith!
HOW DID YOU MAKE THESE GOOD LOOKING WOW 0:20
Thank you so much bro!! I've been searching for this tutorial for about 2 month
Bro, you are the best
Thanks for making this video, I am gonna build upon it since I will be using this for a game in the making.
amazing work man...really helped me out alot.
edit: i fixed all the stuff i needed to
😋
Thank you! this helped me fix the camera glitch.
great tutorial I admire how you heart all of your comments keep up the good content man
Bro. I can't believe this coincidence. I wanted to make a main menu. On I searched it up on RUclips and found Ur old video. I was watching it when I found this videos link in that videos pinned comment. And as I clicked it. I am here. AND THE VIDEO IS UPLOADED 12 MINUTES AGOOOO??
skull
same. not 12 minutes but within the hour
To anyone who's camera is not locking in place like his during the first playtest, i fixed my problem by putting the camerascript inside starterplayerscripts
how?
didnt work
Nice, but I’m more interested in loading screens, I’m trying to focus more on that, please make a tutorial on the loading screen please :)
already done that
ruclips.net/video/9spESsKwH30/видео.htmlsi=UOSxySdizfNma5OR
ruclips.net/video/r9LkulsRYlM/видео.htmlsi=esEq-vBy4YWf8nfB
for the button animation= local tweenService = game:Getservice("TweenService")
local tweenInfoButtons = TweenInfo.new(0.25 Enum.Easingstyle.Quad, Enum.EasingDirections.InOut)
for i, v in pairs (script.Parent:GetChrildren()) do
if v:IsA("Frame") then
v.MouseEnter:connect(function()
tweenService:create(v, tweenInfoButtons, :Backroundcolor3 = Color3.fromRGB(40,40,40)})
end)
v.MouseLeave:Connect(function()
tweenService:create(v, tweenInfoButtons, :Backroundcolor3 = Color3.fromRGB(40,40,40)})
end)
end
end
local tweenService = game:GetService("TweenService")
local tweenInfoButtons = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
for i, v in pairs(script.Parent:GetChildren()) do
if v:IsA("Frame") then
v.MouseEnter:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play()
end)
v.MouseLeave:Connect(function()
tweenService:Create(v, tweenInfoButtons, {BackgroundColor3 = Color3.fromRGB(255, 255, 255)}):Play()
end)
end
end
What a beautiful youtuber. Im form 2024:)
Love it! Thank You so much
Thanks for your help! Because the menu needs to be start menu! U deserve a new sub!
Great Video! Only thing is I'm having issues with the Camera for the background following the player instead of the set spot. I moved the camera part out of the folder and altered the script but the camera still follows the player. I'm also having major issues with the GUI such as {Settings} and {Credits} not loading when you click them, which means the animations aren't showing up. I've checked over all the scripts to make sure they're the correct scripts and they are. I'm super new to scripting and don't know what's wrong so if you have a explanation on how to fix this would be great!
rewrite the script and do the camera part troubleshooting
@@Asadrith what do you mean
@@Asadrithplease reply 😭
I had this issue and here the solution I found so when you are writing your camera script the WaitForChild(“”) is each folder so when you go to look for the part make sure to include each folder it should look like this when you are finished:
local CameraPart = workspace:WaitForChild(“MenuFolder”):WaitForChild(“MenuCamera”):WaitForChild(“MenuCameraPart”).CFrame
If that’s confusing just lmk
bro your lighting is amazing, can you give tutorial on how i can do something like that
Sorry for the late comment, I really appreciated the tutorial, I haven't done a lot of scripting but this helped me out a ton!! I do have a quick question, I have a loading Animation and I want this main menu to be hidden until the loading animation is complete, how can I do this?
change the DisplayOrder on the screengui of your loading gui
Thanks for the quick reply!!!
Typing where I am so I can go back to it when I’m done sleeping (I’m tired-)
7:22
i have a problem, when i first playtested my game, the camera for the menu still follows my character, it wont stay on the camera that you put at the making the camera part of your video,pls help me
The menu folder is what's causing the issue. Go into the the Camera script and delete The menu portion on line 5.
@@1914boogey like the whole line or just delete the word menu?
best tutorial i found! all the other ones i looked that i lost my mind on.😁but this one was so clean, and perfect. excellent tutorial!
Hey bro can you help me? I follow your script it works, but when i click on settings it shows but when i click on shadows it doesnt work even the back buttons
No one gonna mention how beautiful the baseplate and lighting is? ANYWAYS, could you please give us a mini tutorial on the lighting settings and properties
old one: ruclips.net/video/kZ-1Twai2Dg/видео.htmlsi=G3aq_lLKQ5jXXl9L
thanks mate god bless!@@Asadrith
thx so much dude, just what i needed! this is a breath of fresh air, instead of just linking a pre-made model in the description, you actually walk us through the process! the editing is lovely too! 🤍
Hey can you help me? mine wont work for some reason
Hello, i have a problem, after i test the game, not even a single button works when i click on it, and on the output, it says "Players.kfzma02.PlayerGui.MenU.Main Framer.Buttons.ButtonScript:25: Expected ',' after table constructor element
I think you could add a "," in line 25, it can literally destroy your entire script. I've had similar Problems, try finding differences between your script and then one shown in the Video
Excellent tutorial! I have never been good at figuring out how to design/script UIs so your video really helped me. Not sure if this was a recent change or not but I know that as of now you want to use task.wait() instead of wait() but other than that great tutorial!
task.wait() is a more optimised and new version of wait()
at 7:43 It says to change the model streaming mode to persistent, but all it has for me is default, improved, and legacy. Which one do I need to choose?
ya gotta model the camera you spawned with the script which is inside the folder, then go to behavior and change it to persistent.
I’m very grateful for this and it all works except the back button could u suggest anything to help?
I am a bit confused so could you indentify the problem? It says that The MouseButton1Click is not a valid member of TextLabel "Players.Legitsadnessx.PlayerGui.MenuGui.MainFrame.Popups.Credits.Back.Textbutton. i am only including credits and i accidentally made all textbuttons textlabels. Any idea on how to fix this?
i am also getting this problem
@@HadesZaVFX its probably cause you dont have the script in the correct area.
It's gonna be weird for a 10-13 year old boy saying this but, your voice is so calming-
pick an age
@@Asadrith 🤨📸
12
@@Asadrith i still want my v dont steal it pls-
Thank you for this tutorial, but i got a problem here, i checked my output to see any errors for the scripts because after i pressed the back button on credits or settings the buttons all just dissapeared. The output said nothing is wrong, can you please tell me what's wrong though? Thanks!
check your tweens, you could probably have something not tweening a frame to the correct position
Your game is a life saver
where you in a hurry?
relly nice
but now i have to write this all scripts
Button
👇
Thanks man😊 now I know how to create a menu
Thanks man i am making a game right now cause of i was able to make this
Thank you so muchi!!!
Actually nvm thx for the tutorial ❤️
Btw everyone you don’t have to follow this video, just go the main pinned comment and you can download it, it has all the scripts made for you, just customize it your welcome
6:36 it seems like you changed the pinned comment. where can I find the link for it again?
i tested it at 20:34 but it didnt work for me the animation of the buttons and the title worked but my settings frame and credits frame wont pop up
-- Buttons script
local tweenInfoPopups = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
local Popup = {
Settings = "Settings",
Credits = "Credits"
}
for buttonName, frameName in pairs(Popup) do
local button = script.Parent:FindFirstChild(buttonName)
local popupframe = script.Parent.Parent.Popups:FindFirstChild(frameName)
button:WaitForChild("TextButton").MouseButton1Click:Connect(function()
for i, v in pairs(script.Parent:GetDescendants()) do
if v:IsA("TextButton") then
v.Visible = false
end
end
tweenService:Create(script.Parent, tweenInfoPopups, {Position = UDim2.new(0.5,0,1.25,0)}):Play()
tweenService:Create(script.Parent.Parent.Title, tweenInfoPopups, {Position = UDim2.new(0.5,0,-1.25,0)}):Play()
for i, x in pairs(script.Parent.Parent.Popups:GetChildren()) do
if x:IsA("Frame") then
x.Visible = false
x.Position = UDim2.new(0.5,0,1.5,0)
end
end
popupframe.Visible = true
tweenService:Create(popupframe, tweenInfoPopups, {Position = UDim2.new(.5,0,.5,0)}):Play()
end)
end
Love the video! Just having issues with the camera angle not appearing followed by the following error:
19:22:01.098 Players.MyPlayerName.PlayerGui.Menu.CameraScript:8: attempt to index nil with 'CameraType' - Client - CameraScript:8
And the script for that section is this:
repeat wait()
CameraInst.CameraType = Enum.CameraType.Scriptable
until CameraInst.CameraType == Enum.CameraType.Scriptable
CameraInst.CFrame = CameraPart
Another way to check if you have output enabled is by hovering your cursor over the top bar that has all your tabs like home, model, view, etc and right clicking and looking for output, if its not enabled there will be no tick, so you just click on it to enable, you can also enable and open other things under one list doing this method.
Finished the tutorial and it all works perfectly!
Really needed it to my upcoming game!!
There's a visual glitch when I add a Studio Spawn Point. The MenuCameraPart is facing two walls and some props as a loading screen, which disappear if the Spawn Point is on the map. No Output errors!
camera streaming error, change to persistent
it works perfectly, thank so much for the tutorial!
I spent 10h on this but finally i got this 😭
You're the best, thank you
This was a big confusing for me to follow along to - in the process of doing it still at the moment - especially at parts like 15:14.
hii, i ran into a problem at 6:42 i typed in the script that you typed in the command box but when i zoomed out there wasn’t a block.. i also went to your most recent video and got the newer command/script pasted/entered that, but that also didn’t work.. what do i do?
Thanks for the great video fellow proot, I'm strugglin to make a photography game on roblox with 2 other furs lol qwq
im on the making the buttons step and whenever i try to move the duplicated title its only moves the text label not the whole thing, but when i move the rectangle while the text is moved elsewhere they both move
for some reason it didnt work. i went most of the way without any problems, but at the first playtest, the camera still could turn when i used right mouse button. another problem was that there were errors in the output bar. they were:
18:31:18.153 Players.MEMEBOYOliver.PlayerGui.Menu.Mainframe.Buttons.ButtonScript:6: Expected 'in' when parsing for loop, got '.' - Studio - ButtonScript:6
And:
18:31:18.179 getservice is not a valid member of DataModel "Place1" - Client - Camerascript:1
can someone please help me with this problem?
thanks u so much bro !
if you guys are having issues like me just go to his first link in desc and download the pack in his game!
thanks so much bro! love u and giving you credit for your immense help (:
Holy Fuck! Amazing video
ily
this is so realistic u should make a roblox game !
I was wondering if you could make a tutorial on how to add endings to a game and/or menu. If you could make a tutorial that would be awesome since yours are the only ones that seem to work. Just a suggestion. :)
my game uses a custom startercharacter controller thingamabopper so its messes with the camera script very easily and idrk how to fix it
i just now used the free model version you have on patreon to see whats wrong and instead of switching to the main menu camera it just pauses mid air where the player controller is
although it switches back to the player when you click play
I do have a question about the button script. As soon as I start the second test, an error message appears. How to solve it?
error message -> Players.PlayerName.PlayerGui.Menu.MainFrame.Buttons.ButtonScript:30: attempt to index nil with 'WaitForChild'
same here its really annoying have u found anything that helped?
The tutorial is beautiful and it helped me a lot, but like the music is a bit to loud cuz your voice is in a like "low tone" and i sometimes cant understand a word and i have to go back and ext. But i loved it ❤❤
thank you so much
I've checked output and it keeps saying TextButton is not a valid member of Frame
UPDATE:
alr so im pretty sure I just forgot to add the textbutton in but afterwards another part of my gui had issues with a textbutton, uniquely naming all of them seemed to fix the issue
I do still have an issue in my buttonscripts though, it keeps popping up with invalid arguement #1 to pairs
UPDATE #2:
My local popup on buttonscript 22 was misspelt, I've gotten a new error on ButtonScript 33:
attempt to index nil with 'WaitForChild'
UPDATE #3:
I ended up checking the naming scheme of my frames and noticed I named my settings improperly, renaming them fixed the index nil issue.
Afterwards, I ended up getting an infinite yield warning which I managed to fix by reverting every unique name I reserved for my textbuttons.
UPDATE #4:
Hopefully the last error.
I've made it to the play script section but the 80th buttonscript has created another error:
" Expected , got 'end' - Studio - ButtonScript:80"
check your :GetChildren() statement
@@Asadrith I think I've fixed it!! one issue has popped up in my 2nd edit though
guys the codes were stressful i messed up so bad to the point i had to restart the hole thing yeah i lost so much progress but im still working
Great tutorial! It works and all, but I was just wondering, how could you add music and a blurred screen in the background?
sound and blur instances
@@Asadrith Where is that?
It would kind of help if you were a bit more specific and slowed down a bit since I had to pause literally every 5 seconds
Also, at the part where you said to change the positions of the settings from 0.5 to 1.5, it just went off screen
Camera Spawn code won’t work. Any tips? I spelt everything correctly and no blocks spawn
This worked perfectly!! One problem though, if someone would be kind enough to tell me how to get rid of the GUI when I am in ROBLOX studio, that would be great. I installed this and now I want to finish the game I am building.
Thank you!
-Cledus
go to your mainframe and set the visible to false in propreties
@@lollol-w2y This worked like a charm. Thank you so much!
Ty!
Thank you :)
Wow HOW DID YOU KNOW? I was just thinking of trying to make main menus this morning
Bro sounds like an exhausted dog lol i cant understand sometomies what he sayin'
Btw thanks for the tutorial
(No offense abt that dog)
Thanks for the heart!
18:51 is where i stopped and take a break by going to the mall and come back so i dont forget
kinda useless but who cares
I have a problem. when I click on any button of the tree nothing happens. I tried to read the script again but nothing is wrong and no error is showing up on the console log. Can someone help me cuz I rly want to make my game
thx so much