Would this script work?

This is a module script in ServerStorage

local BadgeService = game:GetService("BadgeService")

local Badges = {}

	function Badges.Award(plr, level, prestige)
		if plr.userId > 0 then
			if level >= 5 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if level >= 10 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if level >= 25 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if level >= 40 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if prestige >= 3 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if prestige >= 5 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
			if prestige >= 10 then
				BadgeService:AwardBadge(plr.userId, 0)
			end
		end
	end

return Badges

What does prestige use for? You didn’t even use it once.

This is not good because for example, if you are level 10 it will run both if statement 1 and 2. And this system can reward badges that is already given before. Add a check to see if the player has that badge.

1 Like

Do

if level >= 5 and level <= 10 then
...

Or multiple of them would execute.
This basically means 5 to 10.

1 Like

It may work. But, I recommend checking if the Player is already owning the badge and just put it under a while loop.

1 Like

Btw we have been teleported to a oders game while playing roblox. I reported the game and contact roblox support. Ugh I was about to finish my work :expressionless:

1 Like