Fling Simulator!
Key RequiredUniversal

Fling Simulator!

Universal ScriptGdvinnyYtGdvinnyYt 14.9K views 99 executesUpdated Oct 4, 2025
Unrated
00
Lua Script•213 lines (6559 chars)
-- Character Launcher Script
-- Place this in StarterGui or StarterPlayerScripts

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "LauncherGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

-- Create Frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 250, 0, 180)
frame.Position = UDim2.new(0.5, -125, 0.1, 0)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
frame.BorderSizePixel = 2
frame.BorderColor3 = Color3.fromRGB(255, 255, 255)
frame.Parent = screenGui

-- Add UICorner for rounded edges
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = frame

-- Make frame draggable
local dragging
local dragInput
local dragStart
local startPos

local function update(input)
	local delta = input.Position - dragStart
	frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

frame.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = frame.Position
		
		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

frame.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
		dragInput = input
	end
end)

game:GetService("UserInputService").InputChanged:Connect(function(input)
	if input == dragInput and dragging then
		update(input)
	end
end)

-- Create Title Label
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 30)
titleLabel.Position = UDim2.new(0, 0, 0, 5)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Character Fling"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextSize = 18
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = frame

-- Create Direction Label
local directionLabel = Instance.new("TextLabel")
directionLabel.Size = UDim2.new(1, -20, 0, 20)
directionLabel.Position = UDim2.new(0, 10, 0, 40)
directionLabel.BackgroundTransparency = 1
directionLabel.Text = "Direction (Forward, Up, Right):"
directionLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
directionLabel.TextSize = 14
directionLabel.Font = Enum.Font.Gotham
directionLabel.TextXAlignment = Enum.TextXAlignment.Left
directionLabel.Parent = frame

-- Create TextBox for direction input
local directionBox = Instance.new("TextBox")
directionBox.Size = UDim2.new(0, 210, 0, 35)
directionBox.Position = UDim2.new(0.5, -105, 0, 65)
directionBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
directionBox.Text = "0, 90, 0"
directionBox.PlaceholderText = "Forward, Up, Right"
directionBox.TextColor3 = Color3.fromRGB(255, 255, 255)
directionBox.TextSize = 14
directionBox.Font = Enum.Font.Gotham
directionBox.ClearTextOnFocus = false
directionBox.Parent = frame

-- Add UICorner to textbox
local boxCorner = Instance.new("UICorner")
boxCorner.CornerRadius = UDim.new(0, 6)
boxCorner.Parent = directionBox

-- Create Launch Button
local launchButton = Instance.new("TextButton")
launchButton.Size = UDim2.new(0, 210, 0, 50)
launchButton.Position = UDim2.new(0.5, -105, 0, 115)
launchButton.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
launchButton.Text = "Fling!"
launchButton.TextColor3 = Color3.fromRGB(255, 255, 255)
launchButton.TextSize = 18
launchButton.Font = Enum.Font.GothamBold
launchButton.Parent = frame

-- Add UICorner to button
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 6)
buttonCorner.Parent = launchButton

-- Fling function
local function launchPlayer()
	local character = player.Character
	if not character then return end
	
	local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
	local humanoid = character:FindFirstChild("Humanoid")
	if not humanoidRootPart or not humanoid then return end
	
	-- Parse direction from textbox
	local input = directionBox.Text
	local x, y, z = 0, 90, 0 -- Default values
	
	-- Try to extract numbers from input
	local numbers = {}
	for num in string.gmatch(input, "[+-]?%d+%.?%d*") do
		table.insert(numbers, tonumber(num))
	end
	
	if #numbers >= 3 then
		x, y, z = numbers[1], numbers[2], numbers[3]
	elseif #numbers == 2 then
		x, y = numbers[1], numbers[2]
	elseif #numbers == 1 then
		y = numbers[1]
	end
	
	-- Enable ragdoll by changing humanoid state
	humanoid:ChangeState(Enum.HumanoidStateType.Physics)
	
	-- Create powerful fling effect
	local bodyVelocity = Instance.new("BodyVelocity")
	bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
	bodyVelocity.Velocity = Vector3.new(x, y, z)
	bodyVelocity.Parent = humanoidRootPart
	
	-- Add slight rotation for fling effect
	local bodyAngularVelocity = Instance.new("BodyAngularVelocity")
	bodyAngularVelocity.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
	bodyAngularVelocity.AngularVelocity = Vector3.new(
		math.random(-10, 10),
		math.random(-10, 10),
		math.random(-10, 10)
	)
	bodyAngularVelocity.Parent = humanoidRootPart
	
	-- Remove objects after fling
	task.wait(0.3)
	bodyVelocity:Destroy()
	bodyAngularVelocity:Destroy()
	
	-- Wait for character to land and disable ragdoll
	task.spawn(function()
		local lastY = humanoidRootPart.Position.Y
		local stableCount = 0
		
		while stableCount < 10 do
			task.wait(0.1)
			if not character or not character.Parent then break end
			if not humanoidRootPart or not humanoidRootPart.Parent then break end
			
			local currentY = humanoidRootPart.Position.Y
			local velocityY = humanoidRootPart.AssemblyLinearVelocity.Y
			
			-- Check if character has stabilized (stopped moving vertically)
			if math.abs(velocityY) < 5 and math.abs(currentY - lastY) < 1 then
				stableCount = stableCount + 1
			else
				stableCount = 0
			end
			
			lastY = currentY
		end
		
		-- Return to normal state
		if humanoid and humanoid.Parent then
			humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
		end
	end)
end

-- Connect button click
launchButton.MouseButton1Click:Connect(launchPlayer)

-- Button hover effect
launchButton.MouseEnter:Connect(function()
	launchButton.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
end)

launchButton.MouseLeave:Connect(function()
	launchButton.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
end)

Features & Information

Fling! Choose! Mobile friendly! You have to use an executor

Community Comments (3)

AZUREYAZUREYOct 4, 2025

how do i download it? im kinda new to this platform

Replying to @AZUREY

@AZUREY why would you go onto a exploiter site without knowing how to exploit ontop of that the guy literally states you need an executor

expozexpozOct 4, 2025

ai </3

More Scripts for Universal Scripts