Player won't teleport to map when lagging

I made a system where everyone teleport to a map and is given a sword. But the issue is when someone is lagging, they won’t get teleported and is still given a sword, meaning they have the ability to kill anyone in the lobby. Is there anyway to fix this problem? Thank you for reading.

Here is a simplified script that I put for teleporting people:

local AvailableMaps = MapsFolder:GetChildren()

local ChosenOne = AvailableMaps[math.random(1, #AvailableMaps)]

local ClonedMap = ChosenOne:Clone()
ClonedMap.Parent = workspace
	
local tag = game.ReplicatedStorage:WaitForChild("tag")
tag.Value = ClonedMap.Name

character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame
table.remove(AvailableSpawnPoints, 1)

Personally to teleport I like to use character:MoveTo(vec3) instead of moving the hrp directly. That might fix your issue, but I’m not too optimistic. I’ve never run into any situation where my teleports haven’t worked.

The only thing I can suggest if trying the above doesn’t somehow fix it is to maybe add a task.delay that does the equipping that checks that they are actually near where they were supposed to be teleported to. You could potentially even try a second teleport then, but at the very least it should prevent a lobby player from being given a sword.