I've been designing a GUI so that when a person has enough points on the leaderboard he can go into the shop GUI and click the 'buy badge' button that will then award him the badge if they have enough leaderboard points.
local badgeID = 000000 -- replace this with the badge's ID local badgeService = game:GetService("BadgeService") -- you can get the player yourself script.Parent.MouseButton1Click:Connect(function() -- assuming the script is in the button if player.Data.Points.Value >= 1000 then badgeService:AwardBadge(player.userId, badgeID) end end)
that should work, if not, oh well, i typed it here. you can look on the wiki and fix it yourself.