ArtiusFox

[Roblox Script] Drawable Music Visualizer (Luxulux)

Oct 17th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.09 KB | None | 0 0
  1. -- Objects
  2. MIDI = Instance.new("ScreenGui")
  3. Frame = Instance.new("Frame")
  4. ID = Instance.new("TextBox")
  5. Play = Instance.new("TextButton")
  6. Dark = Instance.new("TextButton")
  7. Bright = Instance.new("TextButton")
  8. Stop = Instance.new("TextButton")
  9. Hide = Instance.new("TextButton")
  10. Set = Instance.new("TextButton")
  11. BColor = Instance.new("TextBox")
  12. Random = Instance.new("TextButton")
  13. Material = Instance.new("TextBox")
  14. Trans = Instance.new("TextBox")
  15. sound = Instance.new("Sound",game.Players.LocalPlayer.Character.Torso)
  16. sound.Volume = 4
  17. sound.Looped = true
  18. BVal = "Deep orange"
  19. MVal = "Neon"
  20. TVal = 0
  21. Active = false
  22.  
  23. -- Properties
  24.  
  25. MIDI.Name = "MIDI"
  26. MIDI.Parent = game.Players.LocalPlayer.PlayerGui
  27.  
  28. Frame.Parent = MIDI
  29. Frame.Active = true
  30. Frame.BackgroundColor3 = Color3.new(0, 0, 0)
  31. Frame.BackgroundTransparency = 0.5799999833107
  32. Frame.BorderSizePixel = 0
  33. Frame.Draggable = true
  34. Frame.Position = UDim2.new(0, 300, 0, 50)
  35. Frame.Size = UDim2.new(0, 310, 0, 200)
  36.  
  37. ID.Name = "ID"
  38. ID.Parent = Frame
  39. ID.BackgroundColor3 = Color3.new(1, 1, 1)
  40. ID.BorderSizePixel = 0
  41. ID.Position = UDim2.new(0, 100, 0, 10)
  42. ID.Size = UDim2.new(0, 120, 0, 30)
  43. ID.Font = Enum.Font.Arcade
  44. ID.FontSize = Enum.FontSize.Size18
  45. ID.Text = "639837244"
  46. ID.TextColor3 = Color3.new(0, 0, 0)
  47. ID.TextSize = 18
  48.  
  49. Material.Name = "Material"
  50. Material.Parent = Frame
  51. Material.BackgroundColor3 = Color3.new(1, 1, 1)
  52. Material.BorderSizePixel = 0
  53. Material.Position = UDim2.new(0, 210, 0, 95)
  54. Material.Size = UDim2.new(0, 90, 0, 15)
  55. Material.Font = Enum.Font.Arcade
  56. Material.FontSize = Enum.FontSize.Size14
  57. Material.Text = "Neon"
  58. Material.TextSize = 14
  59.  
  60. Trans.Name = "Trans"
  61. Trans.Parent = Frame
  62. Trans.BackgroundColor3 = Color3.new(1, 1, 1)
  63. Trans.BorderSizePixel = 0
  64. Trans.Position = UDim2.new(0, 210, 0, 75)
  65. Trans.Size = UDim2.new(0, 90, 0, 15)
  66. Trans.Font = Enum.Font.Arcade
  67. Trans.FontSize = Enum.FontSize.Size14
  68. Trans.Text = "Transparency"
  69. Trans.TextSize = 14
  70.  
  71. Set.Name = "Set"
  72. Set.Parent = Frame
  73. Set.BackgroundColor3 = Color3.new(1, 1, 1)
  74. Set.BorderSizePixel = 0
  75. Set.Position = UDim2.new(0, 210, 0, 135)
  76. Set.Size = UDim2.new(0, 90, 0, 15)
  77. Set.Font = Enum.Font.Arcade
  78. Set.FontSize = Enum.FontSize.Size14
  79. Set.Text = "Set"
  80. Set.TextSize = 14
  81. Set.MouseButton1Down:connect(function()
  82.     if Active == true then
  83.         Active = false
  84.     end
  85.     BVal = tostring(BColor.Text)
  86.     TVal = tonumber(Trans.Text)
  87.     MVal = tostring(Material.Text)
  88. end)
  89.  
  90. BColor.Name = "BColor"
  91. BColor.Parent = Frame
  92. BColor.BackgroundColor3 = Color3.new(1, 1, 1)
  93. BColor.BorderSizePixel = 0
  94. BColor.Position = UDim2.new(0, 210, 0, 115)
  95. BColor.Size = UDim2.new(0, 90, 0, 15)
  96. BColor.Font = Enum.Font.Arcade
  97. BColor.FontSize = Enum.FontSize.Size14
  98. BColor.Text = "Lime Green"
  99. BColor.TextSize = 14
  100.  
  101. Random.Name = "Random"
  102. Random.Parent = Frame
  103. Random.BackgroundColor3 = Color3.new(1, 1, 1)
  104. Random.BorderSizePixel = 0
  105. Random.Position = UDim2.new(0, 10, 0, 80)
  106. Random.Size = UDim2.new(0, 90, 0, 30)
  107. Random.Font = Enum.Font.Arcade
  108. Random.FontSize = Enum.FontSize.Size14
  109. Random.Text = "Random"
  110. Random.TextSize = 14
  111. Random.MouseButton1Down:connect(function()
  112.     if Active == false then
  113.         Active = true
  114.     end
  115. end)
  116.  
  117. Play.Name = "Play"
  118. Play.Parent = Frame
  119. Play.BackgroundColor3 = Color3.new(1, 1, 1)
  120. Play.BorderSizePixel = 0
  121. Play.Position = UDim2.new(0, 10, 0, 160)
  122. Play.Size = UDim2.new(0, 90, 0, 30)
  123. Play.Font = Enum.Font.Arcade
  124. Play.FontSize = Enum.FontSize.Size14
  125. Play.Text = "Play"
  126. Play.TextSize = 14
  127. Play.MouseButton1Down:connect(function()
  128.     sound.TimePosition = 0
  129.     sound.Playing = true
  130.     sound.SoundId = "rbxassetid://"..tonumber(ID.Text)
  131. end)
  132.  
  133. Dark.Name = "Dark"
  134. Dark.Parent = Frame
  135. Dark.BackgroundColor3 = Color3.new(1, 1, 1)
  136. Dark.BorderSizePixel = 0
  137. Dark.Position = UDim2.new(0, 10, 0, 120)
  138. Dark.Size = UDim2.new(0, 90, 0, 30)
  139. Dark.Font = Enum.Font.Arcade
  140. Dark.FontSize = Enum.FontSize.Size14
  141. Dark.Text = "Dark"
  142. Dark.TextSize = 14
  143. Dark.MouseButton1Down:connect(function()
  144.     game.Lighting.TimeOfDay = 0
  145.     game.Lighting.GlobalShadows = false
  146.     game.Lighting.Ambient = Color3.new(0,0,0)
  147.     game.Lighting.Brightness = 0
  148. end)
  149.  
  150. Bright.Name = "Bright"
  151. Bright.Parent = Frame
  152. Bright.BackgroundColor3 = Color3.new(1, 1, 1)
  153. Bright.BorderSizePixel = 0
  154. Bright.Position = UDim2.new(0, 110, 0, 120)
  155. Bright.Size = UDim2.new(0, 90, 0, 30)
  156. Bright.Font = Enum.Font.Arcade
  157. Bright.FontSize = Enum.FontSize.Size14
  158. Bright.Text = "Bright"
  159. Bright.TextSize = 14
  160. Bright.MouseButton1Down:connect(function()
  161.     game.Lighting.TimeOfDay = 12
  162.     game.Lighting.GlobalShadows = true
  163.     game.Lighting.Ambient = Color3.fromRGB(10,10,10)
  164.     game.Lighting.Brightness = 1
  165. end)
  166.  
  167. Stop.Name = "Stop"
  168. Stop.Parent = Frame
  169. Stop.BackgroundColor3 = Color3.new(1, 1, 1)
  170. Stop.BorderSizePixel = 0
  171. Stop.Position = UDim2.new(0, 110, 0, 160)
  172. Stop.Size = UDim2.new(0, 90, 0, 30)
  173. Stop.Font = Enum.Font.Arcade
  174. Stop.FontSize = Enum.FontSize.Size14
  175. Stop.Text = "Stop"
  176. Stop.TextSize = 14
  177. Stop.MouseButton1Down:connect(function()
  178.     sound.Playing = false
  179. end)
  180.  
  181. Hide.Name = "Hide"
  182. Hide.Parent = Frame
  183. Hide.BackgroundColor3 = Color3.new(1, 1, 1)
  184. Hide.BorderSizePixel = 0
  185. Hide.Position = UDim2.new(0, 210, 0, 160)
  186. Hide.Size = UDim2.new(0, 90, 0, 30)
  187. Hide.Font = Enum.Font.Arcade
  188. Hide.FontSize = Enum.FontSize.Size14
  189. Hide.Text = "Clear"
  190. Hide.TextSize = 14
  191. Hide.MouseButton1Down:connect(function()
  192.     for i,v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
  193.         if v.Name == "location" then
  194.             v:Remove()
  195.         end
  196.     end
  197. end)
  198.  
  199. --- Made By Pugz AKA (PugLover77)
  200. plyr = game.Players.LocalPlayer
  201. c = plyr.Character
  202. RunService = game:service'RunService'
  203. mouse = game.Players.LocalPlayer:GetMouse()
  204. local draw2 = false
  205. local colorA = 1
  206. local lastPos
  207.  
  208. tool = Instance.new("HopperBin", plyr.Backpack)
  209. tool.Name = "Draw"
  210.  
  211.  
  212.  
  213. mouse = plyr:GetMouse()
  214.  
  215.  
  216.                function draw(obj) --
  217.     local lastPos = obj.CFrame.p
  218.     coroutine.wrap(function()
  219.         while wait() do
  220.         if draw2 then
  221.         while draw2 do
  222.             wait()
  223.             objC = obj:Clone()
  224.              objC.Parent = c
  225.             objC.Anchored = true
  226.             local distance = (lastPos- obj.CFrame.p).magnitude
  227.             objC.Size = Vector3.new(.1,.1,distance)
  228.             objC.CFrame = CFrame.new(lastPos,obj.Position)*CFrame.new(0,0,-distance/2)
  229.             lastPos = obj.CFrame.p
  230.         end
  231.         else
  232.                 break
  233.         end
  234.         end
  235.     end)()
  236.                 end
  237.  
  238. tool.Selected:connect(function(mouse)
  239.        
  240.         mouse.Button1Down:connect(function(mouse)
  241.     draw2 = true
  242.                 part = Instance.new("Part", c)
  243. mesh = Instance.new("BlockMesh",part)
  244.         Li = Instance.new("PointLight",part)
  245.         Li.Range = 8
  246.         Li.Color = part.Color
  247.                 part.Name = "location"
  248.            
  249.                 part.BottomSurface = 0
  250.                 part.Material = MVal
  251.                 part.TopSurface = 0
  252.                 part.Size = Vector3.new()
  253.                 part.Transparency = TVal
  254.                 if Active == true then
  255.                     part.Color = Color3.new(math.random(), math.random(), math.random())
  256.                 elseif Active == false then
  257.                     part.BrickColor = BrickColor.new(BVal)
  258.                 end
  259.         Li.Color = part.Color
  260.                 part.FormFactor = "Custom"
  261.                 part.Size = Vector3.new(0.01, 0.01, 0.01)
  262.                 part.Anchored = true
  263.                 part.Locked = true
  264.                 coroutine.wrap(function()
  265.                 while part ~= nil do
  266.                 part.CFrame = CFrame.new(plyr:GetMouse().Hit.p.x,plyr:GetMouse().Hit.p.y,plyr:GetMouse().Hit.p.z)
  267.                 wait()
  268.                 end
  269.                 end)()
  270.                 wait()    
  271.                 draw(part)
  272.                 wait()
  273.         end)
  274.         mouse.Button1Up:connect(function(mouse)
  275.     draw2 = false
  276.                
  277.         end)
  278.                        
  279. end)
  280. x = 60
  281. game:GetService("RunService").Stepped:connect(function()
  282.     n = sound.PlaybackLoudness
  283.     if n > 500 then
  284.         x = 100
  285.     elseif n < 500 then
  286.         x = 110
  287.     end
  288. for i,v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
  289.     if v.Name == "location" then
  290.         v.Mesh.Scale = Vector3.new(n / x, n / x, n / x)
  291.         v.PointLight.Range = n / 50
  292.     end
  293. end
  294. end)
Add Comment
Please, Sign In to add comment