Anti Fling Universal
Key RequiredUniversal

Anti Fling Universal

Universal ScriptSamuelbarry445Samuelbarry445 975 views 9.8K executesUpdated Sep 13, 2026
Unrated
00
Lua Script•269 lines (9631 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

-- Create GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AntiFlingGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

-- Main Frame
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 200, 0, 120)
MainFrame.Position = UDim2.new(0, 10, 0, 10)
MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
MainFrame.BackgroundTransparency = 0.1
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui

-- Title
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
Title.BorderSizePixel = 0
Title.Text = "ANTI FLING"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 16
Title.Font = Enum.Font.GothamBold
Title.Parent = MainFrame

-- Status Label
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Size = UDim2.new(1, 0, 0, 20)
StatusLabel.Position = UDim2.new(0, 0, 0, 35)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "Status: PROTECTED"
StatusLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
StatusLabel.TextSize = 12
StatusLabel.Font = Enum.Font.Gotham
StatusLabel.Parent = MainFrame

-- Toggle Button
local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0, 100, 0, 30)
ToggleButton.Position = UDim2.new(0.5, -50, 0, 60)
ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
ToggleButton.BorderSizePixel = 0
ToggleButton.Text = "DISABLE"
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.TextSize = 12
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.Parent = MainFrame

-- Settings
local antiFlingEnabled = true
local maxVelocity = 100
local maxAngularVelocity = 50

-- Anti Fling Core System
local function setupAntiFling()
    -- Monitor character parts
    local character = LocalPlayer.Character
    if not character then return end
    
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    
    if not humanoid or not rootPart then return end
    
    -- Store original properties
    local originalAnchored = rootPart.Anchored
    local originalVelocity = rootPart.Velocity
    local originalAngularVelocity = rootPart.RotVelocity
    
    -- Anti-fling protection loop
    RunService.Heartbeat:Connect(function()
        if not antiFlingEnabled then return end
        
        local character = LocalPlayer.Character
        if not character then return end
        
        local rootPart = character:FindFirstChild("HumanoidRootPart")
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        
        if not rootPart or not humanoid then return end
        
        -- Check for excessive velocity
        local velocity = rootPart.Velocity
        local velocityMagnitude = velocity.Magnitude
        
        if velocityMagnitude > maxVelocity then
            -- Reset velocity to prevent fling
            rootPart.Velocity = Vector3.new(0, 0, 0)
            rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
        end
        
        -- Check for excessive angular velocity
        local angularVelocity = rootPart.RotVelocity
        local angularMagnitude = angularVelocity.Magnitude
        
        if angularMagnitude > maxAngularVelocity then
            -- Reset angular velocity
            rootPart.RotVelocity = Vector3.new(0, 0, 0)
            rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
        end
        
        -- Check for teleportation (position jump)
        local currentPos = rootPart.Position
        local lastPos = rootPart:GetAttribute("LastPosition") or currentPos
        
        local distance = (currentPos - lastPos).Magnitude
        if distance > 50 then
            -- Teleport detected, revert position
            rootPart.CFrame = CFrame.new(lastPos)
        end
        
        -- Store current position
        rootPart:SetAttribute("LastPosition", currentPos)
        
        -- Check for anchoring changes
        if rootPart.Anchored ~= originalAnchored then
            rootPart.Anchored = originalAnchored
        end
        
        -- Check for mass changes
        if rootPart:GetAttribute("OriginalMass") == nil then
            rootPart:SetAttribute("OriginalMass", rootPart.AssemblyMass)
        end
        
        -- Prevent mass manipulation
        if rootPart.AssemblyMass > 1000 then
            rootPart:SetAttribute("OriginalMass", rootPart.AssemblyMass)
        end
    end)
    
    -- Monitor all character parts
    for _, part in pairs(character:GetChildren()) do
        if part:IsA("BasePart") then
            -- Store original properties
            part:SetAttribute("OriginalAnchored", part.Anchored)
            part:SetAttribute("OriginalCanCollide", part.CanCollide)
            part:SetAttribute("OriginalMass", part.AssemblyMass)
            
            -- Monitor part changes
            part:GetPropertyChangedSignal("Anchored"):Connect(function()
                if antiFlingEnabled then
                    part.Anchored = part:GetAttribute("OriginalAnchored")
                end
            end)
            
            part:GetPropertyChangedSignal("CanCollide"):Connect(function()
                if antiFlingEnabled then
                    part.CanCollide = part:GetAttribute("OriginalCanCollide")
                end
            end)
        end
    end
    
    -- Monitor humanoid state changes
    humanoid:GetPropertyChangedSignal("StateType"):Connect(function()
        if antiFlingEnabled then
            -- Prevent being put in invalid states
            if humanoid.StateType == Enum.HumanoidStateType.Dead then
                -- Check if actually dead or being exploited
                if humanoid.Health > 0 then
                    humanoid:ChangeState(Enum.HumanoidStateType.Running)
                end
            end
        end
    end)
    
    -- Monitor for fling tools/objects
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local character = player.Character
            if character then
                -- Check for fling tools
                for _, tool in pairs(character:GetChildren()) do
                    if tool:IsA("Tool") then
                        -- Monitor tool usage
                        tool.Activated:Connect(function()
                            if antiFlingEnabled then
                                -- Check if tool is a fling tool
                                if tool.Name:lower():find("fling") or tool.Name:lower():find("launch") then
                                    -- Block the fling
                                    local rootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                                    if rootPart then
                                        rootPart.Velocity = Vector3.new(0, 0, 0)
                                        rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
                                    end
                                end
                            end
                        end)
                    end
                end
            end
        end
    end
end

-- Enhanced Anti-Fling Protection
local function enhancedProtection()
    -- Monitor for velocity attacks
    RunService.RenderStepped:Connect(function()
        if not antiFlingEnabled then return end
        
        local character = LocalPlayer.Character
        if not character then return end
        
        local rootPart = character:FindFirstChild("HumanoidRootPart")
        if not rootPart then return end
        
        -- Check for extreme velocities
        local velocity = rootPart.AssemblyLinearVelocity
        if velocity.Magnitude > 200 then
            rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
        end
        
        -- Check for extreme angular velocities
        local angularVelocity = rootPart.AssemblyAngularVelocity
        if angularVelocity.Magnitude > 100 then
            rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
        end
        
        -- Check for position manipulation
        local currentPos = rootPart.Position
        local lastPos = rootPart:GetAttribute("LastPos") or currentPos
        
        if (currentPos - lastPos).Magnitude > 100 then
            rootPart.CFrame = CFrame.new(lastPos)
        end
        
        rootPart:SetAttribute("LastPos", currentPos)
    end)
end

-- Toggle button functionality
ToggleButton.MouseButton1Click:Connect(function()
    antiFlingEnabled = not antiFlingEnabled
    if antiFlingEnabled then
        ToggleButton.Text = "DISABLE"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
        StatusLabel.Text = "Status: PROTECTED"
        StatusLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
    else
        ToggleButton.Text = "ENABLE"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(150, 0, 0)
        StatusLabel.Text = "Status: UNPROTECTED"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 0, 0)
    end
end)

-- Initialize anti-fling
LocalPlayer.CharacterAdded:Connect(function(character)
    wait(0.5)
    setupAntiFling()
end)

if LocalPlayer.Character then
    setupAntiFling()
end

enhancedProtection()

print("Anti Fling script loaded successfully!")
print("Protection against flinging enabled")

Features & Information

We Will fix This Soon
#Lol#Anti Flings

Community Comments (1)

Samuelbarry445Samuelbarry445Sep 21, 2026

my username: Plsdo12345

More Scripts for Universal Scripts