I want to make it so if you have a badge, you get a gear. What's wrong with this! It all checks out in my knowledge so I have no idea...
local BadgeService = Game:GetService('BadgeService')
game.Players.PlayerAdded:connect(function(player)
if BadgeService:UserHasBadge(player.userId, 158464344) then
repeat wait() until player.StarterGear
game.Lighting["TesterBike"]:Clone().Parent = player.StarterGear
end end)
There's an IntValue named GamePassId as a child to this. There is also an asset loader with IntValue's of the awardable gear.

2 comments
I've since changed the script slightly but based it around your answer. It still doesn't work. I updated the origional question with the new slightly changed script.
Wait, no need. I'm just an idiot. :P It works perfectly!