So basically, I am trying to make sure that this script slowly turns music up and the background rain down when a player enters the building. There is another block that the player hits which should slowly turn the music down and the rain back up. Instead it prints the "test" print over 400 times and instantly silences the music, and then instantly makes the rain shoot up to full volume. One would assume it has to do with debounce, but with and without, it still does this. Any ideas?
local s1 = workspace.Rain local d = workspace.Jazz local r = workspace.RainDoor local bgm = workspace:WaitForChild("Music") local music = bgm:GetChildren() local debounce = false local raindebounce = false s1:Play() d.Touched:Connect(function() if raindebounce == false and s1.Volume >= 5 then for i = 1,10 do s1.Volume = s1.Volume - 0.4 raindebounce = true wait(0.1) end raindebounce = false end if debounce == false then while true do debounce = true local randomsong = math.random(1, #music) randomsongplay = music[randomsong] randomsongplay:Play() for i = 1,100 do randomsongplay.Volume = randomsongplay.Volume + 0.01 wait(0.01) end wait(randomsongplay.TimeLength) for i = 1,100 do randomsongplay.Volume = randomsongplay.Volume - 0.01 wait(0.01) end randomsongplay:Stop() wait() end end end) r.Touched:Connect(function() local exitdebounce = false if exitdebounce == false then exitdebounce = true for i = 1,10 do print'test' randomsongplay.Volume = randomsongplay.Volume - 0.1 debounce = true wait(0.1) end for i = 1,10 do s1.Volume = s1.Volume + 0.4 raindebounce = true wait(0.1) end exitdebounce = false end end) wait()
Any and all help will be greatly appreciated!