Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Script by lnsertYourself
- local minDanceFloorLight = 150
- local maxDanceFloorLight = 300
- local minParticleEmit = 350
- local particleRate = 500
- local minLightEmit = 400
- --// DO NOT MODIFY BEYOND THIS POINT \\--
- local music = script:WaitForChild("Music")
- local renderStepped = game:GetService("RunService").RenderStepped
- local danceFloors = workspace:WaitForChild("DanceFloors"):GetChildren()
- local function setDancefloorTransparency(transparency)
- for _, floor in ipairs(danceFloors) do
- floor.Transparency = transparency
- end
- end
- local particleEmitters = workspace:WaitForChild("ParticleEmitters"):GetChildren()
- local function setParicleRate(rate)
- for _, part in ipairs(particleEmitters) do
- part.ParticleEmitter.Rate = rate
- end
- end
- local lights = workspace:WaitForChild("Lights"):GetChildren()
- local function setLightEnabled(bool)
- for _, light in ipairs(lights) do
- light.SpotLight.Enabled = bool
- end
- end
- renderStepped:Connect(function()
- local loudness = music.PlaybackLoudness
- -- Dance Floor
- setDancefloorTransparency(loudness > maxDanceFloorLight and 0 or loudness > minDanceFloorLight and
- math.abs((loudness - maxDanceFloorLight)/1000) or .1)
- -- Particle Emitters
- setParicleRate(loudness >= minParticleEmit and particleRate or 0)
- -- Lights
- setLightEnabled(loudness > minLightEmit and true or false)
- end)
- game.ReplicatedStorage:WaitForChild("SongEvent").OnClientEvent:Connect(function(songId, t)
- music:Stop()
- music.SoundId = songId
- if not music.IsLoaded then music.Loaded:Wait() end
- music.TimePosition = t
- music:Play()
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement