MADE BY (UNKOWN)
FEATURE:
- ANTI FLING
-- // Constants \\ --
-- [ Services ] --
local Services = setmetatable({}, {__index = function(Self, Index)
local NewService = game.GetService(game, Index)
if NewService then
Self[Index] = NewService
end
return NewService
end})
-- [ LocalPlayer ] --
local LocalPlayer = Services.Players.LocalPlayer
-- // Functions \\ --
local function PlayerAdded(Player)
local Detected = false
local Character;
local PrimaryPart;
local function CharacterAdded(NewCharacter)
Character = NewCharacter
repeat
wait()
PrimaryPart = NewCharacter:FindFirstChild("HumanoidRootPart")
until PrimaryPart
Detected = false
end
CharacterAdded(Player.Character or Player.CharacterAdded:Wait())
Player.CharacterAdded:Connect(CharacterAdded)
Services.RunService.Heartbeat:Connect(function()
if (Character and Character:IsDescendantOf(workspace)) and (PrimaryPart and PrimaryPart:IsDescendantOf(Character)) then
if PrimaryPart.AssemblyAngularVelocity.Magnitude > 50 or PrimaryPart.AssemblyLinearVelocity.Magnitude > 100 then
if Detected == false then
game.StarterGui:SetCore("ChatMakeSystemMessage", {
Text = "Fling Exploit detected, Player: " .. tostring(Player);
Color = Color3.fromRGB(255, 200, 0);
})
end
Detected = true
for i,v in ipairs(Character:GetDescendants()) do
if v:IsA("BasePart") then
v.CanCollide = false
v.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
v.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
v.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0)
end
end
PrimaryPart.CanCollide = false
PrimaryPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
PrimaryPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
PrimaryPart.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0)
end
end
end)
end
-- // Event Listeners \\ --
for i,v in ipairs(Services.Players:GetPlayers()) do
if v ~= LocalPlayer then
PlayerAdded(v)
end
end
Services.Players.PlayerAdded:Connect(PlayerAdded)
local LastPosition = nil
Services.RunService.Heartbeat:Connect(function()
pcall(function()
local PrimaryPart = LocalPlayer.Character.PrimaryPart
if PrimaryPart.AssemblyLinearVelocity.Magnitude > 250 or PrimaryPart.AssemblyAngularVelocity.Magnitude > 250 then
PrimaryPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
PrimaryPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
PrimaryPart.CFrame = LastPosition
game.StarterGui:SetCore("ChatMakeSystemMessage", {
Text = "You were flung. Neutralizing velocity.";
Color = Color3.fromRGB(255, 0, 0);
})
elseif PrimaryPart.AssemblyLinearVelocity.Magnitude < 50 or PrimaryPart.AssemblyAngularVelocity.Magnitude > 50 then
LastPosition = PrimaryPart.CFrame
end
end)
end)