Hello, it’s became clear to me that some players still are having trouble with exploiters sending players to the void in their games. I have come with a patch for that, simply a server script in SSS.
local Players = game:GetService("Players");
local WaitTime, DetectedPlayers = 2.5, {};
function Connect(func, ...)
return func:Connect(...)
end
function newThread(func, ...)
return coroutine.wrap(func)(...)
end
function CharacterCheck(Character)
if not Character then return end
if not Character:FindFirstChild("HumanoidRootPart") then return end
return Character
end
function getHumanoid(Character)
if not Character then return end
if not Character:FindFirstChild("Humanoid") then return end
if Character.Humanoid.Health <= 0 then return end
return Character.Humanoid
end
local PlayersConnection = Connect(Players.PlayerAdded, function(player)
Connect(player.CharacterAdded, function(char)
char:WaitForChild("Humanoid", 5)
char.DescendantRemoving:Connect(function(desc)
if desc:IsA("Humanoid") then
player:Kick()
end
end)
end)
end)
newThread(function()
while task.wait(WaitTime) do
for _, Player in next, Players:GetPlayers() do
local Character = CharacterCheck(Player.Character)
if Character then
local Humanoid = getHumanoid(Character)
if not Humanoid then
table.insert(DetectedPlayers, Player)--this is here for my flagging exploiters command
end
end
end
end
end)