Auto Clicker. Prevent Spam?


self:ConnectClientEvent("AutoClick", function(plr)
        local End1 = GetEndDebounce(plr)
        if End1["deb"] == false then
            End1["deb"] = true
        else
            End1["deb"] = false
        end
        
            while wait(1) do
                local End = GetEndDebounce(plr)
                if End == nil then
                    break
                end
                
                if End["deb"] == false then
                    break
                end
                local Data = DataService:GetNumber(plr)
                Data.Germs += 1
            end
        
        
    end)

If I click button multiple times it spawns a bunch of while wait() do.

How do I prevent this?

try this

self:ConnectClientEvent("AutoClick", function(plr)
        local End1 = GetEndDebounce(plr)
        if End1["deb"] == false then
            End1["deb"] = true
        else
            End1["deb"] = false
        end
        
            while wait() do
                local End = GetEndDebounce(plr)
                if End == nil then
                    break
                end
                
                if End["deb"] == false then
                    break
                end
                End["deb"] = true
                local Data = DataService:GetNumber(plr)
                Data.Germs += 1
                wait(1)
                End["deb"] = true
            end
        
        
    end)


while true do
        RBXWait(0.1)
        for i,v in pairs(Debounce) do
            if v["deb"] == true then
                for _, plr in pairs(game.Players:GetPlayers()) do
                    if v["PlayerID"] == plr.UserId then
                        local Data = DataService:GetNumber(plr)
                        Data.Germs += 1
                    end
                end
            end
        end
    end


Fixed this by literating through a table of all current players.