
Key RequiredUniversal

--[[ # 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()



sucks just teleports you to void
Wdym this does work for me it's actually good bro