OP Fling All
Key RequiredUniversal

OP Fling All

Universal Scriptsoulxz2007soulxz2007 6.1K views 1.1K executesUpdated Jun 10, 2025
Unrated
00
Lua Script•158 lines (4933 chars)
local FLING_FORCE = Vector3.new(1e20, 1e20, 1e20)
local OFFSET_POS = CFrame.new(0, 0, 0)
local OFFSET_NEG = CFrame.new(0, 0, 0)
local FLING_TIME = 5
local MAX_ANGLE_INCREMENT = 500
local PART_SWITCH_DELAY = 0.5

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
getgenv().FPDH = workspace.FallenPartsDestroyHeight

local function SafeReset(Character, oldPos)
	local Humanoid = Character:FindFirstChildOfClass("Humanoid")
	local RootPart = Humanoid and Humanoid.RootPart
	if not RootPart then return end

	repeat
		RootPart.CFrame = oldPos * CFrame.new(0, 0, 0)
		Character:SetPrimaryPartCFrame(oldPos * CFrame.new(0, 0, 0))
		Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
		for _, part in ipairs(Character:GetChildren()) do
			if part:IsA("BasePart") then
				part.Velocity = Vector3.zero
				part.RotVelocity = Vector3.zero
			end
		end
		task.wait()
	until (RootPart.Position - oldPos.p).Magnitude < 25
end

local function Fling(TargetPlayer)
	local Character = Player.Character
	local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
	local RootPart = Humanoid and Humanoid.RootPart

	if not (Character and Humanoid and RootPart) then
		return game.StarterGui:SetCore("SendNotification", {
			Title = "Error",
			Text = "Your character is unavailable.",
			Duration = 5
		})
	end

	local TCharacter = TargetPlayer.Character
	if not TCharacter then return end

	local THumanoid = TCharacter:FindFirstChildOfClass("Humanoid")
	if not THumanoid then return end
	if THumanoid.Sit then
		game.StarterGui:SetCore("SendNotification", {
			Title = "Error",
			Text = "Target is sitting.",
			Duration = 5
		})
		return
	end

	if RootPart.Velocity.Magnitude < 25 then
		getgenv().OldPos = RootPart.CFrame
	end

	local THead = TCharacter:FindFirstChild("Head")
	local Accessory = TCharacter:FindFirstChildOfClass("Accessory")
	local Handle = Accessory and Accessory:FindFirstChild("Handle")

	workspace.CurrentCamera.CameraSubject = THead or Handle or THumanoid or RootPart
	workspace.FallenPartsDestroyHeight = 0 / 0

	local BV = Instance.new("BodyVelocity")
	BV.Name = "EpixVel"
	BV.Velocity = FLING_FORCE
	BV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
	BV.Parent = RootPart

	Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)

	local function FPos(basePart, offset, angle)
		RootPart.CFrame = basePart.CFrame * offset * angle
		Character:SetPrimaryPartCFrame(basePart.CFrame * offset * angle)
		RootPart.Velocity = FLING_FORCE / 9e8
		RootPart.RotVelocity = FLING_FORCE
	end

	local function SFBasePart(TargetCharacter)
		local startTime = tick()
		local angle = 0
		local parts = {}

		for _, part in ipairs(TargetCharacter:GetDescendants()) do
			if part:IsA("BasePart") then
				table.insert(parts, part)
			elseif part:IsA("Accessory") and part:FindFirstChild("Handle") then
				table.insert(parts, part.Handle)
			end
		end

		if #parts == 0 then return end

		while tick() - startTime < FLING_TIME do
			if not (RootPart and THumanoid and THumanoid.Health > 0) then break end

			local part = parts[math.random(#parts)]
			if not part or not part:IsDescendantOf(TargetCharacter) then continue end

			angle += MAX_ANGLE_INCREMENT
			local md = THumanoid.MoveDirection
			local v = part.Velocity.Magnitude

			local function pattern(offset)
				local push = math.clamp(v, 0, 16) / 2.5 -- cap the offset to avoid flying too far
FPos(part, offset + md * push, CFrame.Angles(math.rad(angle), 0, 0))
				task.wait(PART_SWITCH_DELAY)
			end

			pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0.5, THumanoid.WalkSpeed / 4))
pattern(CFrame.new(0, -0.5, -THumanoid.WalkSpeed / 4))
pattern(CFrame.new(0, 0, 0)) -- direct hit
pattern(CFrame.new(0, 0, 0)) -- direct hit again
pattern(CFrame.new(0, 0, THumanoid.WalkSpeed / 8))
pattern(CFrame.new(0, 0, -THumanoid.WalkSpeed / 8))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, 0, 0))
pattern(CFrame.new(0, -0, 0))
pattern(CFrame.new(0, 0.5, THumanoid.WalkSpeed / 4))
pattern(CFrame.new(0, 0.5, -THumanoid.WalkSpeed / 4))
pattern(CFrame.new(0, 0, 0)) -- direct hit
pattern(CFrame.new(0, 0, 0)) -- direct hit again
pattern(CFrame.new(0, 0, THumanoid.WalkSpeed / 8))
pattern(CFrame.new(0, 0, -THumanoid.WalkSpeed / 8))
		end
	end

	SFBasePart(TCharacter)

	BV:Destroy()
	Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
	workspace.CurrentCamera.CameraSubject = Humanoid
	SafeReset(Character, getgenv().OldPos)
	workspace.FallenPartsDestroyHeight = getgenv().FPDH
end

-- Fling All
for _, plr in ipairs(Players:GetPlayers()) do
	if plr ~= Player and plr.UserId ~= 1414978355 then
		Fling(plr)
	elseif plr.UserId == 1414978355 then
		game:GetService("StarterGui"):SetCore("SendNotification", {
			Title = "Notice",
			Text = "Owner is whitelisted!",
			Duration = 5
		})
	end
end

Features & Information

SUPER FLING create ur own config

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts