-- MINI HUB MOBILE | PAINEL BONITO -- Atravessar Fantasma (sem atravessar bola) -- Desarme Auto 20 Studs | Puxar Bola | Empurrar Jogadores -- ================= SERVIÇOS ================= local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") -- ================= VARIÁVEIS ================= local ghost = false local autoSteal = false local pullBall = false local pushPlayers = false -- ================= FUNÇÃO ================= local function getChar() return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() end -- ================= ATRAVESSAR FANTASMA ================= RunService.Stepped:Connect(function() if ghost then for _, part in pairs(getChar():GetChildren()) do if part:IsA("BasePart") then part.CanCollide = true part.Touched:Connect(function(hit) if not hit.Name:lower():find("ball") then part.CanCollide = false end end) end end end end) -- ================= DESARME AUTO (20 STUDS) ================= RunService.Heartbeat:Connect(function() if autoSteal then local char = getChar() local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Name:lower():find("ball") then if (obj.Position - hrp.Position).Magnitude <= 20 then obj.CFrame = hrp.CFrame * CFrame.new(0,0,-2) end end end end end) -- ================= GUI ================= local Gui = Instance.new("ScreenGui", PlayerGui) Gui.Name = "MobileHub" Gui.ResetOnSpawn = false local Main = Instance.new("Frame", Gui) Main.Size = UDim2.new(0,280,0,340) Main.Position = UDim2.new(0.5,-140,0.5,-170) Main.BackgroundColor3 = Color3.fromRGB(30,30,30) Main.BorderSizePixel = 0 Main.Active = true Main.Draggable = true -- Sombra local UICorner = Instance.new("UICorner", Main) UICorner.CornerRadius = UDim.new(0,16) -- Título local Title = Instance.new("TextLabel", Main) Title.Size = UDim2.new(1,0,0,50) Title.BackgroundColor3 = Color3.fromRGB(20,20,20) Title.Text = "⚽ Mobile Hub" Title.TextColor3 = Color3.fromRGB(255,255,255) Title.Font = Enum.Font.GothamBold Title.TextSize = 22 Instance.new("UICorner", Title).CornerRadius = UDim.new(0,16) -- Container local UIList = Instance.new("UIListLayout", Main) UIList.Padding = UDim.new(0,10) UIList.HorizontalAlignment = Enum.HorizontalAlignment.Center UIList.VerticalAlignment = Enum.VerticalAlignment.Top UIList.SortOrder = Enum.SortOrder.LayoutOrder UIList.Padding = UDim.new(0,10) UIList.Parent = Main Title.LayoutOrder = 1 -- Função botão toggle bonito local function createToggle(text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0,240,0,44) btn.BackgroundColor3 = Color3.fromRGB(45,45,45) btn.Text = text.." [OFF]" btn.TextColor3 = Color3.fromRGB(255,255,255) btn.Font = Enum.Font.Gotham btn.TextSize = 16 btn.AutoButtonColor = false btn.Parent = Main Instance.new("UICorner", btn).CornerRadius = UDim.new(0,12) local on = false btn.MouseButton1Click:Connect(function() on = not on btn.Text = text.." ["..(on and "ON" or "OFF").."]" btn.BackgroundColor3 = on and Color3.fromRGB(0,170,100) or Color3.fromRGB(45,45,45) callback(on) end) end -- ================= BOTÕES ================= createToggle("Atravessar Fantasma", function(v) ghost = v end) createToggle("Desarme Automático (20)", function(v) autoSteal = v end) createToggle("Puxar Bola", function(v) pullBall = v end) createToggle("Empurrar Jogadores", function(v) pushPlayers = v end) -- ================= PUXAR BOLA ================= RunService.Heartbeat:Connect(function() if pullBall then local char = getChar() local hrp = char:FindFirstChild("HumanoidRootPart") local ball = workspace:FindFirstChild("Ball") or workspace:FindFirstChild("SoccerBall") if hrp and ball then ball.CFrame = hrp.CFrame * CFrame.new(0,0,5) end end end) -- ================= EMPURRAR JOGADORES ================= RunService.Heartbeat:Connect(function() if pushPlayers then local char = getChar() local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local dir = (p.Character.HumanoidRootPart.Position - hrp.Position).Unit p.Character.HumanoidRootPart.Velocity = Vector3.new(dir.X,0,dir.Z) * 45 end end end end)