Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Follow='LocalPlayer'
- local Plr=game.Players[Follow]
- local Char=Plr.Character
- local RootPart=Char.HumanoidRootPart
- local Parts=Instance.new('Model')
- Parts.Parent=Char
- local Whitelist={}
- Whitelist[Plr.Name]={Name=Plr.Name,UserId=Plr.UserId}
- local Settings={
- Prefix='|',
- Color='Light red',
- Body=-3,
- Rainbow=false,
- Global=false,
- Angle=0,
- Goal=.15,
- Split=1,
- Parts=0,
- Disposition=4,
- Power=450,
- Material='Neon',
- Colors={
- Color3.fromRGB(244,66,66),
- Color3.fromRGB(244,149,66),
- Color3.fromRGB(244,203,66),
- Color3.fromRGB(83,244,66),
- Color3.fromRGB(66,244,212),
- Color3.fromRGB(66,152,244),
- Color3.fromRGB(107,66,244),
- Color3.fromRGB(229,66,244)
- }
- }
- function Sound(Name,Looped,Pitch,Volume,ID,Parent)
- local Snd=Instance.new('Sound')
- Snd.Name=Name
- Snd.SoundId='rbxassetid://'..ID
- Snd.Looped=Looped
- Snd.PlaybackSpeed=Pitch
- Snd.Volume=Volume
- Snd.EmitterSize=10
- Snd.MaxDistance=100
- Snd.Parent=Parent
- return Snd
- end
- local Music=Sound('Music',true,1,1,0,RootPart)
- function Part(Num)
- Settings.Parts=Num
- for i,v in pairs(Parts:GetChildren()) do
- v:Destroy()
- end
- for i=1,Num do
- local P=Instance.new('Part')
- local Light=Instance.new('PointLight')
- Light.Brightness=10
- Light.Range=10
- Light.Parent=P
- P.BrickColor=BrickColor.new(Settings.Color)
- P.Transparency=0
- P.Anchored=true
- P.CanCollide=false
- P.Material=Settings.Material
- P.Size=Vector3.new(.2,.2,.2)
- P.CFrame=CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y+Settings.Body,RootPart.CFrame.Z)
- P.Locked=true
- P.Parent=Parts
- end
- end
- Part(31)
- function ColorChange()
- while game:GetService'RunService'.RenderStepped:wait() do
- local Color=Settings.Colors[math.random(1,#Settings.Colors)]
- for i,v in pairs(Parts:GetChildren()) do
- v.Material=Settings.Material
- if Settings.Rainbow==false then
- v.BrickColor=BrickColor.new(Settings.Color)
- v.PointLight.Color=Color3.fromRGB(255,255,255)
- else
- v.BrickColor=BrickColor.new(Color)
- v.PointLight.Color=Color
- end
- end
- end
- end
- local Rad=0
- function Rot()
- while game:GetService'RunService'.RenderStepped:wait() do
- Rad=Rad+1
- if Rad>=360 then
- Rad=0
- end
- for i,v in pairs(Parts:GetChildren()) do
- v.CFrame=v.CFrame:Lerp(CFrame.new(RootPart.CFrame.X,RootPart.CFrame.Y+Settings.Body,RootPart.CFrame.Z)*CFrame.Angles(9,math.rad((360/Settings.Parts)*((i+(i*Settings.Angle))/Settings.Split)+Rad),0)*CFrame.new(8,-8,Settings.Disposition+(v.Size.Z)),Settings.Goal)
- end
- end
- end
- function Size()
- while game:GetService'RunService'.RenderStepped:wait() do
- for i,v in pairs(Parts:GetChildren()) do
- v.Size=v.Size:Lerp(Vector3.new(.5,.5,(Music.PlaybackLoudness/Settings.Power)*math.random(9,20)),Settings.Goal)
- end
- end
- end
- spawn(Rot)
- spawn(Size)
- spawn(ColorChange)
- function Chatted(Speaker,Message)
- for i,v in pairs(Whitelist) do
- if v.Name==Speaker.Name or v.UserId==Speaker.UserId then
- if Message:sub(1,6):lower():match(Settings.Prefix..'play ') then
- Music.SoundId='rbxassetid://'..Message:sub(7)
- Music:Play()
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'pause') then
- Music:Pause()
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'resume') then
- Music:Resume()
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'tpos ') then
- Music.TimePosition=tonumber(Message:sub(7))
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'emit ') then
- Music.EmitterSize=tonumber(Message:sub(7))
- elseif Message:sub(1,5):lower():match(Settings.Prefix..'vol ') then
- Music.Volume=tonumber(Message:sub(6))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'pitch ') then
- Music.PlaybackSpeed=tonumber(Message:sub(8))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'maxdis ') then
- Music.MaxDistance=tonumber(Message:sub(9))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'prefix ') then
- Settings.Prefix=Message:sub(9)
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'angle ') then
- Settings.Angle=tonumber(Message:sub(8))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'split ') then
- Settings.Split=tonumber(Message:sub(8))
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'goal ') then
- Settings.Goal=tonumber(Message:sub(7))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'color ') then
- Settings.Color=Message:sub(8)
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'body ') then
- Settings.Body=tonumber(Message:sub(7))
- elseif Message:sub(1,10):lower():match(Settings.Prefix..'material ') then
- Settings.Material=Message:sub(11)
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'global') then
- if Settings.Global==false then
- Settings.Global=true
- Music.Parent=workspace
- else
- Settings.Global=false
- Music.Parent=RootPart
- end
- elseif Message:sub(1,6):lower():match(Settings.Prefix..'disp ') then
- Settings.Disposition=tonumber(Message:sub(7))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'parts ') then
- Part(tonumber(Message:sub(8)))
- elseif Message:sub(1,7):lower():match(Settings.Prefix..'power ') then
- Settings.Power=tonumber(Message:sub(8))
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'follow ') then
- for i,v in pairs(game.Players:GetPlayers()) do
- if v.Name:lower():match(Message:sub(9):lower()) then
- Follow=v.Name
- Plr=game.Players[Follow]
- Char=Plr.Character
- RootPart=Char.HumanoidRootPart
- if Settings.Global==false then
- Music.Parent=RootPart
- end
- end
- end
- elseif Message:sub(1,11):lower():match(Settings.Prefix..'whitelist ') then
- for i,v in pairs(game.Players:GetPlayers()) do
- if v.Name:lower():match(Message:sub(12):lower()) then
- Whitelist[v.Name]={Name=v.Name,UserId=v.UserId}
- end
- end
- elseif Message:sub(1,8):lower():match(Settings.Prefix..'rainbow') then
- if Settings.Rainbow==false then
- Settings.Rainbow=true
- else
- Settings.Rainbow=false
- end
- end
- end
- end
- end
- game.Players.PlayerAdded:connect(function(Plyr)
- Plyr.Chatted:connect(function(Message) Chatted(Plyr,Message) end)
- end)
- for i,v in pairs(game.Players:GetPlayers()) do
- v.Chatted:connect(function(Message) Chatted(v,Message) end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement