HowToRoblox

AreaMusicHandler

May 3rd, 2021 (edited)
3,123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.68 KB | None | 0 0
  1. local sound = Instance.new("Sound", script)
  2. sound.Looped = true
  3.  
  4.  
  5. local char = script.Parent
  6. local hrp = char:WaitForChild("HumanoidRootPart")
  7.  
  8.  
  9. local areasGroup = workspace:WaitForChild("Areas")
  10.  
  11. local currentArea = nil
  12.  
  13.  
  14. game:GetService("RunService").Heartbeat:Connect(function()
  15.    
  16.    
  17.     local raycast = Ray.new(hrp.Position, hrp.CFrame.UpVector * -1000)
  18.    
  19.     local part = workspace:FindPartOnRayWithWhitelist(raycast, {areasGroup})
  20.    
  21.    
  22.     if part and part.Parent == areasGroup then
  23.        
  24.         if part ~= currentArea then
  25.            
  26.             currentArea = part
  27.            
  28.             sound.SoundId = currentArea.Music.SoundId
  29.             sound:Play()
  30.         end
  31.        
  32.     else
  33.        
  34.         currentArea = nil
  35.         sound:Stop()
  36.     end
  37. end)
Add Comment
Please, Sign In to add comment