Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How do you make music play in a ScreenGui?

how do you make music play in a screengui? for example, i'm making a game and i have a title screen with labels and buttons, right? and then, i want to add music that lasts until you select the button to play the game! which has it's script that works already

PLAYGAME.MouseButton1Click:Connect(function() Frame.Visible = false end)

then, i try to create the music part, but it doesn't work

--variables--
Sound = script.Parent.Sound
PLAYGAME = script.Parent.PLAYGAME

--scripts--
Sound:Play()
Sound.Playing = true
PLAYGAME.MouseButton1Click:connect(function()
	Sound.Playing = false
end)

if im doing something wrong then please tell me that would really help! thanks!

edit: the PLAYGAME button is inside of a frame inside of a ScreenGui and inside of the StarterGui folder. the Sound, i moved to the workspace

1 comment

0

i'm an amateur at scripting sorry :|

2 answers

✓ Accepted answer
--services--
local Players = game:GetService('Players') -- This is the folder that you can see on the explorer.

--variables--
local Player = Players.LocalPlayer -- This is you, but you can do it just in a LocalScript.
local PlayerGui = Player:WaitForChild('PlayerGui')
local ScreenGui = PlayerGui:WaitForChild('ScreenGui') -- Just put the name of your ScreenGui here.

local Sound = ScreenGui:WaitForChild('Sound')
local PLAYGAME = ScreenGui:WaitForChild('PLAYGAME')

--scripts--
Sound:Play()
PLAYGAME.MouseButton1Click:Connect(function() -- connect is deprecated use Connect.
	Sound.Playing = false
end)

If you have any question put it below on commentaries.

6 comments

0

Actually, he's using Playing, not isPlaying, which is a writable property

0

where exactly do i put the script?

0

edited the post)

0

Put the script in StarterPlayerScripts (This is in StarterPlayer) or directly in the ScreenGui.

0

didn't work. i edited the post of the whereabouts of my items btw

0

That work for me, check up yours variables.

Sound Objects can only operate in a physical environment, i.e workspace. If you do this via a LocalScript (assuming your code is local), the sound will only be played in your client.

So It would be something like:

local Sound = workspace.Sound
Sound.SoundID = "rbxassetid://SoundIdHere"

local PLAYGAME = script.Parent.PLAYGAME

Sound:Play() -- Start the music

PLAYGAME.MouseButton1Click:connect(function()
    Sound:Stop -- It’s best to use these methods to start/stop music
end)

2 comments

0

His code can only be Local, as he is operating a GUI Object. But you’re right, by referencing the Sound Instance from workspace and playing it, it will run locally.

0

edited the post)

This discussion is preserved as it was. New answers, comments, and votes are closed.