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