Updated!!!!
I managed to fix the last issue with raid6n's suggestion. However I still have issues with this. My problem now is that when the user does not own badge the "note.Visible = true" doesn't make the note appear. Someone told me it's because the StarterGui... blah blah get moved somewhere else. That's all I remember, can someone help with that?
local note = game.StarterGui.MainGui.Note
local player = game:GetService("Players")
local badgeid = 2124518313
local BadgeService = game:GetService("BadgeService")
player.PlayerAdded:Connect(function(player)
if BadgeService:UserHasBadgeAsync(player.UserId, badgeid) then
print("User owns badge, do not display note.")
else
print("User does not own badge, display note.")
note.Visible = true
end
end)

3 comments
Is this in the StarterGui?
Yes, it is. Should i put it somewhere else? Sorry I'm still trying to learn this
Okay yeah, I just tried using serverscriptstorage and it prints line 08.