Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why is my badge script not working, and asking me to use MarketplaceService:PlayerOwnsAsset??

I tried to make a you joined badge, but my script didn't work. My script is:


local badgeID = 2124480512
local badgeService = game:GetService("BadgeService")
function onEntered(player)
	wait(1)
	if not badgeService:UserHasBadge(player.UserId, badgeID) then
		badgeService:AwardBadge(player.UserId, badgeID)
		print(player.Name.." has recived a beta tester badge!")
	end
end
 
game.Players.PlayerAdded:Connect(onEntered)

It returns the error "BadgeId '2124480512' is not of type Badge. Please use MarketplaceService:PlayerOwnsAsset instead." I don't know how to fix this! Please help!

1 comment

1 answer

✓ Accepted answer

Well for starters '2124480512' isn't a badge it's This Shirt Template

-- referenced from the wiki

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService('Players')

local EnterBadgeID = 0000000000

local function awardBadge(player,id)
	if not BadgeService:UserHasBadgeAsync(player.UserId,id) then
		BadgeService:AwardBadge(player.UserId,id)
		print('Badge awarded')
	end
end

Players.PlayerAdded:Connect(function(Player)
	awardBadge(Player,EnterBadgeID)
end)

This discussion is preserved as it was. New answers, comments, and votes are closed.