-- brathuo menu v9 - by brathuo local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local MarketplaceService = game:GetService("MarketplaceService") local player = Players.LocalPlayer local mouse = player:GetMouse() -- Initialize local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") -- Get game name safely local gameName = "Unknown Game" local success, result = pcall(function() return MarketplaceService:GetProductInfo(game.PlaceId) end) if success then gameName = result.Name else gameName = "Game ID: " .. game.PlaceId end -- States local states = { immortality = {active = false, connections = {}}, noclip = {active = false, connection = nil}, infiniteJump = {active = false, connection = nil}, flight = {active = false, connection = nil, bodyVelocity = nil, speed = 50}, fullbright = {active = false, original = {}}, esp = {active = false, connections = {}, folders = {}, loops = {}}, aimbot = {active = false, connection = nil}, triggerbot = {active = false, connection = nil, delay = 100}, antiAFK = {active = false, connection = nil}, nameESP = {active = false}, healthESP = {active = false}, boxESP = {active = false}, itemESP = {active = false}, noFog = {active = false, original = nil}, showFOV = {active = true} } -- Aimbot settings local aimbotSettings = { targetPart = "Head", maxDistance = 1000, smoothness = 0.2, wallCheck = true, requireMouseButton = false, fovSize = 100 } -- Create GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "BrathuoMenu" screenGui.Parent = game.CoreGui screenGui.ResetOnSpawn = false -- FOV Circle local fovCircle = Instance.new("Frame") fovCircle.Name = "FOVCircle" fovCircle.Size = UDim2.new(0, aimbotSettings.fovSize * 2, 0, aimbotSettings.fovSize * 2) fovCircle.Position = UDim2.new(0.5, -aimbotSettings.fovSize, 0.5, -aimbotSettings.fovSize) fovCircle.BackgroundTransparency = 1 fovCircle.BorderSizePixel = 2 fovCircle.BorderColor3 = Color3.new(1, 0, 0) fovCircle.Visible = states.showFOV.active fovCircle.ZIndex = 100 fovCircle.Parent = screenGui local circleCorner = Instance.new("UICorner") circleCorner.CornerRadius = UDim.new(1, 0) circleCorner.Parent = fovCircle -- Main frame local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 500, 0, 550) mainFrame.Position = UDim2.new(0.5, -250, 0.5, -275) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 40) mainFrame.BackgroundTransparency = 0.1 mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Visible = true mainFrame.Parent = screenGui -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 40) title.Position = UDim2.new(0, 0, 0, 10) title.BackgroundTransparency = 1 title.Text = "BRATHUO MENU v9" title.TextColor3 = Color3.new(0, 1, 1) title.Font = Enum.Font.GothamBold title.TextSize = 24 title.TextStrokeColor3 = Color3.new(0, 0.3, 0.5) title.TextStrokeTransparency = 0.6 title.ZIndex = 10 title.Parent = mainFrame -- Game name display local gameNameLabel = Instance.new("TextLabel") gameNameLabel.Size = UDim2.new(1, 0, 0, 20) gameNameLabel.Position = UDim2.new(0, 0, 0, 45) gameNameLabel.BackgroundTransparency = 1 gameNameLabel.Text = gameName gameNameLabel.TextColor3 = Color3.new(0.8, 0.9, 1) gameNameLabel.Font = Enum.Font.Gotham gameNameLabel.TextSize = 12 gameNameLabel.ZIndex = 10 gameNameLabel.Parent = mainFrame -- Tabs local tabs = {"Player", "Combat", "Movement", "Visuals", "ESP", "Misc"} local tabFrames = {} local tabButtonsFrame = Instance.new("Frame") tabButtonsFrame.Size = UDim2.new(1, -20, 0, 35) tabButtonsFrame.Position = UDim2.new(0, 10, 0, 75) tabButtonsFrame.BackgroundTransparency = 1 tabButtonsFrame.Parent = mainFrame local contentFrame = Instance.new("Frame") contentFrame.Size = UDim2.new(1, -20, 1, -125) contentFrame.Position = UDim2.new(0, 10, 0, 120) contentFrame.BackgroundTransparency = 1 contentFrame.Parent = mainFrame -- Create tabs for i, tabName in ipairs(tabs) do local button = Instance.new("TextButton") button.Size = UDim2.new(0.16, 0, 1, 0) button.Position = UDim2.new(0.166 * (i-1), 0, 0, 0) button.BackgroundColor3 = i == 1 and Color3.fromRGB(60, 60, 120) or Color3.fromRGB(40, 40, 80) button.BorderSizePixel = 0 button.Text = tabName button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.GothamMedium button.TextSize = 12 button.Parent = tabButtonsFrame local tabFrame = Instance.new("ScrollingFrame") tabFrame.Size = UDim2.new(1, 0, 1, 0) tabFrame.Position = UDim2.new(0, 0, 0, 0) tabFrame.BackgroundTransparency = 1 tabFrame.Visible = (i == 1) tabFrame.CanvasSize = UDim2.new(0, 0, 0, 0) tabFrame.ScrollBarThickness = 4 tabFrame.ScrollBarImageColor3 = Color3.new(0.2, 0.5, 1) tabFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y tabFrame.Parent = contentFrame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 8) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = tabFrame local padding = Instance.new("UIPadding") padding.PaddingTop = UDim.new(0, 5) padding.PaddingLeft = UDim.new(0, 5) padding.PaddingRight = UDim.new(0, 5) padding.Parent = tabFrame tabFrames[tabName] = tabFrame button.MouseButton1Click:Connect(function() for _, frame in pairs(tabFrames) do frame.Visible = false end tabFrame.Visible = true for _, btn in pairs(tabButtonsFrame:GetChildren()) do if btn:IsA("TextButton") then btn.BackgroundColor3 = Color3.fromRGB(40, 40, 80) end end button.BackgroundColor3 = Color3.fromRGB(60, 60, 120) end) end -- Helper functions local function createToggle(parent, text, stateKey, callback) local toggleFrame = Instance.new("Frame") toggleFrame.Size = UDim2.new(1, 0, 0, 35) toggleFrame.BackgroundTransparency = 1 toggleFrame.LayoutOrder = #parent:GetChildren() toggleFrame.Parent = parent local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.new(1, -10, 1, 0) toggleButton.Position = UDim2.new(0, 5, 0, 0) toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 90) toggleButton.BorderSizePixel = 2 toggleButton.BorderColor3 = Color3.new(0.3, 0.3, 0.4) toggleButton.Text = "" toggleButton.Parent = toggleFrame local label = Instance.new("TextLabel") label.Size = UDim2.new(0.7, 0, 1, 0) label.Position = UDim2.new(0, 10, 0, 0) label.BackgroundTransparency = 1 label.Text = text label.TextColor3 = Color3.new(1, 1, 1) label.Font = Enum.Font.GothamMedium label.TextSize = 14 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = toggleButton local status = Instance.new("Frame") status.Size = UDim2.new(0, 20, 0, 20) status.Position = UDim2.new(1, -30, 0.5, -10) status.BackgroundColor3 = states[stateKey].active and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(255, 50, 50) status.BorderSizePixel = 2 status.BorderColor3 = Color3.new(0.2, 0.2, 0.3) status.Parent = toggleButton local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = status toggleButton.MouseButton1Click:Connect(function() states[stateKey].active = not states[stateKey].active if states[stateKey].active then status.BackgroundColor3 = Color3.fromRGB(0, 255, 100) else status.BackgroundColor3 = Color3.fromRGB(255, 50, 50) end callback(states[stateKey].active) end) return toggleFrame end local function createSlider(parent, text, minVal, maxVal, defaultVal, callback) local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, 0, 0, 60) sliderFrame.BackgroundTransparency = 1 sliderFrame.LayoutOrder = #parent:GetChildren() sliderFrame.Parent = parent local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -10, 0, 20) label.Position = UDim2.new(0, 5, 0, 0) label.BackgroundTransparency = 1 label.Text = text .. ": " .. defaultVal label.TextColor3 = Color3.new(1, 1, 1) label.Font = Enum.Font.GothamMedium label.TextSize = 14 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = sliderFrame local sliderContainer = Instance.new("Frame") sliderContainer.Size = UDim2.new(1, -10, 0, 20) sliderContainer.Position = UDim2.new(0, 5, 0, 25) sliderContainer.BackgroundColor3 = Color3.fromRGB(40, 40, 70) sliderContainer.BorderSizePixel = 0 sliderContainer.Parent = sliderFrame local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new((defaultVal - minVal) / (maxVal - minVal), 0, 1, 0) sliderFill.Position = UDim2.new(0, 0, 0, 0) sliderFill.BackgroundColor3 = Color3.new(0, 0.6, 1) sliderFill.BorderSizePixel = 0 sliderFill.Parent = sliderContainer local sliderButton = Instance.new("TextButton") sliderButton.Size = UDim2.new(0, 20, 1, 0) sliderButton.Position = UDim2.new(sliderFill.Size.X.Scale, -10, 0, 0) sliderButton.BackgroundColor3 = Color3.new(1, 1, 1) sliderButton.BorderSizePixel = 0 sliderButton.Text = "" sliderButton.ZIndex = 2 sliderButton.Parent = sliderContainer local dragging = false local function updateSlider(input) local xPos = math.clamp((input.Position.X - sliderContainer.AbsolutePosition.X) / sliderContainer.AbsoluteSize.X, 0, 1) local value = math.floor(minVal + (maxVal - minVal) * xPos) sliderFill.Size = UDim2.new(xPos, 0, 1, 0) sliderButton.Position = UDim2.new(xPos, -10, 0, 0) label.Text = text .. ": " .. value callback(value) end sliderButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) sliderButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then updateSlider(input) end end) return sliderFrame end -- FIXED: Update FOV Circle local function updateFOVCircle() fovCircle.Size = UDim2.new(0, aimbotSettings.fovSize * 2, 0, aimbotSettings.fovSize * 2) fovCircle.Position = UDim2.new(0.5, -aimbotSettings.fovSize, 0.5, -aimbotSettings.fovSize) fovCircle.Visible = states.showFOV.active end -- FIXED: Immortality local function setupImmortality() if not character or not humanoid then return end for _, conn in pairs(states.immortality.connections) do conn:Disconnect() end states.immortality.connections = {} local healthConn = humanoid.HealthChanged:Connect(function() if states.immortality.active and humanoid.Health < humanoid.MaxHealth then humanoid.Health = humanoid.MaxHealth end end) table.insert(states.immortality.connections, healthConn) if not character:FindFirstChild("BrathuoForceField") then local ff = Instance.new("ForceField") ff.Name = "BrathuoForceField" ff.Visible = false ff.Parent = character end local godLoop = RunService.Heartbeat:Connect(function() if not states.immortality.active or not character or not humanoid then return end pcall(function() humanoid.Health = humanoid.MaxHealth for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false part.Material = EnumMaterial.ForceField end end if humanoid:GetState() == Enum.HumanoidStateType.Dead then humanoid:ChangeState(Enum.HumanoidStateType.Running) end end) end) table.insert(states.immortality.connections, godLoop) end -- FIXED: Noclip local function setupNoclip() if states.noclip.connection then states.noclip.connection:Disconnect() end states.noclip.connection = RunService.Stepped:Connect(function() if not states.noclip.active or not character then return end for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end) end -- FIXED: Flight local function setupFlight() if states.flight.bodyVelocity then states.flight.bodyVelocity:Destroy() states.flight.bodyVelocity = nil end if states.flight.connection then states.flight.connection:Disconnect() end local root = character:FindFirstChild("HumanoidRootPart") if not root then return end states.flight.bodyVelocity = Instance.new("BodyVelocity") states.flight.bodyVelocity.Name = "BrathuoFlight" states.flight.bodyVelocity.MaxForce = Vector3.new(40000, 40000, 40000) states.flight.bodyVelocity.Velocity = Vector3.new(0, 0, 0) states.flight.bodyVelocity.Parent = root states.flight.connection = RunService.Heartbeat:Connect(function() if not states.flight.active or not states.flight.bodyVelocity or not root then return end local direction = Vector3.new(0, 0, 0) local camera = Workspace.CurrentCamera if UserInputService:IsKeyDown(Enum.KeyCode.W) then direction = direction + camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then direction = direction - camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then direction = direction - camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then direction = direction + camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then direction = direction + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then direction = direction - Vector3.new(0, 1, 0) end if direction.Magnitude > 0 then states.flight.bodyVelocity.Velocity = direction.Unit * states.flight.speed else states.flight.bodyVelocity.Velocity = Vector3.new(0, 0, 0) end end) end -- FIXED: ESP System local function createESP(playerInstance) if playerInstance == player then return end local espFolder = Instance.new("Folder") espFolder.Name = playerInstance.Name .. "_ESP" espFolder.Parent = screenGui states.esp.folders[playerInstance] = espFolder -- Box ESP if states.boxESP.active then local box = Instance.new("BoxHandleAdornment") box.Name = "Box" box.Adornee = playerInstance.Character and playerInstance.Character:FindFirstChild("HumanoidRootPart") box.AlwaysOnTop = true box.ZIndex = 10 box.Size = Vector3.new(4, 6, 1) box.Color3 = Color3.new(1, 0, 0) box.Transparency = 0.3 box.Visible = states.esp.active and states.boxESP.active box.Parent = espFolder end -- Name ESP (same size as health bar) if states.nameESP.active then local nameLabel = Instance.new("TextLabel") nameLabel.Name = "Name" nameLabel.Text = playerInstance.Name nameLabel.TextColor3 = Color3.new(1, 1, 1) nameLabel.BackgroundTransparency = 1 nameLabel.TextSize = 14 nameLabel.Font = Enum.Font.GothamBold nameLabel.Size = UDim2.new(0, 100, 0, 20) -- Same size as health bar nameLabel.Visible = states.esp.active and states.nameESP.active nameLabel.Parent = espFolder end -- FIXED: Smaller Health ESP (same size as name) if states.healthESP.active then local healthBar = Instance.new("Frame") healthBar.Name = "HealthBar" healthBar.BackgroundColor3 = Color3.new(1, 0, 0) healthBar.BorderSizePixel = 1 healthBar.BorderColor3 = Color3.new(0, 0, 0) healthBar.Size = UDim2.new(0, 100, 0, 4) -- SMALLER: 100px wide, 4px tall healthBar.Visible = states.esp.active and states.healthESP.active healthBar.Parent = espFolder local healthText = Instance.new("TextLabel") healthText.Name = "HealthText" healthText.Text = "100" healthText.TextColor3 = Color3.new(0, 1, 0) healthText.BackgroundTransparency = 1 healthText.TextSize = 12 healthText.Font = Enum.Font.GothamBold healthText.Size = UDim2.new(0, 100, 0, 15) -- Same width as health bar healthText.Visible = states.esp.active and states.healthESP.active healthText.Parent = espFolder end end local function updateESP() for playerInstance, folder in pairs(states.esp.folders) do if playerInstance.Character and playerInstance.Character:FindFirstChild("HumanoidRootPart") then local root = playerInstance.Character.HumanoidRootPart local humanoid = playerInstance.Character:FindFirstChildOfClass("Humanoid") local screenPos, onScreen = Workspace.CurrentCamera:WorldToViewportPoint(root.Position) if onScreen then -- Update box local box = folder:FindFirstChild("Box") if box then box.Adornee = root box.Visible = states.esp.active and states.boxESP.active end -- Update name (position above head) local nameLabel = folder:FindFirstChild("Name") if nameLabel then nameLabel.Position = UDim2.new(0, screenPos.X - 50, 0, screenPos.Y - 60) nameLabel.Visible = states.esp.active and states.nameESP.active end -- Update health (position below name) local healthBar = folder:FindFirstChild("HealthBar") local healthText = folder:FindFirstChild("HealthText") if healthBar and healthText and humanoid then local healthPercent = humanoid.Health / humanoid.MaxHealth healthBar.Size = UDim2.new(healthPercent, 0, 0, 4) -- Scales with health healthBar.BackgroundColor3 = Color3.new(1 - healthPercent, healthPercent, 0) healthBar.Position = UDim2.new(0, screenPos.X - 50, 0, screenPos.Y - 35) healthBar.Visible = states.esp.active and states.healthESP.active healthText.Text = math.floor(humanoid.Health) healthText.TextColor3 = healthBar.BackgroundColor3 healthText.Position = UDim2.new(0, screenPos.X - 50, 0, screenPos.Y - 30) healthText.Visible = states.esp.active and states.healthESP.active end else -- Hide if off screen for _, child in pairs(folder:GetChildren()) do if child:IsA("BoxHandleAdornment") or child:IsA("TextLabel") or child:IsA("Frame") then child.Visible = false end end end end end end local function setupESP() -- Clear existing for _, folder in pairs(states.esp.folders) do folder:Destroy() end states.esp.folders = {} for _, conn in pairs(states.esp.connections) do conn:Disconnect() end states.esp.connections = {} for _, loop in pairs(states.esp.loops) do loop:Disconnect() end states.esp.loops = {} -- Create ESP for all players for _, p in pairs(Players:GetPlayers()) do if p ~= player then createESP(p) end end -- Player added connection local playerAddedConn = Players.PlayerAdded:Connect(function(p) p.CharacterAdded:Connect(function() wait(1) createESP(p) end) end) table.insert(states.esp.connections, playerAddedConn) -- Update loop local updateLoop = RunService.RenderStepped:Connect(function() if states.esp.active then updateESP() end end) table.insert(states.esp.loops, updateLoop) end -- Character handling player.CharacterAdded:Connect(function(newChar) character = newChar humanoid = character:WaitForChild("Humanoid") if states.immortality.active then setupImmortality() end if states.flight.active then setupFlight() end if states.noclip.active then setupNoclip() end if states.esp.active then setupESP() end end) -- Player Tab local playerTab = tabFrames["Player"] createToggle(playerTab, "Immortality", "immortality", function(active) if active then setupImmortality() else for _, conn in pairs(states.immortality.connections) do conn:Disconnect() end states.immortality.connections = {} if character then local ff = character:FindFirstChild("BrathuoForceField") if ff then ff:Destroy() end end end end) createToggle(playerTab, "Noclip", "noclip", function(active) if active then setupNoclip() else if states.noclip.connection then states.noclip.connection:Disconnect() states.noclip.connection = nil end if character then for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end end end) createToggle(playerTab, "Infinite Jump", "infiniteJump", function(active) if active then states.infiniteJump.connection = UserInputService.JumpRequest:Connect(function() if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) else if states.infiniteJump.connection then states.infiniteJump.connection:Disconnect() states.infiniteJump.connection = nil end end end) -- Combat Tab local combatTab = tabFrames["Combat"] createToggle(combatTab, "Aimbot", "aimbot", function(active) if active then states.aimbot.connection = RunService.Heartbeat:Connect(function() if not states.aimbot.active then return end local closest = nil local closestDist = math.huge for _, p in pairs(Players:GetPlayers()) do if p ~= player and p.Character then local targetPart = p.Character:FindFirstChild(aimbotSettings.targetPart) if targetPart then local dist = (targetPart.Position - character.HumanoidRootPart.Position).Magnitude if dist < closestDist and dist <= aimbotSettings.maxDistance then closestDist = dist closest = targetPart end end end end if closest then local camera = Workspace.CurrentCamera camera.CFrame = camera.CFrame:Lerp( CFrame.new(camera.CFrame.Position, closest.Position), aimbotSettings.smoothness ) end end) else if states.aimbot.connection then states.aimbot.connection:Disconnect() states.aimbot.connection = nil end end end) -- Target selection local targetFrame = Instance.new("Frame") targetFrame.Size = UDim2.new(1, 0, 0, 35) targetFrame.BackgroundTransparency = 1 targetFrame.LayoutOrder = #combatTab:GetChildren() targetFrame.Parent = combatTab local targetLabel = Instance.new("TextLabel") targetLabel.Size = UDim2.new(0.4, 0, 1, 0) targetLabel.Position = UDim2.new(0, 10, 0, 0) targetLabel.BackgroundTransparency = 1 targetLabel.Text = "Target:" targetLabel.TextColor3 = Color3.new(1, 1, 1) targetLabel.Font = Enum.Font.GothamMedium targetLabel.TextSize = 14 targetLabel.TextXAlignment = Enum.TextXAlignment.Left targetLabel.Parent = targetFrame local headButton = Instance.new("TextButton") headButton.Size = UDim2.new(0.25, 0, 0.7, 0) headButton.Position = UDim2.new(0.4, 0, 0.15, 0) headButton.BackgroundColor3 = aimbotSettings.targetPart == "Head" and Color3.fromRGB(0, 150, 255) or Color3.fromRGB(60, 60, 90) headButton.Text = "Head" headButton.TextColor3 = Color3.new(1, 1, 1) headButton.Font = Enum.Font.GothamMedium headButton.TextSize = 12 headButton.Parent = targetFrame local bodyButton = Instance.new("TextButton") bodyButton.Size = UDim2.new(0.25, 0, 0.7, 0) bodyButton.Position = UDim2.new(0.7, 0, 0.15, 0) bodyButton.BackgroundColor3 = aimbotSettings.targetPart == "HumanoidRootPart" and Color3.fromRGB(0, 150, 255) or Color3.fromRGB(60, 60, 90) bodyButton.Text = "Body" bodyButton.TextColor3 = Color3.new(1, 1, 1) bodyButton.Font = Enum.Font.GothamMedium bodyButton.TextSize = 12 bodyButton.Parent = targetFrame headButton.MouseButton1Click:Connect(function() aimbotSettings.targetPart = "Head" headButton.BackgroundColor3 = Color3.fromRGB(0, 150, 255) bodyButton.BackgroundColor3 = Color3.fromRGB(60, 60, 90) end) bodyButton.MouseButton1Click:Connect(function() aimbotSettings.targetPart = "HumanoidRootPart" bodyButton.BackgroundColor3 = Color3.fromRGB(0, 150, 255) headButton.BackgroundColor3 = Color3.fromRGB(60, 60, 90) end) createToggle(combatTab, "Show FOV Circle", "showFOV", function(active) states.showFOV.active = active updateFOVCircle() end) createSlider(combatTab, "FOV Circle Size", 10, 500, 100, function(value) aimbotSettings.fovSize = value updateFOVCircle() end) createSlider(combatTab, "Max Distance", 10, 5000, 1000, function(value) aimbotSettings.maxDistance = value end) createSlider(combatTab, "Smoothness", 1, 100, 20, function(value) aimbotSettings.smoothness = value / 100 end) createToggle(combatTab, "Trigger Bot", "triggerbot", function(active) if active then states.triggerbot.connection = RunService.Heartbeat:Connect(function() if not states.triggerbot.active then return end local target = mouse.Target if target then local model = target:FindFirstAncestorOfClass("Model") if model then local humanoid = model:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.Health > 0 then wait(states.triggerbot.delay / 1000) mouse1click() end end end end) else if states.triggerbot.connection then states.triggerbot.connection:Disconnect() states.triggerbot.connection = nil end end end) createSlider(combatTab, "Trigger Delay", 1, 500, 100, function(value) states.triggerbot.delay = value end) -- Movement Tab local movementTab = tabFrames["Movement"] createToggle(movementTab, "Flight", "flight", function(active) if active then setupFlight() else if states.flight.connection then states.flight.connection:Disconnect() states.flight.connection = nil end if states.flight.bodyVelocity then states.flight.bodyVelocity:Destroy() states.flight.bodyVelocity = nil end end end) createSlider(movementTab, "Fly Speed", 1, 200, 50, function(value) states.flight.speed = value end) createSlider(movementTab, "Walk Speed", 16, 200, 16, function(value) if humanoid then humanoid.WalkSpeed = value end end) createSlider(movementTab, "Jump Power", 50, 500, 50, function(value) if humanoid then humanoid.JumpPower = value end end) createSlider(movementTab, "Speed Multiplier", 0.1, 5, 1, function(value) if humanoid then humanoid.WalkSpeed = 16 * value end end) -- Visuals Tab local visualsTab = tabFrames["Visuals"] createToggle(visualsTab, "FullBright", "fullbright", function(active) if active then states.fullbright.original.ambient = Lighting.Ambient states.fullbright.original.brightness = Lighting.Brightness Lighting.Ambient = Color3.new(1, 1, 1) Lighting.Brightness = 2 else if states.fullbright.original.ambient then Lighting.Ambient = states.fullbright.original.ambient Lighting.Brightness = states.fullbright.original.brightness else Lighting.Ambient = Color3.new(0.5, 0.5, 0.5) Lighting.Brightness = 1 end end end) createToggle(visualsTab, "No Fog", "noFog", function(active) if active then states.noFog.original = Lighting.FogEnd Lighting.FogEnd = 1000000 else if states.noFog.original then Lighting.FogEnd = states.noFog.original else Lighting.FogEnd = 10000 end end end) -- ESP Tab (FIXED: ESP Master now works) local espTab = tabFrames["ESP"] createToggle(espTab, "ESP Master", "esp", function(active) if active then setupESP() else for _, folder in pairs(states.esp.folders) do folder:Destroy() end states.esp.folders = {} for _, conn in pairs(states.esp.connections) do conn:Disconnect() end states.esp.connections = {} for _, loop in pairs(states.esp.loops) do loop:Disconnect() end states.esp.loops = {} end end) createToggle(espTab, "Name ESP", "nameESP", function(active) states.nameESP.active = active if states.esp.active then setupESP() end end) createToggle(espTab, "Box ESP", "boxESP", function(active) states.boxESP.active = active if states.esp.active then setupESP() end end) createToggle(espTab, "Health ESP", "healthESP", function(active) states.healthESP.active = active if states.esp.active then setupESP() end end) createToggle(espTab, "Item ESP", "itemESP", function(active) states.itemESP.active = active end) -- Misc Tab local miscTab = tabFrames["Misc"] createToggle(miscTab, "Anti-AFK", "antiAFK", function(active) if active then local vu = game:GetService("VirtualUser") states.antiAFK.connection = Players.LocalPlayer.Idled:Connect(function() vu:Button2Down(Vector2.new(0,0), Workspace.CurrentCamera.CFrame) wait(1) vu:Button2Up(Vector2.new(0,0), Workspace.CurrentCamera.CFrame) end) else if states.antiAFK.connection then states.antiAFK.connection:Disconnect() states.antiAFK.connection = nil end end end) -- Buttons for Misc local function createMiscButton(text, color, callback) local button = Instance.new("TextButton") button.Size = UDim2.new(1, -10, 0, 35) button.Position = UDim2.new(0, 5, 0, 0) button.BackgroundColor3 = color button.BorderSizePixel = 0 button.Text = text button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.GothamMedium button.TextSize = 14 button.LayoutOrder = #miscTab:GetChildren() button.Parent = miscTab button.MouseButton1Click:Connect(callback) return button end createMiscButton("FPS Boost", Color3.fromRGB(60, 60, 100), function() settings().Rendering.QualityLevel = 1 Lighting.GlobalShadows = false warn("FPS Boost applied") end) createMiscButton("Rejoin Server", Color3.fromRGB(80, 120, 200), function() game:GetService("TeleportService"):Teleport(game.PlaceId, player) end) createMiscButton("Copy Game ID", Color3.fromRGB(80, 200, 120), function() setclipboard(tostring(game.PlaceId)) warn("Game ID copied to clipboard: " .. game.PlaceId) end) -- Game Info local gameInfoFrame = Instance.new("Frame") gameInfoFrame.Size = UDim2.new(1, -10, 0, 80) gameInfoFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 80) gameInfoFrame.BorderSizePixel = 0 gameInfoFrame.LayoutOrder = #miscTab:GetChildren() gameInfoFrame.Parent = miscTab local gameInfoLabel = Instance.new("TextLabel") gameInfoLabel.Size = UDim2.new(1, -10, 1, -10) gameInfoLabel.Position = UDim2.new(0, 5, 0, 5) gameInfoLabel.BackgroundTransparency = 1 gameInfoLabel.Text = "Game: " .. gameName .. "\nPlayers: " .. #Players:GetPlayers() .. "/" .. game.Players.MaxPlayers gameInfoLabel.TextColor3 = Color3.new(1, 1, 1) gameInfoLabel.Font = Enum.Font.Gotham gameInfoLabel.TextSize = 12 gameInfoLabel.TextWrapped = true gameInfoLabel.TextXAlignment = Enum.TextXAlignment.Left gameInfoLabel.Parent = gameInfoFrame -- Unload Button createMiscButton("UNLOAD MENU", Color3.fromRGB(255, 50, 50), function() -- Disconnect all for stateName, stateData in pairs(states) do if stateData.connection then pcall(function() stateData.connection:Disconnect() end) end if stateData.connections then for _, conn in pairs(stateData.connections) do pcall(function() conn:Disconnect() end) end end if stateData.loops then for _, loop in pairs(stateData.loops) do pcall(function() loop:Disconnect() end) end end end -- Cleanup if states.flight.bodyVelocity then states.flight.bodyVelocity:Destroy() end if character then local ff = character:FindFirstChild("BrathuoForceField") if ff then ff:Destroy() end end if fovCircle then fovCircle:Destroy() end if states.fullbright.original.ambient then Lighting.Ambient = states.fullbright.original.ambient Lighting.Brightness = states.fullbright.original.brightness end if states.noFog.original then Lighting.FogEnd = states.noFog.original end -- Restore collision if character then for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end -- Reset speed if humanoid then humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 end screenGui:Destroy() warn("brathuo menu v9 unloaded") end) -- Toggle menu with Insert UserInputService.InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.Insert then mainFrame.Visible = not mainFrame.Visible end end) -- Initialization warn("brathuo menu v9 loaded") warn("Game: " .. gameName) warn("Health ESP fixed - smaller bar") warn("ESP Master working") warn("FOV Circle adjustable") warn("Press Insert to toggle menu")