-- SERVICES local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer -------------------------------------------------- -- CHARACTER -------------------------------------------------- local char, hrp local function updateChar() char = player.Character or player.CharacterAdded:Wait() hrp = char:WaitForChild("HumanoidRootPart") end updateChar() player.CharacterAdded:Connect(updateChar) -------------------------------------------------- -- SETTINGS (SLIDERS) -------------------------------------------------- local RADIUS = 20 local smoothness = 15 -- 0-100 local magStrength = 50 -- 0-100 local catchAssist = false local infJump = false -------------------------------------------------- -- SPHERE (AROUND YOU) -------------------------------------------------- local sphere = Instance.new("Part") sphere.Shape = Enum.PartType.Ball sphere.Size = Vector3.new(RADIUS*2,RADIUS*2,RADIUS*2) sphere.Material = Enum.Material.Neon sphere.Color = Color3.fromRGB(170,0,255) sphere.Transparency = 0.6 sphere.Anchored = true sphere.CanCollide = false sphere.Parent = workspace -------------------------------------------------- -- BALL FINDER -------------------------------------------------- local ball local function getBall() if ball and ball.Parent then return ball end for _,v in ipairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Name:lower():find("ball") then ball = v return v end end end -------------------------------------------------- -- UI -------------------------------------------------- local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0,260,0,220) frame.Position = UDim2.new(0.03,0,0.3,0) frame.BackgroundColor3 = Color3.fromRGB(25,25,25) frame.Active = true frame.Draggable = true local function createLabel(text,y) local lbl = Instance.new("TextLabel", frame) lbl.Size = UDim2.new(0.9,0,0,20) lbl.Position = UDim2.new(0.05,0,0,y) lbl.BackgroundTransparency = 1 lbl.TextColor3 = Color3.new(1,1,1) lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Text = text return lbl end local function createSlider(y,default,callback) local bar = Instance.new("Frame", frame) bar.Size = UDim2.new(0.9,0,0,18) bar.Position = UDim2.new(0.05,0,0,y) bar.BackgroundColor3 = Color3.fromRGB(40,40,40) local fill = Instance.new("Frame", bar) fill.Size = UDim2.new(default/100,0,1,0) fill.BackgroundColor3 = Color3.fromRGB(80,150,255) local dragging = false bar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UIS.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local percent = math.clamp( (input.Position.X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0,1 ) fill.Size = UDim2.new(percent,0,1,0) local value = math.floor(percent * 100) callback(value) end end) end -------------------------------------------------- -- BUTTONS -------------------------------------------------- local toggle = Instance.new("TextButton", frame) toggle.Size = UDim2.new(0.9,0,0,30) toggle.Position = UDim2.new(0.05,0,0,10) toggle.Text = "Mag: OFF" toggle.BackgroundColor3 = Color3.fromRGB(60,60,60) toggle.TextColor3 = Color3.new(1,1,1) toggle.MouseButton1Click:Connect(function() catchAssist = not catchAssist toggle.Text = "Mag: "..(catchAssist and "ON" or "OFF") end) local jumpBtn = toggle:Clone() jumpBtn.Parent = frame jumpBtn.Position = UDim2.new(0.05,0,0,50) jumpBtn.Text = "Inf Jump: OFF" jumpBtn.MouseButton1Click:Connect(function() infJump = not infJump jumpBtn.Text = "Inf Jump: "..(infJump and "ON" or "OFF") end) -------------------------------------------------- -- SLIDERS -------------------------------------------------- createLabel("Smoothness",90) createSlider(110, smoothness, function(v) smoothness = v end) createLabel("Mag Strength",140) createSlider(160, magStrength, function(v) magStrength = v end) -------------------------------------------------- -- INFINITE JUMP (FIXED) -------------------------------------------------- UIS.JumpRequest:Connect(function() if infJump and hrp then hrp.Velocity = Vector3.new(hrp.Velocity.X, 55, hrp.Velocity.Z) end end) -------------------------------------------------- -- MAIN LOOP -------------------------------------------------- RunService.RenderStepped:Connect(function() if not hrp then return end sphere.Position = hrp.Position local currentBall = getBall() if not currentBall then return end local dist = (currentBall.Position - hrp.Position).Magnitude if catchAssist and dist < RADIUS then local lerpAmount = (smoothness / 100) * 0.4 local strength = (magStrength / 100) local target = currentBall.Position local newPos = hrp.Position:Lerp(target, lerpAmount * strength) hrp.CFrame = CFrame.new(newPos, target) end end)