For some reason, it isn't working for me, and keeps saying the same error in the Output, the Output says 16:10:30.080 - Players.Player1.PlayerGui.AudioPlayer\.MainScript:43: attempt to index upvalue 'LolDescr' (a nil value)
16:10:30.083 - Stack Begin
16:10:30.084 - Script 'Players.Player1.PlayerGui.AudioPlayer\.MainScript', Line 43
16:10:30.086 - Stack End
, but I don't know what I'm doing wrong, and I can't figure out how to fix it, here is the script;
--Audio Player, brought to you by TheeDeathCaster repeat wait(0)until game.Players.LocalPlayer and game.Players.LocalPlayer:FindFirstChild("PlayerGui", true) and script.Parent and script.Parent:FindFirstChild("Frame", true) and script.Parent.Frame:FindFirstChild("AudioID", true) and script.Parent.Frame:FindFirstChild("Confirm", true) and script.Parent.Frame:FindFirstChild("Description", true) and script.Parent.Frame:FindFirstChild("NameOfAudio") --------------- -- SETTING -- --------------- local resetSongOnDeath = false --Set to true if you want the sound to stop onDeath, false if you don't ----------------- -- Main Script -- ----------------- local plr = game.Players.LocalPlayer local Frame = script.Parent.Frame local AudioId = Frame.AudioID local Confirm = Frame.Confirm local NameOfAudio = Frame.NameOfAudio local Desc = Frame.Description local SongName = nil local LolDescr = nil local SongId = nil if plr:FindFirstChild("NameOfSong") and plr:FindFirstChild("DescOfSong") and plr:FindFirstChild("SongId") then local SongName = plr.NameOfSong NameOfAudio.Text = SongName.Value local LolDescr = plr.DescOfSong Desc.Text = LolDescr.Value local SongId = plr.SongId AudioId.Text = SongId.Value else local SongName = Instance.new("StringValue",plr) SongName.Name = "NameOfSong" local LolDescr = Instance.new("StringValue",plr) LolDescr.Name = "DescOfSong" local SongId = Instance.new("StringValue",plr) SongId.Name = "SongId" end AudioId.FocusLost:connect(function() local Asset = game:GetService("MarketplaceService"):GetProductInfo(AudioId.Text) Desc.Text = Asset.Description LolDescr.Value = Desc.Text NameOfAudio.Text = Asset.Name SongName.Value = NameOfAudio.Text SongId.Value = AudioId.Text return true end) local function CreateAudio(ID) for i,v in pairs(plr:GetChildren()) do if v:IsA("Sound") then v:Destroy() end end local Sound = Instance.new("Sound") Sound.SoundId = "http://www.roblox.com/asset/?id="..ID Sound.Looped = true Sound.archivable = false if resetSongOnDeath then Sound.Parent = plr.PlayerGui else Sound.Parent = plr end repeat Sound:Play() wait(2.5) Sound:Stop() wait(.5) Sound:Play() until Sound.IsPlaying end Confirm.MouseButton1Down:connect(function() CreateAudio(AudioId.Text) AudioId.Text = "Type ID" end) plr.Chatted:connect(function(msg) if msg:lower():sub(1,2) == "a/" then for i,v in pairs(plr:GetChildren()) do if v:IsA("Sound") then v:Destroy() end end local Sound = Instance.new("Sound",plr) Sound.SoundId = "http://www.roblox.com/asset/?id="..msg:sub(3) Sound.Looped = true Sound.archivable = false repeat Sound:Play() wait(2.5) Sound:Stop() wait(.5) Sound:Play() until Sound.IsPlaying local Azzet = game:GetService("MarketplaceService"):GetProductInfo(msg:sub(3)) Desc.Text = Azzet.Description LolDescr.Value = Desc.Text NameOfAudio.Text = Azzet.Name SongName.Value = NameOfAudio.Text SongId.Value = AudioId.Text return true end return false end)