-- Fling Hub (Hitbox Click Fling + Player List) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local lp = Players.LocalPlayer local mouse = lp:GetMouse() ------------------------------------------------- -- VARIABLES ------------------------------------------------- local hiddenfling=false local clickFling=false local safeMode=false local autoSafe=false local savedCFrame=nil local espEnabled=false local espObjects={} ------------------------------------------------- -- GUI ------------------------------------------------- local ScreenGui=Instance.new("ScreenGui") ScreenGui.Parent=lp.PlayerGui ScreenGui.ResetOnSpawn=false local Frame=Instance.new("Frame") Frame.Parent=ScreenGui Frame.Size=UDim2.new(0,330,0,540) Frame.Position=UDim2.new(0.35,0,0.2,0) Frame.BackgroundColor3=Color3.fromRGB(30,30,30) Frame.Active=true Frame.Draggable=true local Title=Instance.new("TextLabel") Title.Parent=Frame Title.Size=UDim2.new(1,0,0,30) Title.BackgroundColor3=Color3.fromRGB(50,50,50) Title.Text="Fling Hub" Title.TextColor3=Color3.new(1,1,1) local Exit=Instance.new("TextButton") Exit.Parent=Frame Exit.Position=UDim2.new(1,-30,0,0) Exit.Size=UDim2.new(0,30,0,30) Exit.Text="X" Exit.BackgroundColor3=Color3.fromRGB(170,0,0) ------------------------------------------------- -- TEXTBOXES ------------------------------------------------- local function createBox(y,placeholder) local box=Instance.new("TextBox") box.Parent=Frame box.Position=UDim2.new(0.05,0,y,0) box.Size=UDim2.new(0.9,0,0,26) box.PlaceholderText=placeholder box.Text="" box.TextColor3=Color3.new(0,0,0) return box end local PowerBox=createBox(0.08,"fling power") local TargetBox=createBox(0.14,"who to fling") ------------------------------------------------- -- PLAYER LIST ------------------------------------------------- local ToggleList=Instance.new("TextButton") ToggleList.Parent=Frame ToggleList.Position=UDim2.new(0.05,0,0.2,0) ToggleList.Size=UDim2.new(0.9,0,0,26) ToggleList.Text="Open Player List" local PlayerList=Instance.new("ScrollingFrame") PlayerList.Parent=Frame PlayerList.Position=UDim2.new(0.05,0,0.26,0) PlayerList.Size=UDim2.new(0.9,0,0.22,0) PlayerList.BackgroundColor3=Color3.fromRGB(40,40,40) PlayerList.Visible=false local Layout=Instance.new("UIListLayout") Layout.Parent=PlayerList local Search=Instance.new("TextBox") Search.Parent=PlayerList Search.Size=UDim2.new(1,0,0,25) Search.PlaceholderText="search player" Search.Text="" ------------------------------------------------- -- BUTTON CREATOR ------------------------------------------------- local function createButton(text,x,y) local b=Instance.new("TextButton") b.Parent=Frame b.Text=text b.Position=UDim2.new(x,0,y,0) b.Size=UDim2.new(0.4,0,0,32) b.BackgroundColor3=Color3.fromRGB(60,60,60) b.TextColor3=Color3.new(1,1,1) return b end ------------------------------------------------- -- BUTTONS ------------------------------------------------- local FlingToggle=createButton("Fling OFF",0.05,0.52) local FlingTP=createButton("Fling TP",0.55,0.52) local ClickFling=createButton("Click Fling OFF",0.05,0.60) local SaveLoc=createButton("Save Location",0.55,0.60) local SafeMode=createButton("Safe Mode OFF",0.05,0.68) local AutoSafe=createButton("Auto Safe OFF",0.55,0.68) local GoBack=createButton("Go Back",0.05,0.76) local ESPBtn=createButton("ESP OFF",0.55,0.76) ------------------------------------------------- -- ESP ------------------------------------------------- local function createESP(player) if player==lp then return end local function setup(char) local highlight=Instance.new("Highlight") highlight.FillTransparency=1 highlight.OutlineColor=Color3.fromRGB(255,0,0) highlight.Adornee=char highlight.Parent=workspace local head=char:WaitForChild("Head") local gui=Instance.new("BillboardGui") gui.Size=UDim2.new(0,120,0,40) gui.StudsOffset=Vector3.new(0,2,0) gui.AlwaysOnTop=true gui.Parent=head local text=Instance.new("TextLabel") text.Parent=gui text.Size=UDim2.new(1,0,1,0) text.BackgroundTransparency=1 text.Text=player.Name text.TextColor3=Color3.new(1,1,1) espObjects[player]={highlight,gui} end if player.Character then setup(player.Character) end player.CharacterAdded:Connect(setup) end local function clearESP() for _,objs in pairs(espObjects) do for _,o in pairs(objs) do if o then o:Destroy() end end end espObjects={} end ------------------------------------------------- -- FLING PART ------------------------------------------------- local function createFlingPart(target) local thrp=target.Character and target.Character:FindFirstChild("HumanoidRootPart") if not thrp then return end local part=Instance.new("Part") part.Size=Vector3.new(6,6,6) part.Transparency=1 part.CanCollide=false part.Anchored=false part.Parent=workspace local weld=Instance.new("WeldConstraint") weld.Part0=part weld.Part1=thrp weld.Parent=part part.CFrame=thrp.CFrame part.Touched:Connect(function(hit) local char=hit.Parent local hrp=char and char:FindFirstChild("HumanoidRootPart") if hrp then local power=tonumber(PowerBox.Text) or 2000 hrp.Velocity=Vector3.new(power,power,power) end end) task.delay(1.5,function() if part then part:Destroy() end end) end ------------------------------------------------- -- CLICK FLING ------------------------------------------------- mouse.Button1Down:Connect(function() if not clickFling then return end local part=mouse.Target if not part then return end local char=part:FindFirstAncestorOfClass("Model") if not char then return end local player=Players:GetPlayerFromCharacter(char) if not player then return end createFlingPart(player) end) ------------------------------------------------- -- PLAYER FIND ------------------------------------------------- local function findPlayer(text) text=text:lower() for _,p in pairs(Players:GetPlayers()) do if p.Name:lower():find(text) or p.DisplayName:lower():find(text) then return p end end end ------------------------------------------------- -- BUTTONS ------------------------------------------------- FlingToggle.MouseButton1Click:Connect(function() hiddenfling=not hiddenfling FlingToggle.Text=hiddenfling and "Fling ON" or "Fling OFF" end) ClickFling.MouseButton1Click:Connect(function() clickFling=not clickFling ClickFling.Text=clickFling and "Click Fling ON" or "Click Fling OFF" end) SaveLoc.MouseButton1Click:Connect(function() local hrp=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if hrp then savedCFrame=hrp.CFrame end end) GoBack.MouseButton1Click:Connect(function() local hrp=lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") if hrp and savedCFrame then for i=1,10 do hrp.CFrame=savedCFrame task.wait(0.08) end end end) SafeMode.MouseButton1Click:Connect(function() safeMode=not safeMode SafeMode.Text=safeMode and "Safe Mode ON" or "Safe Mode OFF" end) AutoSafe.MouseButton1Click:Connect(function() autoSafe=not autoSafe AutoSafe.Text=autoSafe and "Auto Safe ON" or "Auto Safe OFF" end) ESPBtn.MouseButton1Click:Connect(function() espEnabled=not espEnabled ESPBtn.Text=espEnabled and "ESP ON" or "ESP OFF" if espEnabled then for _,p in pairs(Players:GetPlayers()) do createESP(p) end else clearESP() end end) ------------------------------------------------- -- PLAYER LIST ------------------------------------------------- ToggleList.MouseButton1Click:Connect(function() PlayerList.Visible=not PlayerList.Visible end) local function refresh() for _,v in pairs(PlayerList:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end local search=Search.Text:lower() for _,p in pairs(Players:GetPlayers()) do if p~=lp then if search=="" or p.Name:lower():find(search) or p.DisplayName:lower():find(search) then local btn=Instance.new("TextButton") btn.Parent=PlayerList btn.Size=UDim2.new(1,0,0,25) btn.Text=p.Name.." ("..p.DisplayName..")" btn.MouseButton1Click:Connect(function() TargetBox.Text=p.Name end) end end end end Search:GetPropertyChangedSignal("Text"):Connect(refresh) Players.PlayerAdded:Connect(refresh) Players.PlayerRemoving:Connect(refresh) refresh() ------------------------------------------------- -- EXIT ------------------------------------------------- Exit.MouseButton1Click:Connect(function() clearESP() ScreenGui:Destroy() end)