SHOW:
|
|
- or go back to the newest paste.
| 1 | script.Parent = owner.PlayerGui | |
| 2 | local plr = owner | |
| 3 | local char = plr.Character | |
| 4 | local plrg = plr.PlayerGui | |
| 5 | local rut = char.HumanoidRootPart | |
| 6 | local h = char.Head | |
| 7 | - | local id = "rbxassetid://1300680050" |
| 7 | + | local id = "rbxassetid://539723516" |
| 8 | local vol = .5 | |
| 9 | local pitch = 1 | |
| 10 | local timepos | |
| 11 | local tweens = game:GetService("TweenService")
| |
| 12 | local debrs = game:GetService("Debris")
| |
| 13 | local cos = math.cos | |
| 14 | local sin = math.sin | |
| 15 | local change = .05 | |
| 16 | local sine = 0 | |
| 17 | local rad = math.rad | |
| 18 | local scr = Instance.new("ScreenGui",plrg) scr.Name = "VisGui"
| |
| 19 | local song = Instance.new("Sound",char) song.Volume = vol song.Pitch = pitch song.SoundId = id song.Name = "VisSong" song.Looped = true
| |
| 20 | local rem = Instance.new("RemoteEvent",plrg) rem.Name = "VisEvent"
| |
| 21 | local verifyofexisting = Instance.new("Glue",char) verifyofexisting.Name = "Verified"
| |
| 22 | local vispart | |
| 23 | local defcf = rut.CFrame * CFrame.new(2,2,2) | |
| 24 | local tlerp = function(part,tablee,leinght,easingstyle,easingdirec) | |
| 25 | local info = TweenInfo.new( | |
| 26 | leinght, | |
| 27 | easingstyle, | |
| 28 | easingdirec, | |
| 29 | 0, | |
| 30 | false, | |
| 31 | 0 | |
| 32 | ) | |
| 33 | local lerp = tweens:Create(part,info,tablee) | |
| 34 | lerp:Play() | |
| 35 | end | |
| 36 | function createvpart() | |
| 37 | vispart = Instance.new("Part")
| |
| 38 | vispart.Anchored = true | |
| 39 | vispart.CanCollide = false | |
| 40 | vispart.Size = Vector3.new(1,1,1) | |
| 41 | vispart.Material = "Neon" | |
| 42 | vispart.CFrame = defcf | |
| 43 | vispart.Parent = rut | |
| 44 | vispart:BreakJoints() | |
| 45 | end | |
| 46 | local client = NLS([[ | |
| 47 | local startertext = "Press Alt to toggle command bar, type 'Help(Might be low case)' to get help and 'Close' to close help window." | |
| 48 | local plr = game:GetService("Players").LocalPlayer
| |
| 49 | local char = plr.Character | |
| 50 | local rut = char.HumanoidRootPart | |
| 51 | local plrg = plr.PlayerGui | |
| 52 | local mouse = plr:GetMouse() | |
| 53 | local colour = Color3.new(0,1,0) | |
| 54 | local gui = plrg:WaitForChild("VisGui")
| |
| 55 | local rem = plrg:WaitForChild("VisEvent")
| |
| 56 | local song = char:WaitForChild("VisSong")
| |
| 57 | local help = false | |
| 58 | local using = false | |
| 59 | local reverse = false | |
| 60 | local scaling = 110 | |
| 61 | local colorchangespeed = 2 | |
| 62 | ||
| 63 | local tweens = game:GetService("TweenService")
| |
| 64 | local tlerp = function(part,tablee,leinght,easingstyle,easingdirec) | |
| 65 | local info = TweenInfo.new( | |
| 66 | leinght, | |
| 67 | easingstyle, | |
| 68 | easingdirec, | |
| 69 | 0, | |
| 70 | false, | |
| 71 | 0 | |
| 72 | ) | |
| 73 | local lerp = tweens:Create(part,info,tablee) | |
| 74 | lerp:Play() | |
| 75 | end | |
| 76 | ||
| 77 | local tbox = Instance.new("TextBox",gui)
| |
| 78 | tbox.Size = UDim2.new(.2,0,.075,0) | |
| 79 | tbox.BorderSizePixel = 0 | |
| 80 | tbox.TextScaled = true | |
| 81 | tbox.BackgroundColor3 = Color3.new(.15,.15,.15) | |
| 82 | tbox.TextColor3 = Color3.new(1,1,1) | |
| 83 | tbox.Position = UDim2.new(.8,0,.925,0) | |
| 84 | tbox.Text = startertext | |
| 85 | ||
| 86 | local size = 1/9 | |
| 87 | local helpframe = Instance.new("Frame",tbox)
| |
| 88 | helpframe.Size = UDim2.new(1,0,7,0) | |
| 89 | helpframe.Position = UDim2.new(0,0,1,0) | |
| 90 | helpframe.BorderSizePixel = 0 | |
| 91 | helpframe.BackgroundColor3 = Color3.new(.175,.175,.175) | |
| 92 | ||
| 93 | local labl1 = Instance.new("TextLabel",helpframe)
| |
| 94 | labl1.BorderSizePixel = 0 | |
| 95 | labl1.BackgroundTransparency = 1 | |
| 96 | labl1.TextScaled = true | |
| 97 | labl1.Text = "Play *id* - Plays a song with chosen id." | |
| 98 | labl1.TextColor3 = Color3.new(1,1,1) | |
| 99 | labl1.Size = UDim2.new(1,0,size,0) | |
| 100 | ||
| 101 | local labl2 = Instance.new("TextLabel",helpframe)
| |
| 102 | labl2.BorderSizePixel = 0 | |
| 103 | labl2.BackgroundTransparency = 1 | |
| 104 | labl2.TextScaled = true | |
| 105 | labl2.Text = "Volume *num* - Sets the volume of the song." | |
| 106 | labl2.TextColor3 = Color3.new(1,1,1) | |
| 107 | labl2.Size = UDim2.new(1,0,size,0) | |
| 108 | labl2.Position = UDim2.new(0,0,size,0) | |
| 109 | ||
| 110 | local labl3 = Instance.new("TextLabel",helpframe)
| |
| 111 | labl3.BorderSizePixel = 0 | |
| 112 | labl3.BackgroundTransparency = 1 | |
| 113 | labl3.TextScaled = true | |
| 114 | labl3.Text = "Pitch *num* - Sets the pitch of the song." | |
| 115 | labl3.TextColor3 = Color3.new(1,1,1) | |
| 116 | labl3.Size = UDim2.new(1,0,size,0) | |
| 117 | labl3.Position = UDim2.new(0,0,size*2,0) | |
| 118 | ||
| 119 | local labl4 = Instance.new("TextLabel",helpframe)
| |
| 120 | labl4.BorderSizePixel = 0 | |
| 121 | labl4.BackgroundTransparency = 1 | |
| 122 | labl4.TextScaled = true | |
| 123 | labl4.Text = "Play - Plays the song." | |
| 124 | labl4.TextColor3 = Color3.new(1,1,1) | |
| 125 | labl4.Size = UDim2.new(1,0,size,0) | |
| 126 | labl4.Position = UDim2.new(0,0,size*3,0) | |
| 127 | ||
| 128 | local labl5 = Instance.new("TextLabel",helpframe)
| |
| 129 | labl5.BorderSizePixel = 0 | |
| 130 | labl5.BackgroundTransparency = 1 | |
| 131 | labl5.TextScaled = true | |
| 132 | labl5.Text = "Stop - Stops the song." | |
| 133 | labl5.TextColor3 = Color3.new(1,1,1) | |
| 134 | labl5.Size = UDim2.new(1,0,size,0) | |
| 135 | labl5.Position = UDim2.new(0,0,size*4,0) | |
| 136 | ||
| 137 | local labl6 = Instance.new("TextLabel",helpframe)
| |
| 138 | labl6.BorderSizePixel = 0 | |
| 139 | labl6.BackgroundTransparency = 1 | |
| 140 | labl6.TextScaled = true | |
| 141 | labl6.Text = "Pause - Pauses the song." | |
| 142 | labl6.TextColor3 = Color3.new(1,1,1) | |
| 143 | labl6.Size = UDim2.new(1,0,size,0) | |
| 144 | labl6.Position = UDim2.new(0,0,size*5,0) | |
| 145 | ||
| 146 | local labl7 = Instance.new("TextLabel",helpframe)
| |
| 147 | labl7.BorderSizePixel = 0 | |
| 148 | labl7.BackgroundTransparency = 1 | |
| 149 | labl7.TextScaled = true | |
| 150 | labl7.Text = "Resume - Resumes the song." | |
| 151 | labl7.TextColor3 = Color3.new(1,1,1) | |
| 152 | labl7.Size = UDim2.new(1,0,size,0) | |
| 153 | labl7.Position = UDim2.new(0,0,size*6,0) | |
| 154 | ||
| 155 | local labl8 = Instance.new("TextLabel",helpframe)
| |
| 156 | labl8.BorderSizePixel = 0 | |
| 157 | labl8.BackgroundTransparency = 1 | |
| 158 | labl8.TextScaled = true | |
| 159 | labl8.Text = "Reverse - Reverses the side of the visualiser." | |
| 160 | labl8.TextColor3 = Color3.new(1,1,1) | |
| 161 | labl8.Size = UDim2.new(1,0,size,0) | |
| 162 | labl8.Position = UDim2.new(0,0,size*7,0) | |
| 163 | ||
| 164 | local labl9 = Instance.new("TextLabel",helpframe)
| |
| 165 | labl9.BorderSizePixel = 0 | |
| 166 | labl9.BackgroundTransparency = 1 | |
| 167 | labl9.TextScaled = true | |
| 168 | labl9.Text = "Scale *num* - Changes the scaling of the part, lesser - bigger size of the part, standart: "..scaling.."." | |
| 169 | labl9.TextColor3 = Color3.new(1,1,1) | |
| 170 | labl9.Size = UDim2.new(1,0,size,0) | |
| 171 | labl9.Position = UDim2.new(0,0,size*8,0) | |
| 172 | ||
| 173 | function showhelp() | |
| 174 | help = true | |
| 175 | using = true | |
| 176 | for i = 0,1,.05 do | |
| 177 | tbox.Position = tbox.Position:Lerp(UDim2.new(.8,0,.4,0),i) | |
| 178 | wait() | |
| 179 | end | |
| 180 | using = false | |
| 181 | end | |
| 182 | function closehelp() | |
| 183 | using = true | |
| 184 | for i = 0,1,.05 do | |
| 185 | tbox.Position = tbox.Position:Lerp(UDim2.new(.8,0,.925,0),i) | |
| 186 | wait() | |
| 187 | end | |
| 188 | using = false | |
| 189 | help = false | |
| 190 | end | |
| 191 | ||
| 192 | tbox.FocusLost:Connect(function() | |
| 193 | ||
| 194 | if tbox.Text:lower():sub(1,5) == "play " then | |
| 195 | rem:FireServer("id",tbox.Text:lower():sub(6,#tbox.Text))
| |
| 196 | end | |
| 197 | ||
| 198 | if tbox.Text:lower():sub(1,7) == "volume " then | |
| 199 | rem:FireServer("volume",tbox.Text:lower():sub(8,#tbox.Text))
| |
| 200 | end | |
| 201 | ||
| 202 | if tbox.Text:lower():sub(1,6) == "pitch " then | |
| 203 | rem:FireServer("pitch",tbox.Text:lower():sub(7,#tbox.Text))
| |
| 204 | end | |
| 205 | ||
| 206 | if tbox.Text:lower():sub(1,6) == "scale " then | |
| 207 | scaling = tbox.Text:lower():sub(7,#tbox.Text) | |
| 208 | end | |
| 209 | ||
| 210 | if tbox.Text:lower() == "play" then | |
| 211 | rem:FireServer("play")
| |
| 212 | end | |
| 213 | ||
| 214 | if tbox.Text:lower() == "stop" then | |
| 215 | rem:FireServer("stop")
| |
| 216 | end | |
| 217 | ||
| 218 | if tbox.Text:lower() == "pause" then | |
| 219 | rem:FireServer("pause")
| |
| 220 | end | |
| 221 | ||
| 222 | if tbox.Text:lower() == "resume" then | |
| 223 | rem:FireServer("resume")
| |
| 224 | end | |
| 225 | ||
| 226 | if tbox.Text:lower() == "help" and not using and not help then | |
| 227 | showhelp() | |
| 228 | end | |
| 229 | ||
| 230 | if tbox.Text:lower() == "close" and not using and help then | |
| 231 | closehelp() | |
| 232 | end | |
| 233 | ||
| 234 | if tbox.Text:lower() == "reverse" and not reverse then | |
| 235 | reverse = true | |
| 236 | elseif tbox.Text:lower() == "reverse" and reverse then | |
| 237 | reverse = false | |
| 238 | end | |
| 239 | ||
| 240 | tbox.Text = startertext | |
| 241 | end) | |
| 242 | ||
| 243 | mouse.KeyDown:Connect(function(key) | |
| 244 | if string.byte(key) == 52 then | |
| 245 | tbox:CaptureFocus() | |
| 246 | end | |
| 247 | ||
| 248 | end) | |
| 249 | ||
| 250 | local cc = coroutine.wrap(function() | |
| 251 | while true do | |
| 252 | tlerp(rut,{Color = Color3.new(1,0,0)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 253 | wait(colorchangespeed) | |
| 254 | tlerp(rut,{Color = Color3.new(1,.4,0)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 255 | wait(colorchangespeed) | |
| 256 | tlerp(rut,{Color = Color3.new(1,1,0)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 257 | wait(colorchangespeed) | |
| 258 | tlerp(rut,{Color = Color3.new(0,1,0)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 259 | wait(colorchangespeed) | |
| 260 | tlerp(rut,{Color = Color3.new(0,1,1)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 261 | wait(colorchangespeed) | |
| 262 | tlerp(rut,{Color = Color3.new(0,0,1)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 263 | wait(colorchangespeed) | |
| 264 | tlerp(rut,{Color = Color3.new(1,0,.4)},colorchangespeed,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 265 | wait(colorchangespeed) | |
| 266 | end | |
| 267 | end) | |
| 268 | cc() | |
| 269 | while true do | |
| 270 | --pcall(function() | |
| 271 | if plr.Character ~= nil then | |
| 272 | char = plr.Character | |
| 273 | song = char:FindFirstChild("VisSong")
| |
| 274 | if song then | |
| 275 | rem:FireServer("resize",song.PlaybackLoudness/scaling,Color3.fromRGB(rut.Color.r*(song.PlaybackLoudness/5),rut.Color.g*(song.PlaybackLoudness/5),rut.Color.b*(song.PlaybackLoudness/5)),reverse)
| |
| 276 | end | |
| 277 | end | |
| 278 | --end) | |
| 279 | wait() | |
| 280 | end | |
| 281 | ]],plrg) | |
| 282 | function wave(pospart) | |
| 283 | local wavetime = math.random(3,6)/10 | |
| 284 | local col = pospart.Color | |
| 285 | local endlocalwavesize = Vector3.new(pospart.Size.x/1.5,pospart.Size.y*3.5,pospart.Size.z*3.5) | |
| 286 | local cff = pospart.CFrame | |
| 287 | local eff = Instance.new("Part")
| |
| 288 | eff.Size = Vector3.new(pospart.Size.x/10,pospart.Size.y,pospart.Size.z) | |
| 289 | eff.CFrame = cff | |
| 290 | eff.Color = col | |
| 291 | eff.Anchored = true | |
| 292 | eff.CanCollide = false | |
| 293 | eff.Material = "Neon" | |
| 294 | eff.Parent = rut | |
| 295 | local mesh = Instance.new("SpecialMesh",eff)
| |
| 296 | mesh.MeshType = "Sphere" | |
| 297 | tlerp(eff,{Size = endlocalwavesize,Transparency = 1, CFrame = cff * CFrame.Angles(rad(math.random(-180,180)),rad(math.random(-180,180)),rad(math.random(-180,180)))},wavetime,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
| |
| 298 | debrs:AddItem(eff,wavetime) | |
| 299 | end | |
| 300 | createvpart() | |
| 301 | song:Play() | |
| 302 | rem.OnServerEvent:Connect(function(plr,type,num,colour,reversed) | |
| 303 | pcall(function() | |
| 304 | if type == "resize" then | |
| 305 | char = owner.Character | |
| 306 | verifyofexisting = char:FindFirstChild("Verified")
| |
| 307 | if not verifyofexisting or not verifyofexisting.Parent then | |
| 308 | defcf = rut.CFrame * CFrame.new(2,2,2) | |
| 309 | char = owner.Character | |
| 310 | rut = char.HumanoidRootPart | |
| 311 | h = char.Head | |
| 312 | verifyofexisting = Instance.new("Glue",char) verifyofexisting.Name = "Verified"
| |
| 313 | song = Instance.new("Sound",char) song.Volume = vol song.Pitch = pitch song.SoundId = id song.Name = "VisSong" song.Looped = true
| |
| 314 | song.TimePosition = timepos | |
| 315 | song:Play() | |
| 316 | createvpart() | |
| 317 | end | |
| 318 | sine = sine +change | |
| 319 | if not vispart or not vispart.Parent then | |
| 320 | createvpart() | |
| 321 | end | |
| 322 | if num > 5 then | |
| 323 | local rand = math.random(1,2) | |
| 324 | if rand == 1 then | |
| 325 | wave(vispart) | |
| 326 | end | |
| 327 | end | |
| 328 | if not reversed then | |
| 329 | defcf = rut.CFrame * CFrame.new(2,2,2) * CFrame.new(cos(sine/3),-cos(sine/3),sin(sine/3)) * CFrame.new(num/2,num,num/2) * CFrame.Angles(num/1,num/1,-num/1) | |
| 330 | else | |
| 331 | defcf = rut.CFrame * CFrame.new(-2,2,2) * CFrame.new(cos(sine/3),-cos(sine/3),sin(sine/3)) * CFrame.new(-num/2,num,num/2) * CFrame.Angles(num/1,-num/1,num/1) | |
| 332 | end | |
| 333 | if not song or not song.Parent then | |
| 334 | song = Instance.new("Sound",char) song.Volume = vol song.Pitch = pitch song.SoundId = id song.Name = "VisSong" song.Looped = true
| |
| 335 | song.TimePosition = timepos | |
| 336 | song:Play() | |
| 337 | end | |
| 338 | timepos = song.TimePosition | |
| 339 | song.Volume = vol | |
| 340 | vispart:ClearAllChildren() | |
| 341 | vispart.Material = "Neon" | |
| 342 | vispart.Transparency = 0 | |
| 343 | vispart.Anchored = true | |
| 344 | vispart.CanCollide = false | |
| 345 | vispart.Size = vispart.Size:Lerp(Vector3.new(num,num,num),.35) | |
| 346 | vispart.Color = vispart.Color:Lerp(colour,.35) | |
| 347 | if (rut.Position-vispart.Position).Magnitude >50+num then | |
| 348 | defcf = rut.CFrame * CFrame.new(2,2,2) | |
| 349 | vispart.CFrame = defcf | |
| 350 | end | |
| 351 | vispart.CFrame = vispart.CFrame:Lerp(defcf,.1) | |
| 352 | end | |
| 353 | if type == "id" then | |
| 354 | song.SoundId = "rbxassetid://"..tonumber(num) | |
| 355 | id = "rbxassetid://"..tonumber(num) | |
| 356 | if not song or not song.Parent then | |
| 357 | song = Instance.new("Sound",char) song.Volume = vol song.Pitch = pitch song.SoundId = id song.Name = "VisSong" song.Looped = true
| |
| 358 | song:Play() song.TimePosition = timepos | |
| 359 | end | |
| 360 | song:Play() | |
| 361 | end | |
| 362 | if type == "volume" then | |
| 363 | song.Volume = tonumber(num) | |
| 364 | vol = tonumber(num) | |
| 365 | end | |
| 366 | if type == "pitch" then | |
| 367 | song.Pitch = tonumber(num) | |
| 368 | pitch = tonumber(num) | |
| 369 | end | |
| 370 | if type == "play" then | |
| 371 | if not song or not song.Parent then | |
| 372 | song = Instance.new("Sound",char) song.Volume = vol song.Pitch = pitch song.SoundId = id song.Name = "VisSong" song.Looped = true
| |
| 373 | song:Play() song.TimePosition = timepos | |
| 374 | end | |
| 375 | song.TimePosition = 0 | |
| 376 | song:Play() | |
| 377 | end | |
| 378 | if type == "stop" then | |
| 379 | song:Stop() | |
| 380 | end | |
| 381 | if type == "pause" then | |
| 382 | song:Pause() | |
| 383 | end | |
| 384 | if type == "resume" then | |
| 385 | song:Resume() | |
| 386 | end | |
| 387 | if type == "wave" then | |
| 388 | wave(vispart) | |
| 389 | end | |
| 390 | end) | |
| 391 | end) | |
| 392 | script.Parent = plrg | |
| 393 | script.Name = "VisScript" |