local player = game.Players.LocalPlayer local userInputService = game:GetService("UserInputService") local runService = game:GetService("RunService") local lighting = game:GetService("Lighting") local camera = workspace.CurrentCamera -- Biến lưu trữ giá trị tùy chỉnh local customSpeed = 50 local customHitbox = 4 local customSpin = 25 local noclipEnabled = false -- 1. Tạo Giao Diện Menu (GUI) local screenGui = Instance.new("ScreenGui") screenGui.Name = "MobileScriptMenu" screenGui.Parent = player:WaitForChild("PlayerGui") screenGui.ResetOnSpawn = false -- Nút thu nhỏ/mở rộng menu ĐÃ ĐƯỢC CHUYỂN SANG BÊN PHẢI local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 50, 0, 50) toggleBtn.Position = UDim2.new(1, -60, 0.4, 0) -- Nằm ở cạnh phải màn hình toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Text = "MENU" toggleBtn.TextSize = 12 toggleBtn.Font = Enum.Font.SourceSansBold toggleBtn.Active = true toggleBtn.Draggable = true toggleBtn.Parent = screenGui local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(1, 0) toggleCorner.Parent = toggleBtn -- Khung Menu chính local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 280, 0, 420) mainFrame.Position = UDim2.new(0.1, 0, 0.2, 0) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Visible = true mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 10) mainCorner.Parent = mainFrame -- Tiêu đề local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 35) title.BackgroundColor3 = Color3.fromRGB(45, 45, 45) title.Text = "MOBILE SCRIPT MENU" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.SourceSansBold title.TextSize = 14 title.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 10) titleCorner.Parent = title -- Nút đóng mở menu khi bấm vào nút tròn "MENU" toggleBtn.MouseButton1Click:Connect(function() mainFrame.Visible = not mainFrame.Visible end) -- Khu vực chứa các chức năng (Cuộn được) local container = Instance.new("ScrollingFrame") container.Size = UDim2.new(1, -10, 1, -45) container.Position = UDim2.new(0, 5, 0, 40) container.BackgroundTransparency = 1 container.CanvasSize = UDim2.new(0, 0, 2.2, 0) container.ScrollBarThickness = 4 container.Parent = mainFrame local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 6) listLayout.Parent = container -- Hàm tạo Nút Bấm local function createButton(name, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 32) btn.BackgroundColor3 = Color3.fromRGB(55, 55, 55) btn.Text = name btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.SourceSansSemibold btn.TextSize = 13 btn.Parent = container local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = btn btn.MouseButton1Click:Connect(function() callback(btn) end) return btn end -- Hàm tạo Ô Nhập Liệu local function createInput(placeholder, callback) local box = Instance.new("TextBox") box.Size = UDim2.new(1, 0, 0, 28) box.BackgroundColor3 = Color3.fromRGB(70, 70, 70) box.PlaceholderText = placeholder box.Text = "" box.TextColor3 = Color3.fromRGB(255, 255, 255) box.PlaceholderColor3 = Color3.fromRGB(180, 180, 180) box.Font = Enum.Font.SourceSans box.TextSize = 12 box.Parent = container local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = box box.FocusLost:Connect(function(enterPressed) if enterPressed then local num = tonumber(box.Text) if num then callback(num) end end end) end -- --- TÍNH NĂNG --- -- 1. Chạy nhanh local speedOn = false createButton("1. Chạy Nhanh: TẮT", function(btn) speedOn = not speedOn btn.Text = "1. Chạy Nhanh: " .. (speedOn and "BẬT" or "TẮT") end) createInput("Nhập tốc độ chạy (Xong bấm Enter):", function(val) customSpeed = val end) runService.RenderStepped:Connect(function() if speedOn and player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.WalkSpeed = customSpeed end end) -- 2. Nhảy vô hạn local infJump = false createButton("2. Nhảy Vô Hạn: TẮT", function(btn) infJump = not infJump btn.Text = "2. Nhảy Vô Hạn: " .. (infJump and "BẬT" or "TẮT") end) userInputService.JumpRequest:Connect(function() if infJump and player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) -- 3. Noclip (Đi xuyên tường) createButton("3. Noclip: TẮT", function(btn) noclipEnabled = not noclipEnabled btn.Text = "3. Noclip: " .. (noclipEnabled and "BẬT" or "TẮT") end) runService.Stepped:Connect(function() if noclipEnabled and player.Character then for _, part in pairs(player.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- 4. ESP Box & Line local espOn = false local espDrawings = {} local function setupESP(p) if p == player then return end local box = Drawing.new("Square") box.Visible = false box.Color = Color3.fromRGB(255, 0, 0) box.Thickness = 1.5 box.Filled = false local line = Drawing.new("Line") line.Visible = false line.Color = Color3.fromRGB(255, 255, 255) line.Thickness = 1 espDrawings[p] = {Box = box, Line = line} end for _, p in pairs(game.Players:GetPlayers()) do setupESP(p) end game.Players.PlayerAdded:Connect(setupESP) game.Players.PlayerRemoving:Connect(function(p) if espDrawings[p] then espDrawings[p].Box:Remove() espDrawings[p].Line:Remove() espDrawings[p] = nil end end) createButton("4. ESP Box & Line: TẮT", function(btn) espOn = not espOn btn.Text = "4. ESP Box & Line: " .. (espOn and "BẬT" or "TẮT") if not espOn then for _, d in pairs(espDrawings) do d.Box.Visible = false d.Line.Visible = false end end end) runService.RenderStepped:Connect(function() if not espOn then return end for p, d in pairs(espDrawings) do local char = p.Character if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then local rootPart = char.HumanoidRootPart local head = char:FindFirstChild("Head") local vector, onScreen = camera:WorldToViewportPoint(rootPart.Position) if onScreen then local topPos = head and camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0)) or vector local botPos = camera:WorldToViewportPoint(rootPart.Position - Vector3.new(0, 3, 0)) local height = math.abs(topPos.Y - botPos.Y) local width = height / 2 d.Box.Size = Vector2.new(width, height) d.Box.Position = Vector2.new(vector.X - width / 2, topPos.Y) d.Box.Visible = true d.Line.From = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y) d.Line.To = Vector2.new(vector.X, botPos.Y) d.Line.Visible = true else d.Box.Visible = false d.Line.Visible = false end else d.Box.Visible = false d.Line.Visible = false end end end) -- 5. Hitbox Đầu local hitOn = false createButton("5. Hitbox Đầu: TẮT", function(btn) hitOn = not hitOn btn.Text = "5. Hitbox Đầu: " .. (hitOn and "BẬT" or "TẮT") end) createInput("Nhập kích thước Hitbox (vd: 4):", function(val) customHitbox = val end) runService.RenderStepped:Connect(function() if hitOn then for _, p in pairs(game.Players:GetPlayers()) do if p ~= player and p.Character and p.Character:FindFirstChild("Head") then p.Character.Head.Size = Vector3.new(customHitbox, customHitbox, customHitbox) p.Character.Head.Transparency = 0.6 p.Character.Head.CanCollide = false end end end end) -- 6. Spin (Xoay nhân vật) local spinOn = false createButton("6. Spin: TẮT", function(btn) spinOn = not spinOn btn.Text = "6. Spin: " .. (spinOn and "BẬT" or "TẮT") end) createInput("Nhập tốc độ xoay (vd: 25):", function(val) customSpin = val end) runService.RenderStepped:Connect(function() if spinOn and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local root = player.Character.HumanoidRootPart root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(customSpin), 0) end end) -- 7. Fix Lag createButton("7. Fix Lag (Tối ưu)", function() lighting.GlobalShadows = false lighting.FogEnd = 999999 for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then v.Material = Enum.Material.SmoothPlastic v.Reflectance = 0 elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end end)