Quick actions

cmd+k|ctrl+k

Navigation

Languages

portable metadata

Snippet info

Language

Lua

Visibility

public

Author

typicaalusername

Created

2024-06-09T17:05:03.014763Z

Updated

2024-09-10T21:20:50.388672Z

local args = {...}
local owner : Player = owner

local char = owner.Character
local plr = owner

local BillboardGui0 = Instance.new("BillboardGui")
local Frame1 = Instance.new("Frame")
local title = Instance.new("TextLabel")
local artists = Instance.new("TextLabel")
local Frame4 = Instance.new("Frame")
local real = Instance.new("Frame")
local cover = Instance.new("ImageLabel")
local max = Instance.new("TextLabel")
local cur = Instance.new("TextLabel")

BillboardGui0.Parent = owner.Character.Head
BillboardGui0.Size = UDim2.new(20, 0, 2.5, 0)
BillboardGui0.Active = true
BillboardGui0.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
BillboardGui0.StudsOffset = Vector3.new(0, 3, 0)

Frame1.Parent = BillboardGui0
Frame1.Size = UDim2.new(1, 0, 1, 0)
Frame1.BackgroundColor = BrickColor.new("Institutional white")
Frame1.BackgroundColor3 = Color3.new(1, 1, 1)
Frame1.BackgroundTransparency = 1
Frame1.BorderColor = BrickColor.new("Really black")
Frame1.BorderColor3 = Color3.new(0, 0, 0)
Frame1.BorderSizePixel = 0

title.Name = "title"
title.Parent = Frame1
title.Position = UDim2.new(0.5, 0, 0.0500000007, 0)
title.Size = UDim2.new(0.5, 0, 0.300000012, 0)
title.AnchorPoint = Vector2.new(0.5, 0)
title.BackgroundColor = BrickColor.new("Institutional white")
title.BackgroundColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.BorderColor = BrickColor.new("Really black")
title.BorderColor3 = Color3.new(0, 0, 0)
title.BorderSizePixel = 0
title.Font = Enum.Font.Ubuntu
title.FontSize = Enum.FontSize.Size18
title.Text = "nil"
title.TextColor = BrickColor.new("Institutional white")
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.TextSize = 18
title.TextWrap = true
title.TextWrapped = true

artists.Name = "artists"
artists.Parent = Frame1
artists.Position = UDim2.new(0.5, 0, 0.4, 0)
artists.Size = UDim2.new(0.449999988, 0, 0.160000003, 0)
artists.AnchorPoint = Vector2.new(0.5, 0)
artists.BackgroundColor = BrickColor.new("Institutional white")
artists.BackgroundColor3 = Color3.new(1, 1, 1)
artists.BackgroundTransparency = 1
artists.BorderColor = BrickColor.new("Really black")
artists.BorderColor3 = Color3.new(0, 0, 0)
artists.BorderSizePixel = 0
artists.Font = Enum.Font.Ubuntu
artists.FontSize = Enum.FontSize.Size18
artists.Text = "nil"
artists.TextColor = BrickColor.new("Institutional white")
artists.TextColor3 = Color3.new(1, 1, 1)
artists.TextScaled = true
artists.TextSize = 18
artists.TextWrap = true
artists.TextWrapped = true

local albumname = artists:Clone()
albumname.Name = "albums"
albumname.Parent = artists.Parent
albumname.Position = UDim2.new(0.5, 0, 0.55, 0)

Frame4.Name = "line"
Frame4.Parent = Frame1
Frame4.Position = UDim2.new(0.5, 0, 0.850000024, 0)
Frame4.Size = UDim2.new(0.949999988, 0, 0, 2)
Frame4.AnchorPoint = Vector2.new(0.5, 0)
Frame4.BackgroundColor = BrickColor.new("Dark grey metallic")
Frame4.BackgroundColor3 = Color3.new(0.333333, 0.333333, 0.333333)
Frame4.BorderColor = BrickColor.new("Really black")
Frame4.BorderColor3 = Color3.new(0, 0, 0)
Frame4.BorderSizePixel = 0

real.Name = "real"
real.Parent = Frame4
real.Position = UDim2.new(0, 0, 0.5, 0)
real.Size = UDim2.new(0, 0, 1.1, 0)
real.AnchorPoint = Vector2.new(0, 0.5)
real.BackgroundColor = BrickColor.new("Silver flip/flop")
real.BackgroundColor3 = Color3.new(1,1,1)
real.BorderColor = BrickColor.new("Really black")
real.BorderColor3 = Color3.new(0, 0, 0)
real.BorderSizePixel = 0
real.ZIndex = 99999999

cover.Parent = Frame1
cover.Position = UDim2.new(0.0649999976, 0, 0.0250000004, 0)
cover.Size = UDim2.new(0.0806451589, 0, 0.649350643, 0)
cover.AnchorPoint = Vector2.new(0.5, 0)
cover.BackgroundColor = BrickColor.new("Institutional white")
cover.BackgroundColor3 = Color3.new(1, 1, 1)
cover.BorderColor = BrickColor.new("Really black")
cover.BorderColor3 = Color3.new(0, 0, 0)
cover.BorderSizePixel = 0
cover.Image = "rbxasset://textures/ui/GuiImagePlaceholder.png"

max.Name = "max"
max.Parent = Frame1
max.Position = UDim2.new(0.725000024, 0, 0.675000012, 0)
max.Size = UDim2.new(0.25, 0, 0.174999997, 0)
max.BackgroundColor = BrickColor.new("Institutional white")
max.BackgroundColor3 = Color3.new(1, 1, 1)
max.BackgroundTransparency = 1
max.BorderColor = BrickColor.new("Really black")
max.BorderColor3 = Color3.new(0, 0, 0)
max.BorderSizePixel = 0
max.Font = Enum.Font.Gotham
max.FontSize = Enum.FontSize.Size14
max.Text = "0:00"
max.TextColor = BrickColor.new("Institutional white")
max.TextColor3 = Color3.new(1, 1, 1)
max.TextScaled = true
max.TextSize = 14
max.TextWrap = true
max.TextWrapped = true
max.TextXAlignment = Enum.TextXAlignment.Right

cur.Name = "cur"
cur.Parent = Frame1
cur.Position = UDim2.new(0.275000006, 0, 0.675000012, 0)
cur.Size = UDim2.new(-0.25, 0, 0.174999997, 0)
cur.BackgroundColor = BrickColor.new("Institutional white")
cur.BackgroundColor3 = Color3.new(1, 1, 1)
cur.BackgroundTransparency = 1
cur.BorderColor = BrickColor.new("Really black")
cur.BorderColor3 = Color3.new(0, 0, 0)
cur.BorderSizePixel = 0
cur.Font = Enum.Font.Gotham
cur.FontSize = Enum.FontSize.Size14
cur.Text = "0:00"
cur.TextColor = BrickColor.new("Institutional white")
cur.TextColor3 = Color3.new(1, 1, 1)
cur.TextScaled = true
cur.TextSize = 14
cur.TextWrap = true
cur.TextWrapped = true
cur.TextXAlignment = Enum.TextXAlignment.Left

--// music

local songDatas = {
	me_and_my_b = 	{
		Title = "Me and My B****";
		Artist = "The Notorious B.I.G.";
		SongId = "17795848239";
		Album = "Ready To Die";
		PlaybackSpeed = 1.666666666666667;
		AlbumCover = "rbxassetid://17796568030";
	};
	gimme_the_loot = 	{
		Title = "Gimme the Loot";
		Artist = "The Notorious B.I.G.";
		SongId = "17795713263";
		Album = "Ready To Die";
		PlaybackSpeed = 1.666666666666667;
		AlbumCover = "rbxassetid://17796568030";
	};
	meet_the_grahams = 	{
		Title = "meet the grahams";
		Artist = "Kendrick Lamar";
		SongId = "17787369289";
		Album = "meet the grahams";
		PlaybackSpeed = .6;
		AlbumCover = "rbxassetid://11314733306";
	};
	smells_like_teen_spirit = 	{
		Title = "Smells Like Teen Spirit";
		Artist = "Nirvana";
		SongId = "17780367727";
		Album = "Nevermind (Remastered)";
		PlaybackSpeed = 1.6667;
		AlbumCover = "rbxassetid://11979338687";
	};
	turban = {
		Title = "Turban 🅴";
		Artist = "Yeat";
		Album = "Up 2 Më";
		SongId = "16465951259";
		PlaybackSpeed = 3.3333;
		AlbumCover = "rbxassetid://15545861617";
	};
	sir_baudelaire = {
	    Title = "SIR BAUDELAIRE 🅴";
	    Artist = "Tyler, The Creator";
	    Album = "CALL ME IF YOU GET LOST";
	    SongId = "117002243978932";
	    PlaybackSpeed = 1.667;
	    AlbumCover = "rbxassetid://13763389629";
	};
	jennifers_body = {
		Title = "Jennifer's Body";
		Artist = "Ken Carson";
		Album = "A Great Chaos";
		SongId = "17798563730";
		PlaybackSpeed = 1.666666666666667;
		AlbumCover = "rbxassetid://15070662042";
	};
	carti_2024 = {
		Title = "2024";
		Artist = "Playboi Carti";
		Album = "2024";
		SongId = "17800323259";
		PlaybackSpeed = 1.666666666666667;
		AlbumCover = "rbxassetid://17303981964";
	};
	thunderstruck = {
	    Title = "Thunderstruck";
	    Artist = "AC/DC";
	    Album = "The Razor's Edge";
	    SongId = "17817294196";
	    PlaybackSpeed = 1.6666667;
	    AlbumCover = "rbxassetid://48449570";
	};
	vicarious = {
	    Title = "Vicarious";
	    Artist = "TOOL";
	    Album = "10,000 Days";
	    SongId = "18493973276";
	    PlaybackSpeed = 1;
	    AlbumCover = "rbxassetid://18494028858";
	};
	boom = {
	    Title = "Boom, Boom, Boom, Boom!!";
	    Artist = "Vengaboys";
	    Album = "The Party Album!";
	    SongId = "75751516445403";
	    PlaybackSpeed = 1.667;
	    AlbumCover = "rbxassetid://131352399516359";
	};	
	family_guy = {
	    Title = "Family Guy 🅴";
	    Artist = "Yuno Miles, BRBLuhTim";
	    Album = "Go On Tour Yuno";
	    SongId = "136653489242350";
	    PlaybackSpeed = 1.667;
	    AlbumCover = "rbxassetid://138762719252477";
	};
}

local currentData = songDatas.thunderstruck

local function Format(Int)
	return string.format("%02i", Int)
end

local function convertToHMS(Seconds)
	local Minutes = (Seconds - Seconds%60)/60
	Seconds = Seconds - Minutes*60
	local Hours = (Minutes - Minutes%60)/60
	Minutes = Minutes - Hours*60
	return Format(Minutes)..":"..Format(Seconds)
end

local volume = .5
local music
local function setupSound()
	if not music or not music:IsDescendantOf(workspace) then
		pcall(game.Destroy, music)
		music = Instance.new("Sound", char.Head)
		music.SoundId = "rbxassetid://"..tostring(currentData.SongId)
		music.PlaybackSpeed = currentData.PlaybackSpeed
		music.TimePosition = musiclastpos
		music.Looped = true
		music.Volume = volume
		music:Resume()
	else
		music.SoundId = "rbxassetid://"..tostring(currentData.SongId)
		music.PlaybackSpeed = currentData.PlaybackSpeed
		music.Looped = true
		music.Volume = volume
		musiclastpos = music.TimePosition
		music:Resume()
	end
	if music.TimePosition > music.TimeLength-.3 and music.IsLoaded == true then
		musiclastpos = 0
		music.TimePosition = 0
	end
end

setupSound()

local handler

local switching = false
local function playSong(name)
	currentData = songDatas[name]

	cover.Image = currentData.AlbumCover
	title.Text = currentData.Title
	artists.Text = currentData.Artist
	albumname.Text = currentData.Album

	musiclastpos = 0
	music:Play()
	
    game:service"RunService".Heartbeat:wait()
    switching = false
end

handler = game:GetService("RunService").Heartbeat:Connect(function()
	setupSound()
	
	local timepos = music.TimePosition/music.PlaybackSpeed
	local max1 = music.TimeLength/music.PlaybackSpeed
	
	cur.Text = convertToHMS(timepos)
	max.Text = convertToHMS(max1)

	if music then
	    real.Size = real.Size:Lerp(UDim2.new(math.clamp(timepos/max1,0,1),0,1,0),.15)
	end
end)

owner.Chatted:Connect(function(text)
    if text:sub(1,4) == "/pl " then
        local thing = text:sub(5)
        switching = true
        playSong(thing)
    elseif text:sub(1,5) == "/vol " then
        local lol = text:sub(6)
        volume = tonumber(lol)
    end
end)

playSong(args[1] or "meet_the_grahams")
INFO