-- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Stats = game:GetService("Stats") -- Variables local localPlayer = Players.LocalPlayer local camera = workspace.CurrentCamera local highlights = {} local cachedTargets = {} -- State Settings local settings = { menuOpen = true, esp = false, teamCheck = true, wallCheck = true, aimbot = false, showFov = false, fov = 150, smoothness = 0.15, flight = false, noclip = false, speedHack = false, flySpeed = 100, walkSpeed = 80, themeColor = Color3.fromRGB(0, 170, 255), uiTrans = 0.4 } -- 1. CLEAN UI ROOT (Only 1 FOV Circle Here) local gui = Instance.new("ScreenGui", localPlayer:WaitForChild("PlayerGui")) gui.Name = "Comb4x_V18_8_Final" gui.ResetOnSpawn = false -- [[ THE ONLY FOV CIRCLE ]] local fovFrame = Instance.new("Frame", gui) fovFrame.Name = "Single_FOV_Circle" fovFrame.AnchorPoint = Vector2.new(0.5, 0.5) fovFrame.Position = UDim2.new(0.5, 0, 0.5, 0) fovFrame.BackgroundTransparency = 1 fovFrame.Size = UDim2.new(0, settings.fov * 2, 0, settings.fov * 2) fovFrame.Visible = false local fovStroke = Instance.new("UIStroke", fovFrame) fovStroke.Color = settings.themeColor fovStroke.Thickness = 1 Instance.new("UICorner", fovFrame).CornerRadius = UDim.new(1, 0) -- HUD local hud = Instance.new("TextLabel", gui) hud.Size = UDim2.new(0, 200, 0, 50); hud.Position = UDim2.new(0, 10, 0, 10) hud.BackgroundTransparency = 1; hud.TextColor3 = Color3.new(1, 1, 1); hud.TextSize = 14; hud.Font = Enum.Font.Code; hud.TextXAlignment = Enum.TextXAlignment.Left; hud.RichText = true -- 2. MAIN MENU (Logo & Sidebar) local mainFrame = Instance.new("Frame", gui) mainFrame.Size = UDim2.new(0, 600, 0, 450) mainFrame.Position = UDim2.new(0.5, -300, 0.5, -225) mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) mainFrame.BackgroundTransparency = settings.uiTrans mainFrame.Active = true; mainFrame.Draggable = true Instance.new("UICorner", mainFrame) Instance.new("UIStroke", mainFrame).Color = settings.themeColor local logo = Instance.new("TextLabel", mainFrame) logo.Text = "COMB4X"; logo.Size = UDim2.new(0, 100, 0, 40); logo.Position = UDim2.new(0, 15, 0, 5) logo.TextColor3 = settings.themeColor; logo.Font = Enum.Font.GothamBold; logo.TextSize = 22; logo.BackgroundTransparency = 1 local sidebar = Instance.new("Frame", mainFrame) sidebar.Size = UDim2.new(0, 100, 1, -60); sidebar.Position = UDim2.new(0, 10, 0, 50) sidebar.BackgroundTransparency = 0.8; sidebar.BackgroundColor3 = Color3.fromRGB(0, 0, 0); Instance.new("UICorner", sidebar) local container = Instance.new("Frame", mainFrame) container.Size = UDim2.new(1, -130, 1, -60); container.Position = UDim2.new(0, 120, 0, 50); container.BackgroundTransparency = 1 local tabs = {} local function createTab(name) local f = Instance.new("ScrollingFrame", container) f.Size = UDim2.new(1, 0, 1, 0); f.BackgroundTransparency = 1; f.Visible = false f.ScrollBarThickness = 2; f.CanvasSize = UDim2.new(0,0,1.5,0) Instance.new("UIListLayout", f).Padding = UDim.new(0, 5) tabs[name] = f return f end createTab("Combat"); createTab("Visuals"); createTab("Movement"); local infoTab = createTab("Info") tabs.Combat.Visible = true -- 3. LOCKED V17 CORE FUNCTIONS (DO NOT CHANGE) local function isVisible(part) local params = RaycastParams.new() params.FilterDescendantsInstances = {localPlayer.Character, part.Parent} params.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(camera.CFrame.Position, (part.Position - camera.CFrame.Position), params) return result == nil end task.spawn(function() while task.wait(1) do local t = {} for _, v in ipairs(workspace:GetDescendants()) do pcall(function() if v:IsA("Humanoid") and v.Parent:IsA("Model") and v.Parent ~= localPlayer.Character then if settings.teamCheck then local p = Players:GetPlayerFromCharacter(v.Parent) if p and p.Team == localPlayer.Team then return end end table.insert(t, v.Parent) end end) end cachedTargets = t end end) -- 4. RUNTIME (AIMBOT, ESP, & HUD) RunService.RenderStepped:Connect(function() local fps = math.floor(1 / RunService.RenderStepped:Wait()) local ping = math.floor(Stats.Network.ServerStatsItem["Data Ping"]:GetValue()) hud.Text = string.format("FPS: %d | Ping: %dms", fps, ping) -- Update Single GUI Circle fovFrame.Visible = settings.showFov fovFrame.Size = UDim2.new(0, settings.fov * 2, 0, settings.fov * 2) local center = Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2) local bestTarget = nil local shortestDist = settings.fov for _, char in ipairs(cachedTargets) do pcall(function() local head = char:FindFirstChild("Head") or char:FindFirstChildWhichIsA("BasePart") if head and char:FindFirstChildOfClass("Humanoid").Health > 0 then if not highlights[char] then highlights[char] = Instance.new("Highlight", char) highlights[char].DepthMode = Enum.HighlightDepthMode.AlwaysOnTop end highlights[char].Enabled = settings.esp highlights[char].FillColor = settings.themeColor local pos, onScreen = camera:WorldToViewportPoint(head.Position) if onScreen then local d = (Vector2.new(pos.X, pos.Y) - center).Magnitude if d < shortestDist then if not settings.wallCheck or isVisible(head) then bestTarget = head; shortestDist = d end end end end end) end if settings.aimbot and bestTarget then camera.CFrame = camera.CFrame:Lerp(CFrame.lookAt(camera.CFrame.Position, bestTarget.Position), settings.smoothness) end end) -- 5. PHYSICS & MOVEMENT (LOCKED) RunService.Stepped:Connect(function() pcall(function() local char = localPlayer.Character local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end if settings.noclip or settings.flight then for _, v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end if settings.speedHack and char:FindFirstChildOfClass("Humanoid").MoveDirection.Magnitude > 0 then hrp.CFrame = hrp.CFrame + (char:FindFirstChildOfClass("Humanoid").MoveDirection * (settings.walkSpeed / 150)) end if settings.flight then local dir = Vector3.new(0,0,0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += camera.CFrame.RightVector end hrp.Velocity = dir.Magnitude > 0 and dir.Unit * settings.flySpeed or Vector3.new(0, 0, 0) end end) end) -- 6. INTERFACE & SLIDER local function nav(name, y) local b = Instance.new("TextButton", sidebar); b.Size = UDim2.new(0.9, 0, 0, 40); b.Position = UDim2.new(0.05, 0, 0, y) b.BackgroundColor3 = Color3.fromRGB(30,30,40); b.Text = name; b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b) b.MouseButton1Click:Connect(function() for _, t in pairs(tabs) do t.Visible = false end; tabs[name].Visible = true end) end nav("Combat", 10); nav("Visuals", 60); nav("Movement", 110); nav("Info", 160) local function addBtn(name, parent, key) local b = Instance.new("TextButton", parent); b.Size = UDim2.new(0.95, 0, 0, 35); b.BackgroundColor3 = Color3.fromRGB(35, 35, 45) b.Text = name .. (settings[key] and " [ON]" or " [OFF]"); b.TextColor3 = settings[key] and settings.themeColor or Color3.new(1,1,1); Instance.new("UICorner", b) b.MouseButton1Click:Connect(function() settings[key] = not settings[key]; b.Text = name .. (settings[key] and " [ON]" or " [OFF]"); b.TextColor3 = settings[key] and settings.themeColor or Color3.new(1,1,1) end) end addBtn("Master Aimlock", tabs.Combat, "aimbot") addBtn("Wall Check", tabs.Combat, "wallCheck") addBtn("Show FOV Circle", tabs.Combat, "showFov") -- [[ FOV SLIDER ]] local sFrame = Instance.new("Frame", tabs.Combat); sFrame.Size = UDim2.new(0.9, 0, 0, 50); sFrame.BackgroundTransparency = 1 local sLab = Instance.new("TextLabel", sFrame); sLab.Size = UDim2.new(1,0,0,20); sLab.Text = "FOV: "..settings.fov; sLab.TextColor3 = Color3.new(1,1,1); sLab.BackgroundTransparency = 1 local sBar = Instance.new("Frame", sFrame); sBar.Size = UDim2.new(1,0,0,10); sBar.Position = UDim2.new(0,0,0,25); sBar.BackgroundColor3 = Color3.fromRGB(50,50,60); Instance.new("UICorner", sBar) local sDot = Instance.new("TextButton", sBar); sDot.Size = UDim2.new(0,20,1,10); sDot.AnchorPoint = Vector2.new(0.5,0.5); sDot.Position = UDim2.new((settings.fov-50)/550,0,0.5,0); sDot.BackgroundColor3 = settings.themeColor; sDot.Text = ""; Instance.new("UICorner", sDot) sDot.MouseButton1Down:Connect(function() local move = RunService.RenderStepped:Connect(function() local rel = math.clamp((UserInputService:GetMouseLocation().X - sBar.AbsolutePosition.X) / sBar.AbsoluteSize.X, 0, 1) sDot.Position = UDim2.new(rel, 0, 0.5, 0); settings.fov = math.floor(50 + (rel * 550)); sLab.Text = "FOV: "..settings.fov end) UserInputService.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then move:Disconnect() end end) end) addBtn("Master ESP", tabs.Visuals, "esp") addBtn("Team Check", tabs.Visuals, "teamCheck") addBtn("Flight Mode", tabs.Movement, "flight") addBtn("No-Clip", tabs.Movement, "noclip") addBtn("Speed Hack", tabs.Movement, "speedHack") local infoText = Instance.new("TextLabel", infoTab); infoText.Size = UDim2.new(1,-10,1,0); infoText.BackgroundTransparency = 1; infoText.TextColor3 = Color3.new(0.8,0.8,0.8); infoText.TextSize = 14; infoText.Font = Enum.Font.Gotham; infoText.TextXAlignment = Enum.TextXAlignment.Left; infoText.TextYAlignment = Enum.TextYAlignment.Top; infoText.RichText = true; infoText.TextWrapped = true infoText.Text = "COMB4X V18.8\n\n[Right Shift] Toggle Menu\nLogic Locked to V17 Stable." UserInputService.InputBegan:Connect(function(i, p) if not p and i.KeyCode == Enum.KeyCode.RightShift then mainFrame.Visible = not mainFrame.Visible end end)