I think I know what's wrong but how should I fix it?

local rs = game:GetService("ReplicatedStorage")
local button = script.Parent
local player = game.Players.LocalPlayer
local ls = player:FindFirstChild("leaderstats")
local tName = player:FindFirstChild("TitleName")
local titles = player:FindFirstChild("Titles")
local scrollingFrame = script.Parent.ScrollingFrame
local playerUserId = player.UserId
local BadgeService = game:GetService("BadgeService")
player:WaitForChild("leaderstats")
ls:WaitForChild("Bits")
ls:WaitForChild("Wins")

local wins = ls:FindFirstChild("Wins")
local bits = ls:FindFirstChild("Bits")

----------------------------------------------------------------

for i,v in pairs(scrollingFrame:GetChildren()) do
	if v.Name ~= "UIGridLayout" and v.Name ~= "Button" then	
v.MouseEnter:Connect(function()
	v.ImageColor3 = Color3.new(0.85098, 0.85098, 0.85098)
end)

v.MouseLeave:Connect(function()
	v.ImageColor3 = Color3.new(1, 1, 1)
	end)
		
		local YouPlayedbadgeID = 2124696588
		local FirstWinBadgeID = 2124696592
		local FiveWinsBadgeID = 2124696594
		local TenWinsBadgeID = 2124696595
		local TwentyFiveBadgeID = 2124696596
		local FiftyWinsBadgeID = 2124710668
		local OneHundredBadgeID = 2124712871
		local FiveHundredBadgeID = 2124712872
		local OneTousandBadgeID = 2124712874
		local StacksofBitsBadgeID = 2124712876
		local PileofBitsBadgeID = 2124712877
		local WhealtyBadgeID = 2124712879
		local RichBadgeID = 2124712880		
		
		local db = true
		local db2 = true
		local db3 = true
		local db4 = true 
		local db5 = true 
		local db6 = true
		local db7 = true
		local db8 = true

		wins:GetPropertyChangedSignal("Value"):Connect(function()
			if BadgeService:UserHasBadgeAsync(playerUserId,FirstWinBadgeID) and v.Name == "1" and db == true then --First Win
				db = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
			wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,FiveWinsBadgeID) and v.Name == "2" and db2 == true then --5 Wins
				db2 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
			wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,TenWinsBadgeID) and v.Name == "3" and db3 == true then --10 Wins
				db3 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
			wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,TwentyFiveBadgeID) and v.Name == "4" and db4 == true then --25 Wins
				db4 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,FiftyWinsBadgeID) and v.Name == "5" and db5 == true then --50 Wins
				db5 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,OneHundredBadgeID) and v.Name == "6" and db6 == true then --100 Wins
				db6 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,FiveHundredBadgeID) and v.Name == "7" and db7 == true then --500 Wins
				db7 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()	
			elseif BadgeService:UserHasBadgeAsync(playerUserId,OneTousandBadgeID) and v.Name == "8" and db8 == true then --1,000 Wins
				db8 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
			end
		end)
		local db9 = true
		local db10 = true
		local db11 = true
		local db12 = true
		bits:GetPropertyChangedSignal("Value"):Connect(function()
			if BadgeService:UserHasBadgeAsync(playerUserId,StacksofBitsBadgeID) and v.Name == "9" and db9 == true then --1,000 Bits --Stacks of Bits
				db9 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,PileofBitsBadgeID) and v.Name == "a" and db10 == true then --10,000 Bits --Pile of Bits
				db10 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,WhealtyBadgeID) and v.Name == "b" and db11 == true then --50,000 Bits --Whealty
				db11 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
				wait()
			elseif BadgeService:UserHasBadgeAsync(playerUserId,RichBadgeID) and v.Name == "c" and db12 == true then --100,000 Bits --Rich
				db12 = false
				v.Image = "rbxassetid://6574159567"
				v.Locked.Text = "Unlocked"
				v.Locked.Position = UDim2.new(0.107, 0,0.75, 0)
				v.Locked.Required.Visible = false
				button.InfoFrame.Size = UDim2.new(0,0,0)
			end
		end)
	end
end

1 comment

0

It's Actually In-Script Bugs, Because You have Used 157 Texts For Badges. If you need On-TOUCH Award Badge Script Try this script.Parent.Touched:Connect(function(part) if part.Parent:FindFirstChild('Humanoid') then local player =game.Players:GetPlayerFromCharacter(part.Parent) game:GetService("BadgeService"):AwardBadge(player.UserID, "your code") end end)