touch fling script by skondo
Key RequiredUniversal

touch fling script by skondo

Universal ScriptThatBoySaiThatBoySai 19.2K views 813 executesUpdated Jun 14, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•100 lines (4811 chars)
--[[ # Touch fling by skondoooo92 
      # Server is "https://discord.gg/4THYgrRQd3" - don't join if ur gay
      # Yt channel: https://www.youtube.com/@its-skondo
      # Showcase of this script: https://youtu.be/oKFM8vhVguE
]]--

local Players, RunService = game:GetService("Players"), game:GetService("RunService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid, rootPart = character:WaitForChild("Humanoid"), character:WaitForChild("HumanoidRootPart")
local watermark = loadstring(game:HttpGet("https://raw.githubusercontent.com/ProphecySkondo/Misc/refs/heads/main/watermark.lua"))()
local FLING_POWER, flingEnabled, SELF_PROTECTION, lastFlingTime = 16.5, false, true, {}

isValidTarget = function(targetCharacter)
    if not targetCharacter or targetCharacter == character then return false end
    local targetPlayer = Players:GetPlayerFromCharacter(targetCharacter)
    if not targetPlayer or targetPlayer == player then return false end
    local currentTime = tick()
    if lastFlingTime[targetPlayer.UserId] and (currentTime - lastFlingTime[targetPlayer.UserId]) < 0.5 then return false end
    return true, targetPlayer
end

flingTarget = function(targetCharacter)
    local isValid, targetPlayer = isValidTarget(targetCharacter)
    if not isValid then return end
    local targetRootPart, targetHumanoid = targetCharacter:FindFirstChild("HumanoidRootPart"), targetCharacter:FindFirstChildOfClass("Humanoid")
    if not targetRootPart or not targetHumanoid then return end
    lastFlingTime[targetPlayer.UserId] = tick()
    local direction = (targetRootPart.Position - rootPart.Position).Unit
    local flingVelocity = direction * FLING_POWER * 50 + Vector3.new(0, FLING_POWER * 2, 0)
    targetRootPart.Velocity, targetRootPart.AssemblyLinearVelocity = flingVelocity, flingVelocity
    targetRootPart.AssemblyAngularVelocity = Vector3.new(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
    print("Flung:", targetCharacter.Name)
end

startFling = function()
    spawn(function()
        while flingEnabled do
            RunService.Heartbeat:Wait()
            if character and character.Parent then
                local currentRootPart = character:FindFirstChild("HumanoidRootPart")
                if currentRootPart then
                    local originalVel = currentRootPart.Velocity
                    currentRootPart.Velocity = originalVel * 10000 + Vector3.new(0, 10000, 0)
                    RunService.RenderStepped:Wait()
                    currentRootPart.Velocity = originalVel
                    RunService.Stepped:Wait()
                    currentRootPart.Velocity = originalVel + Vector3.new(0, 0.1, 0)
                end
            end
        end
    end)
end

onTouched = function(hit)
    if not flingEnabled or not SELF_PROTECTION then return end
    local targetCharacter, targetHumanoid = hit.Parent, hit.Parent:FindFirstChildOfClass("Humanoid")
    if targetHumanoid and targetCharacter ~= character then
        local hitBelongsToUs = false
        if character then
            for _, part in pairs(character:GetChildren()) do
                if part == hit then hitBelongsToUs = true break end
            end
        end
        if not hitBelongsToUs then flingTarget(targetCharacter) end
    end
end

connectTouchEvents = function()
    if not character then return end
    for _, part in pairs(character:GetChildren()) do
        if part:IsA("BasePart") then part.Touched:Connect(onTouched) end
    end
end

setupFlingSystem = function()
    character = player.Character or player.CharacterAdded:Wait()
    if character then
        humanoid, rootPart = character:WaitForChild("Humanoid"), character:WaitForChild("HumanoidRootPart")
        lastFlingTime = {}
        connectTouchEvents()
        print("Touch fling system ready for", player.Name)
        print("Self-protection:", SELF_PROTECTION and "ENABLED" or "DISABLED")
    end
end

toggleFling = function()
    flingEnabled = not flingEnabled
    print("Touch fling:", flingEnabled and "ENABLED" or "DISABLED")
    if flingEnabled then startFling() end
end

toggleSelfProtection = function() SELF_PROTECTION = not SELF_PROTECTION print("Self-protection:", SELF_PROTECTION and "ENABLED" or "DISABLED") end
emergencyStop = function() flingEnabled = false print("EMERGENCY STOP - Touch fling disabled!") end
checkStatus = function() print("=== TOUCH FLING STATUS ===") print("Fling enabled:", flingEnabled) print("Self-protection:", SELF_PROTECTION) print("Character:", character and character.Name or "None") print("Player:", player.Name) print("========================") end

player.CharacterAdded:Connect(setupFlingSystem)
if character and character.Parent then setupFlingSystem() end
toggleFling()
checkStatus()

Features & Information

its a touchfling script boaaa

Community Comments (2)

theo82427theo82427Jul 21, 2025

sucks just teleports you to void

SolsticesSolsticesJul 22, 2025

Wdym this does work for me it's actually good bro

More Scripts for Universal Scripts