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

Something is wrong with this script?

So this script will clone music and place it in a users camera when a map loads. Everything works fine, except when a player dies, the music is cloned again, and now you have the same song playing twice, this repeats itself every time a player dies. In test mode I can see the music multiplying in the camera on a players death. How do I stop this from happening?

cam = game.Workspace.CurrentCamera
mus = game.Workspace.MapValue


if mus.Value == 3 then
	wait()
	m = script.Music
	mt = m:Clone()
	mt.Parent = cam
	mt:Play()
	end


function onStop()
	if mus.Value == 0 then
		wait()
		mz = cam:findFirstChild("Music")
		if mz then
			mz:Stop()
			mz:Destroy()
		end
	end
end

while true do
	onStop()
	wait()
end

1 answer

Just check if the music already exists in the camera before cloning it.

cam = game.Workspace.CurrentCamera
mus = game.Workspace.MapValue


if mus.Value == 3 then
	wait()
	if not cam:FindFirstChild("Music") then --Make sure there is not already a Music object
		m = script.Music
		mt = m:Clone()
		mt.Parent = cam
		mt:Play()
	end
end


function onStop()
	if mus.Value == 0 then
		wait()
		mz = cam:findFirstChild("Music")
		if mz then
			mz:Stop()
			mz:Destroy()
		end
	end
end

while true do
	onStop()
	wait()
end

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