-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[============================================================== FUT HUB • Delta Executor (FIX: Enum.Axes no disponible) Secciones: GOALKEEPER (Auto Dive / Auto Return / Grab Reach) REACH (Hitbox extendido) Autor: Venice Uso: loadstring(game:HttpGet("URL_RAW_DEL_ARCHIVO"))() ==============================================================]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CollectionService = game:GetService("CollectionService") local TweenService = game:GetService("TweenService") local LP = Players.LocalPlayer --============================ CONFIG ============================ local C = { GK = false, AutoDive = true, AutoReturn = true, DiveRange = 30, DivePower = 55, GrabReach = 6, Reach = false, ReachAmount = 5, } local COL = { BG = Color3.fromRGB(17, 18, 23), PANEL = Color3.fromRGB(27, 29, 37), OFF = Color3.fromRGB(45, 48, 58), ACCENT = Color3.fromRGB(90, 170, 255), TEXT = Color3.fromRGB(228, 231, 238), SUB = Color3.fromRGB(138, 145, 160), } --============================ STATE ============================= local Char, HRP, Hum, OrigSize, Lunge local Ball, MyGoal, StandPos, lastJump = nil, nil, nil, 0 local function clamp(v, a, b) return math.clamp(v, a, b) end --============================ BALL SCAN ========================== task.spawn(function() while task.wait(1) do local found for _, b in ipairs(CollectionService:GetTagged("Ball")) do if b:IsA("BasePart") and b.Parent then found = b; break end end if not found then for _, o in ipairs(workspace:GetDescendants()) do if o:IsA("BasePart") and o.Name:lower():find("ball") then found = o; break end end end Ball = found if C.GK and (not MyGoal or not MyGoal.Parent) then pcall(function() refreshStand() end) end end end) local function getBall() if Ball and Ball.Parent then return Ball end return nil end --============================ GOAL / POSICIÓN ==================== local function findGoal() if not HRP then return nil end local best, bestD for _, o in ipairs(workspace:GetDescendants()) do if o:IsA("BasePart") and o.Name:lower():find("goal") then local d = (o.Position - HRP.Position).Magnitude if not bestD or d < bestD then best, bestD = o, d end end end return best end function refreshStand() if not HRP or not HRP.Parent then return end MyGoal = findGoal() if MyGoal then local dir = Vector3.new(-MyGoal.Position.X, 0, -MyGoal.Position.Z) if dir.Magnitude < 1 then dir = Vector3.new(0, 0, 1) end dir = dir.Unit StandPos = Vector3.new( MyGoal.Position.X + dir.X * 5, HRP.Position.Y, MyGoal.Position.Z + dir.Z * 5 ) else StandPos = HRP.Position end end --============================ HITBOX / REACH ===================== local function applySize() if not HRP or not OrigSize or not HRP.Parent then return end local s = 1 if C.Reach then s = s + (C.ReachAmount / 20) end if C.GK then s = s + (C.GrabReach / 20) end HRP.Size = Vector3.new(OrigSize.X * s, OrigSize.Y, OrigSize.Z * s) end --============================ SETUP PERSONAJE ==================== -- Detecta una sola vez si el cliente soporta Enum.Axes local HAS_AXES = pcall(function() return Enum.Axes.XZ end) local function configureLunge(lv) lv.RelativeTo = Enum.ActuatorRelativeTo.World if HAS_AXES then -- Cliente moderno: controla solo X/Z, Y totalmente libre lv.MaxForce = math.huge local ok = pcall(function() lv.MaxAxes = Enum.Axes.XZ end) if not ok then HAS_AXES = false end end if not HAS_AXES then -- Fallback: límite de fuerza por eje (Y = 0 => gravedad intacta) local ok = pcall(function() lv.ForceLimitMode = Enum.ForceLimitMode.PerAxis lv.MaxForce = Vector3.new(math.huge, 0, math.huge) end) if not ok then lv.MaxForce = math.huge end end end local function setupChar(c) Char = c HRP = c:WaitForChild("HumanoidRootPart", 10) Hum = c:WaitForChild("Humanoid", 10) if not HRP or not Hum then return end OrigSize = HRP.Size if Lunge and Lunge.Parent then Lunge:Destroy() end local att = Instance.new("Attachment") att.Name = "FUT_Att" att.Parent = HRP Lunge = Instance.new("LinearVelocity") Lunge.Name = "FUT_Lunge" Lunge.Attachment0 = att Lunge.Enabled = false Lunge.Parent = HRP configureLunge(Lunge) task.wait(0.4) applySize() end LP.CharacterAdded:Connect(function(c) task.wait(0.4) setupChar(c) end) if LP.Character then setupChar(LP.Character) end --============================ LÓGICA AUTO DIVE =================== RunService.Heartbeat:Connect(function() if not HRP or not HRP.Parent or not Lunge or not Lunge.Parent then return end if not C.GK then Lunge.Enabled = false return end Lunge.Enabled = true local pp = HRP.Position local ball = getBall() -- ---- DIVE ---- if ball and C.AutoDive then local bp = ball.Position local bv = ball.AssemblyLinearVelocity local dist = (bp - pp).Magnitude if dist <= C.DiveRange then -- salto si el balón viene alto if (bp.Y - pp.Y) > 4.5 and Hum.FloorMaterial ~= Enum.Material.Air and (os.clock() - lastJump) > 0.6 then lastJump = os.clock() Hum:ChangeState(Enum.HumanoidStateType.Jumping) end -- predicción: dónde estará el balón al llegar local lead = clamp(dist / math.max(C.DivePower, 1), 0.04, 0.35) local target = bp + bv * lead local to = target - pp if to.Magnitude > 0.1 then local u = to.Unit local dir = Vector3.new(u.X, 0, u.Z) if dir.Magnitude < 0.05 then dir = u end Lunge.VectorVelocity = dir.Unit * C.DivePower else Lunge.VectorVelocity = Vector3.zero end return end end -- ---- VOLVER AL ARCO ---- if C.AutoReturn and StandPos then local r = StandPos - pp local flat = Vector3.new(r.X, 0, r.Z) if flat.Magnitude > 2 then Lunge.VectorVelocity = flat.Unit * clamp(flat.Magnitude * 3, 0, 30) else Lunge.VectorVelocity = Vector3.zero end else Lunge.VectorVelocity = Vector3.zero end end) --============================ UI ================================= local function guiParent() local ok, hui = pcall(gethui) if ok and hui then return hui end return game:GetService("CoreGui") end local Screen = Instance.new("ScreenGui") Screen.Name = "FUT_Hub" Screen.ResetOnSpawn = false Screen.IgnoreGuiInset = true Screen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local okp = pcall(function() Screen.Parent = guiParent() end) if not okp or not Screen.Parent then Screen.Parent = LP:WaitForChild("PlayerGui") end local function new(class, props, parent) local i = Instance.new(class) for k, v in pairs(props) do i[k] = v end if parent then i.Parent = parent end return i end local Main = new("Frame", { Name = "Main", Size = UDim2.new(0, 232, 0, 0), Position = UDim2.new(0, 20, 0.5, -190), BackgroundColor3 = COL.BG, BorderSizePixel = 0, Active = true, AutomaticSize = Enum.AutomaticSize.Y, }, Screen) new("UICorner", { CornerRadius = UDim.new(0, 10) }, Main) new("UIStroke", { Color = Color3.fromRGB(38, 41, 52), Thickness = 1, Transparency = 0.3 }, Main) local Header = new("TextButton", { Size = UDim2.new(1, 0, 0, 34), BackgroundColor3 = COL.PANEL, Text = "", AutoButtonColor = false, BorderSizePixel = 0, }, Main) new("UICorner", { CornerRadius = UDim.new(0, 10) }, Header) new("TextLabel", { Size = UDim2.new(1, -60, 1, 0), Position = UDim2.new(0, 12, 0, 0), BackgroundTransparency = 1, Font = Enum.Font.GothamBold, Text = "FUT • HUB", TextSize = 13, TextColor3 = COL.TEXT, TextXAlignment = Enum.TextXAlignment.Left, Active = false, }, Header) local MinBtn = new("TextButton", { Size = UDim2.new(0, 24, 0, 20), Position = UDim2.new(1, -30, 0, 7), BackgroundColor3 = COL.OFF, Text = "–", Font = Enum.Font.GothamBold, TextSize = 14, TextColor3 = COL.TEXT, AutoButtonColor = true, BorderSizePixel = 0, }, Header) new("UICorner", { CornerRadius = UDim.new(0, 6) },