Music requester not working?

So im trying to update this script i found, and get it work like its supposed to, but it doesn’t seem to do it? I request a song and itll do the “got request” print along with the b and e prints, but then no song, any help? Not to mention, I had to unscramble it to the best of my ability because this whole text was in one single line.

wait(2)
local Musics = {1,2,3,4,5,6,7,8,9,10}
Musics[1] = 2717313062 --king von
Musics[2] = 6010734881 --lil uzi
Musics[3] = 6371179964 --#BrooklynBloodPop!
Musics[4] = 6779368995 --Trippie Red Ft PIayboixCarti - Miss The Rage
Musics[5] = 6745055536 --Pop Smoke - PTSD
Musics[6] = 6406029368 --Dollarboyz - Mix
Musics[7] = 6054246833 --Pop Smoke - Jewels
Musics[8] = 3170880673 --Calboy - Caroline ft. Polo G
Musics[9] = 2911661252 --Gunna - bigshot
Musics[10] = 2642463653 --shinners 13


math.randomseed(tick())

local MusicNumbers = 11
local a = game:GetService("MarketplaceService")

local d = 1175594133 

local g = {}

local h = {}

local f = {}

local i = workspace.Song 

local function e()
	i.TimePosition = 0 
	if #h == 0 then 
		local a = math.random(1,#Musics)
		local b = Musics[a]i.Requested.Value = "" 
		i.SoundId = "rbxassetid://"..b i:Play()
		table.insert(g,b)table.remove(Musics,a)
	else 
		local a=h[1]i.Requested.Value = f[1]i.SoundId = "rbxassetid://"..a i:Play()
		table.remove(h,1)table.remove(f,1)
	end 
end

local function c()
	if #g == MusicNumbers then 
		Musics = g g = {}
		for a,a in pairs(Musics)do
		e()
		end 
	end 
end

local function b(c,b)
	if c:FindFirstChild("BoughtRequest")then
		c.BoughtRequest:Destroy()
		table.insert(h,b)table.insert(f,c.Name)
	elseif
		a:UserOwnsGamePassAsync(c.UserId,d) then 
		table.insert(h,b)table.insert(f,c.Name)
	end 
end

game.ReplicatedStorage:WaitForChild("Request").OnServerEvent:Connect(b)
print("got request")
print(b)

i.Ended:Connect(e)
print(e)
e()

while wait() do 
	c()
end