Inside a frame. I saw no errors in playergui, i'm assuming you can't use localscripts only anymore for this kind of thing?
local player = game:GetService("Players").LocalPlayer;
local badgeService = game:GetService("BadgeService");
local badges = {
["Quest3"] = 301120238; --Old Relic
["Quest4"] = 301255750; --Clubhouse
["Quest1"] = 301312711; --Sinister S
["Quest2"] = 301313676; --Sinister T
["Quest6"] = 301369069; --Werewolf
["StarterQuest"] = 301496648; --Played
["BonusQuest"] = 301550493; --Witch house
["Quest7"] = 301977190; --Blizzaria the Frozen
["Quest5"] = 302199109; --Scared Civilian
["Quest9"] = 2124615500; --Dusekkar
["Quest8"] = 2124615488;
};
local function updateText()
local stuff = {}
if #stuff ~= 0 then
for i, remove in pairs(stuff) do
table.remove(stuff, stuff[i])
end
end
for _,v in pairs(script.Parent:GetChildren()) do
if v:IsA("ImageLabel") then
table.insert(stuff, v.Name)
end
end
for _, update in pairs(stuff) do
local success, hasBadge = pcall(function()
return badgeService:UserHasBadgeAsync(player.UserId, badges[tostring(update)])
end)
if hasBadge then
script.Parent[tostring(update)].Owned.Text = "Complete"
else
return
end
end
end
script.Parent.Parent:GetPropertyChangedSignal("Visible"):Connect(function()
if script.Parent.Parent.Visible == true then
updateText()
else
return
end
end)
