What is the best way to Implement a Debounce in Region3?

Currently, I’m working on my game called Ultimate Lazer Tag and I’m trying to assign the players to either a Blue or Red team.

I used Region3 to find the players in a certain area and teleport them to the appropriate team / part.

– Heres the Code

– Finds players in Area

while gameHasStarted == false do

	wait(5)
	
	local partsInRegion = workspace:FindPartsInRegion3(Region2, nil, 1000)
	
	for i, part in pairs(partsInRegion) do
		
		if not debounce then
			
		debounce = true

		if part.Parent:FindFirstChild("Humanoid") then
			
			print("Player found in the region : " .. part.Parent.Name)
			print("Lets assign him to a team")
			
			local players_Team = addToTeam(part.Parent.Name)

			if  players_Team == true then 

				local char = part.Parent
				local Hrp = char:FindFirstChild("HumanoidRootPart")

				if Hrp then
					Hrp.Position = BluePart.Position 
				end
				
			else if players_Team == false then
				
				local char = part.Parent
				local Hrp = char:FindFirstChild("HumanoidRootPart")
				
				if Hrp then
					Hrp.Position = RedPart.Position
				end
				end
				end
		end 
			
		wait(10)
		debounce = false
			
		end -- debounce
	end
end

–Assigns them to a team

function addToTeam(PlayerName)

	if (#BluePlayers < 6) then
		table.insert(BluePlayers, PlayerName)
			
		print(PlayerName .. " was put in the Blue Team")
			
		return true
	else
		table.insert(RedPlayers, PlayerName)
			
		print(PlayerName .. " was put in the Red Team")
			
		return false
	end
end

PROBLEM

For some reason the debounce doesn’t work. When I tested it with seven players, the region only registered one player and keep assigning him to one team.

I want the Region to find one player, assign him to a team, and then select another player and do the same.

I know a pause in between is necessary since the Region keeps selecting the same player over and over when he hasn’t been teleported yet.

Could anyone help provide some solutions ?

Why are you using region3? Touched Events would work way better and easier here.

If your still set on using region3 try Zone+, they have built in denounce (I think)

1 Like

You’re actually right I’ll try touched events see how it goes.

1 Like