Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plr = game:service'Players'.LocalPlayer
- char = plr.Character
- local text = Instance.new("BillboardGui", char)
- text.Size = UDim2.new(0,100,0,40)
- text.StudsOffset = Vector3.new(0,3,0)
- text.Adornee = char.Head
- text.Name = "1"
- local text1 = Instance.new("TextLabel",text)
- text1.BackgroundTransparency = 1
- text1.TextStrokeTransparency = 1
- text1.TextTransparency = 1
- text1.BorderSizePixel = 0
- text1.Text = "Now Playing | "
- text1.Font = "Fantasy"
- text1.FontSize = "Size24"
- text1.TextStrokeTransparency = 0
- text1.TextColor3 = Color3.new(math.random(1,255),math.random(1,255),math.random(1,255))
- text1.TextStrokeColor3 = Color3.new(0,0,0)
- text1.Size = UDim2.new(1,0,0.5,0)
- sou = Instance.new('Sound')
- sou.SoundId = "rbxassetid://0"
- sou.Looped = true
- sou.Volume = 2.5
- timelength = 0
- soundvolume = sou.Volume
- allow = true
- cp = Instance.new('Part', char)
- cp.Name = "Point"
- cp.Anchored = true
- modeone = true
- modetwo = false
- soundid = ""
- rotate = 0
- protect = false
- color = BrickColor.new('Lime green')
- rainnot = true
- cframe = 0
- a = true
- rainyes = false
- parts = 10
- rait = 50
- text1.Text = "Now Playing | Nothing"
- cfrem = workspace
- folder = Instance.new('Folder', script)
- folder.Name = "Storage"
- if char:FindFirstChild('Torso') then
- cfrem = char.Torso
- elseif char:FindFirstChild('UpperTorso') then
- cfrem = char.UpperTorso
- end
- cp.Size = cfrem.Size
- cp.CanCollide = false
- cp.Transparency = 1
- sou.Parent = cfrem
- lite = Instance.new('PointLight', cfrem)
- lite.Brightness = 100
- lite.Range = 20
- lite.Shadows = true
- lite.Enabled = false
- function Random(num)
- local section=num % 1 * 3;
- local secondary=0.5 * math.pi * (section % 1);
- if section < 1 then
- return 1,1 - math.cos(secondary),1 - math.sin(secondary);
- elseif section < 2 then
- return 1 - math.sin(secondary),1,1 - math.cos(secondary);
- else
- return 1 - math.cos(secondary),1 - math.sin(secondary),1;
- end
- end
- function medcircle(sizez)
- easy = Instance.new("Model")
- game:GetService("Debris"):AddItem(easy,.03)
- easy.Name = "Circle"
- easy.Parent = char
- position = cfrem.CFrame * CFrame.new(0,cframe,0)
- number = parts
- radius = 35
- size = Vector3.new(sizez, sizez, sizez)
- for i=1, number do
- local part = Instance.new("Part")
- part.BrickColor = color
- part.formFactor = "Symmetric"
- part.Anchored = true
- part.BottomSurface = 0
- part.TopSurface = 0
- part.Material = "Neon"
- part.Parent = easy
- part.CanCollide = false
- part.Size = size
- sine = math.sin((360/number + 360/number*i)/(180/math.pi))
- cosine = math.cos((360/number + 360/number*i)/(180/math.pi))
- part.CFrame = position + Vector3.new(radius*sine, 0, radius*cosine)
- part.CFrame = part.CFrame*CFrame.fromEulerAnglesXYZ(0, (360/number + 360/number*i)/(180/math.pi), 0)
- end
- end
- function lowcircle(sizez)
- easy = Instance.new("Model")
- game:GetService("Debris"):AddItem(easy,.03)
- easy.Name = "Circle"
- easy.Parent = char
- position = cfrem.CFrame * CFrame.new(0,cframe,0)
- number = parts
- radius = sizez
- size = Vector3.new(1, 1, 1)
- for i=1, number do
- local part = Instance.new("Part")
- part.BrickColor = color
- part.formFactor = "Symmetric"
- part.Anchored = true
- part.BottomSurface = 0
- part.TopSurface = 0
- part.Material = "Neon"
- part.Parent = easy
- part.CanCollide = false
- part.Size = size
- sine = math.sin((360/number + 360/number*i)/(180/math.pi))
- cosine = math.cos((360/number + 360/number*i)/(180/math.pi))
- part.CFrame = position + Vector3.new(radius*sine, 0, radius*cosine)
- part.CFrame = part.CFrame*CFrame.fromEulerAnglesXYZ(0, (360/number + 360/number*i)/(180/math.pi), 0)
- end
- end
- plr.Chatted:connect(function(m)
- if string.sub(m:lower(),1,3) == "!pl" then
- fold = Instance.new('Folder', folder)
- fold.Name = "SongStorage"
- val = Instance.new('NumberValue', fold)
- val.Name = "SongId"
- val.Value = string.sub(m:lower(),5,-1)
- val2 = Instance.new('StringValue', fold)
- val2.Name = "SongName"
- val2.Value = game:GetService("MarketplaceService"):GetProductInfo(val.Value).Name
- sou.SoundId = "rbxassetid://"..string.sub(m:lower(),5,-1)
- soundid = "rbxassetid://"..string.sub(m:lower(),5,-1)
- local Asset = game:GetService("MarketplaceService"):GetProductInfo(string.sub(m,5,-1))
- text1.Text = "Now Playing | "..Asset.Name
- sou:Play()
- end
- if string.sub(m:lower(),1,4) == "!vol" then
- sou.Volume = string.sub(m:lower(),6,-1)
- end
- if string.sub(m:lower(),1,9) == "!prevsong" then
- for _, data in pairs(folder:GetChildren()) do
- print(data.SongId.Value, data.SongName.Value)
- end
- end
- if string.sub(m:lower(),1,7) == "!follow" then
- for _,v in pairs(game:service'Players':GetPlayers()) do
- if string.find(v.Name:lower(),string.sub(m:lower(),9,-1)) then
- if v.Character:FindFirstChild('Torso') then
- cfrem = v.Character.Torso
- elseif char:FindFirstChild('UpperTorso') then
- cfrem = v.Character.UpperTorso
- end
- sou:Destroy()
- text.Adornee = v.Character.Head
- end
- end
- for _,b in pairs(game:service'Workspace':GetChildren()) do
- if string.find(b.Name:lower(),string.sub(m:lower(),9,-1)) then
- if b:FindFirstChildOfClass'Humanoid' then
- if b:FindFirstChild('Torso') then
- cfrem = b.Torso
- elseif b:FindFirstChild('UpperTorso') then
- cfrem = b.UpperTorso
- end
- sou:Destroy()
- text.Adornee = b.Head
- end
- end
- end
- end
- if string.sub(m:lower(),1,6) == "!parts" then
- parts = string.sub(m:lower(),8,-1)
- end
- if string.sub(m:lower(),1,7) == "!height" then
- cframe = string.sub(m:lower(),9,-1)
- end
- if string.sub(m:lower(),1,8) == "!protect" then
- protect = true
- end
- if string.sub(m:lower(),1,9) == "!uprotect" then
- protect = false
- end
- if string.sub(m:lower(),1,7) == "!prevpl" then
- for _, data in pairs(folder:GetChildren()) do
- if string.find(data:FindFirstChildOfClass('StringValue').Value:lower(),string.sub(m:lower(),9,-1)) then
- sou.SoundId = "rbxassetid://"..data.SongId.Value
- local Asset = game:GetService("MarketplaceService"):GetProductInfo(data.SongId.Value)
- text1.Text = "Now Playing | "..Asset.Name
- sou:Play()
- end
- end
- end
- if string.sub(m:lower(),1,8) == "!rainbow" then
- rainnot = false
- rainyes = true
- end
- if string.sub(m:lower(),1,5) == "!rate" then
- rait = string.sub(m:lower(),7,-1)
- end
- if string.sub(m:lower(),1,6) == "!speed" then
- sou.Pitch = string.sub(m:lower(),8,-1)
- end
- if string.sub(m:lower(),1,6) == "!stop" then
- text1.Text = "Now Playing | Nothing"
- sou:Stop()
- end
- if string.sub(m:lower(),1,7) == "!mode 1" then
- modeone = true
- modetwo = false
- end
- if string.sub(m:lower(),1,7) == "!mode 2" then
- modeone = false
- modetwo = true
- end
- if string.sub(m:lower(),1,6) == "!timep" then
- sou.TimePosition = sou.TimePosition - string.sub(m:lower(),8,-1)
- end
- if string.sub(m:lower(),1,9) == "!urainbow" then
- rainnot = true
- rainyes = false
- end
- end)
- game:GetService('RunService').RenderStepped:connect(function()
- if sou.IsPlaying and modeone then
- lowcircle(sou.PlaybackLoudness/rait,sou.PlaybackLoudness/rait,sou.PlaybackLoudness/rait)
- elseif modetwo then
- medcircle(sou.PlaybackLoudness/rait)
- end
- cp.Rotation = Vector3.new(rotate, rotate, rotate)
- if sou.Pitch == 0 then
- sou.Pitch = 1
- elseif sou.MinDistance == 0 then
- sou.MinDistance = 10
- elseif sou.MaxDistance == 0 then
- sou.MaxDistance = 10000
- end
- if rainnot and modeone then
- if sou.PlaybackLoudness <= 100 then
- lite.Enabled = false
- char.Humanoid.CameraOffset = Vector3.new(0,0,0)
- color = BrickColor.new('Lime green')
- elseif sou.PlaybackLoudness <= 200 then
- lite.Enabled = false
- char.Humanoid.CameraOffset = Vector3.new(0,0,0)
- color = BrickColor.new('Forest green')
- elseif sou.PlaybackLoudness <= 300 then
- lite.Enabled = false
- char.Humanoid.CameraOffset = Vector3.new(0,0,0)
- color = BrickColor.new('New Yeller')
- elseif sou.PlaybackLoudness >= 400 then
- lite.Enabled = true
- char.Humanoid.CameraOffset = Vector3.new(math.random(-0.7,0.7),math.random(-0.7,0.7),math.random(-0.7,0.7))
- color = BrickColor.new('Maroon')
- end
- end
- if not cfrem:FindFirstChild('Sound') and allow and modeone then
- a = false
- sou = Instance.new('Sound', cfrem)
- sou.SoundId = soundid
- sou.Looped = true
- sou.Volume = soundvolume
- sou.TimePosition = soundlength
- sou:Play()
- a = true
- end
- if not cfrem:FindFirstChild('PointLight') and allow and modeone then
- a = false
- lite = Instance.new('PointLight', cfrem)
- lite.Brightness = 100
- lite.Range = 20
- lite.Shadows = true
- lite.Enabled = false
- a = true
- end
- lite.Color = Color3.new(math.random(),math.random(),math.random())
- if sou.IsPlaying then
- if a then
- soundlength = sou.TimePosition
- end
- end
- for _,v in pairs(workspace:children()) do
- if v:IsA('Model') and v:FindFirstChild("HumanoidRootPart") and v:FindFirstChildOfClass("Humanoid") then
- if protect then
- if (v.HumanoidRootPart.Position-cfrem.Position).magnitude <=50 then
- if v.Name ~= plr.Name then
- v:Destroy()
- end
- end
- end
- end
- end
- cp.CFrame = cfrem.CFrame
- if rainyes then
- color = BrickColor.new(Random(tick()))
- end
- rotate = rotate + 3
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement