local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local lp = Players.LocalPlayer local camera = workspace.CurrentCamera -- Camera FOV camera.FieldOfView = 200 -- Feature Toggle States local settings = { Fullbright = true, ESP = true, FOVCircle = true, Aimbot = true } -- Fullbright local function enableFullbright() Lighting.Ambient = Color3.new(1, 1, 1) Lighting.OutdoorAmbient = Color3.new(1, 1, 1) Lighting.Brightness = 5 Lighting.GlobalShadows = false Lighting.ClockTime = 14 Lighting.FogEnd = 100000 end -- UI Setup local screenGui = Instance.new("ScreenGui", lp:WaitForChild("PlayerGui")) screenGui.Name = "UtilityUI" screenGui.ResetOnSpawn = false local mainFrame = Instance.new("Frame", screenGui) mainFrame.Position = UDim2.new(0, 20, 0, 100) mainFrame.Size = UDim2.new(0, 220, 0, 180) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) mainFrame.BorderSizePixel = 0 mainFrame.BackgroundTransparency = 0.1 mainFrame.Active = true mainFrame.Draggable = true local layout = Instance.new("UIListLayout", mainFrame) layout.Padding = UDim.new(0, 6) layout.SortOrder = Enum.SortOrder.LayoutOrder local title = Instance.new("TextLabel", mainFrame) title.Text = "Utility Toggles" title.Size = UDim2.new(1, 0, 0, 24) title.BackgroundTransparency = 1 title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.Gotham title.TextSize = 18 local function createToggle(name, callback) local container = Instance.new("Frame", mainFrame) container.Size = UDim2.new(1, -10, 0, 30) container.BackgroundTransparency = 1 local button = Instance.new("TextButton", container) button.Size = UDim2.new(0, 24, 0, 24) button.Position = UDim2.new(0, 0, 0.5, -12) button.BackgroundColor3 = Color3.fromRGB(60, 60, 60) button.Text = settings[name] and "✓" or "" button.TextColor3 = Color3.new(1, 1, 1) button.Font = Enum.Font.Gotham button.TextSize = 16 button.AutoButtonColor = false local label = Instance.new("TextLabel", container) label.Position = UDim2.new(0, 30, 0, 0) label.Size = UDim2.new(1, -30, 1, 0) label.BackgroundTransparency = 1 label.Text = name label.TextColor3 = Color3.fromRGB(255, 255, 255) label.Font = Enum.Font.Gotham label.TextSize = 16 label.TextXAlignment = Enum.TextXAlignment.Left button.MouseButton1Click:Connect(function() settings[name] = not settings[name] button.Text = settings[name] and "✓" or "" callback(settings[name]) end) end -- FOV Circle Drawing local fovCircle = Drawing.new("Circle") fovCircle.Radius = 150 fovCircle.Thickness = 1 fovCircle.Color = Color3.fromRGB(255, 255, 0) fovCircle.Transparency = 1 fovCircle.NumSides = 100 fovCircle.Filled = false fovCircle.Visible = settings.FOVCircle RunService.RenderStepped:Connect(function() local mousePos = UserInputService:GetMouseLocation() fovCircle.Position = Vector2.new(mousePos.X, mousePos.Y) fovCircle.Visible = settings.FOVCircle end) -- Toggle Feature Logic createToggle("Fullbright", function(state) if state then enableFullbright() end end) createToggle("ESP", function() end) createToggle("FOVCircle", function() end) createToggle("Aimbot", function() end) -- UI Toggle with P UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.KeyCode == Enum.KeyCode.P then mainFrame.Visible = not mainFrame.Visible end end) -- Aimbot Logic local aiming = false local aimRadius = 150 local currentTarget = nil local function getClosestTarget() local mousePos = UserInputService:GetMouseLocation() local minDist = aimRadius local closest = nil for _, model in ipairs(workspace:GetDescendants()) do if model:IsA("Model") and model ~= lp.Character then local humanoid = model:FindFirstChildOfClass("Humanoid") local head = model:FindFirstChild("Head") if humanoid and head and humanoid.Health > 0 then local screenPos, onScreen = camera:WorldToViewportPoint(head.Position) if onScreen then local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude if dist < minDist then minDist = dist closest = head end end end end end return closest end RunService.RenderStepped:Connect(function() if settings.Aimbot and aiming then if currentTarget and currentTarget:IsDescendantOf(workspace) then local screenPos, onScreen = camera:WorldToViewportPoint(currentTarget.Position) local dist = (Vector2.new(screenPos.X, screenPos.Y) - UserInputService:GetMouseLocation()).Magnitude local char = currentTarget:FindFirstAncestorOfClass("Model") local humanoid = char and char:FindFirstChildOfClass("Humanoid") if not onScreen or dist > aimRadius or not humanoid or humanoid.Health <= 0 then currentTarget = nil end else currentTarget = nil end if not currentTarget then currentTarget = getClosestTarget() end if currentTarget and currentTarget:IsA("BasePart") then camera.CFrame = CFrame.new(camera.CFrame.Position, currentTarget.Position) end end end) UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = true end end) UserInputService.InputEnded:Connect(function(input, gpe) if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = false currentTarget = nil end end) -- ESP Setup local highlights = {} local boxDrawings = {} local nameLabels = {} local distanceLabels = {} local defaultColors = {} local processedModels = {} local function setupESP(character) if processedModels[character] then return end processedModels[character] = true local humanoid = character:FindFirstChildOfClass("Humanoid") local head = character:FindFirstChild("Head") local hrp = character:FindFirstChild("HumanoidRootPart") if not humanoid or not head or not hrp then return end local isPlayer = Players:GetPlayerFromCharacter(character) ~= nil local baseColor = isPlayer and Color3.fromRGB(0, 170, 255) or Color3.fromRGB(255, 0, 0) local visibleColor = Color3.fromRGB(255, 255, 0) defaultColors[character] = baseColor local highlight = Instance.new("Highlight") highlight.Adornee = character highlight.FillColor = baseColor highlight.OutlineColor = Color3.new(0, 0, 0) highlight.Parent = character highlights[character] = highlight local box = Drawing.new("Square") box.Thickness = 1 box.Transparency = 1 box.Filled = false box.Color = baseColor boxDrawings[character] = box local nameLabel = Drawing.new("Text") nameLabel.Size = 16 nameLabel.Center = true nameLabel.Outline = true nameLabel.Color = baseColor nameLabel.Text = character.Name nameLabels[character] = nameLabel local distanceLabel = Drawing.new("Text") distanceLabel.Size = 16 distanceLabel.Center = true distanceLabel.Outline = true distanceLabel.Color = baseColor distanceLabels[character] = distanceLabel local function cleanup() if highlights[character] then highlights[character]:Destroy() end if box then box.Visible = false box:Remove() end if nameLabel then nameLabel.Visible = false nameLabel:Remove() end if distanceLabel then distanceLabel.Visible = false distanceLabel:Remove() end highlights[character] = nil boxDrawings[character] = nil nameLabels[character] = nil distanceLabels[character] = nil end character.AncestryChanged:Connect(function(_, parent) if not parent then cleanup() end end) humanoid.Died:Connect(cleanup) RunService.RenderStepped:Connect(function() if not settings.ESP then box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false return end if humanoid.Health <= 0 then return end local onscreen, visible = false, false local pos if hrp and head then pos, onscreen = camera:WorldToViewportPoint(hrp.Position) local origin = camera.CFrame.Position local direction = (head.Position - origin) local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {lp.Character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist raycastParams.IgnoreWater = true local result = workspace:Raycast(origin, direction.Unit * direction.Magnitude, raycastParams) visible = result and (result.Instance:IsDescendantOf(head.Parent)) end local col = visible and visibleColor or baseColor highlight.FillColor = col box.Color = col nameLabel.Color = col distanceLabel.Color = col if onscreen then local size = 3.5 local topLeft = camera:WorldToViewportPoint(hrp.Position + Vector3.new(-size, size * 2, 0)) local bottomRight = camera:WorldToViewportPoint(hrp.Position + Vector3.new(size, -size * 2, 0)) box.Position = Vector2.new(topLeft.X, topLeft.Y) box.Size = Vector2.new(bottomRight.X - topLeft.X, bottomRight.Y - topLeft.Y) box.Visible = true nameLabel.Position = Vector2.new(pos.X, pos.Y - 20) nameLabel.Visible = true local dist = (lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") and (lp.Character.HumanoidRootPart.Position - hrp.Position).Magnitude) or 0 distanceLabel.Position = Vector2.new(pos.X, pos.Y + 25) distanceLabel.Text = string.format("%.1fm", dist) distanceLabel.Visible = true else box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false end end) end for _, model in ipairs(workspace:GetDescendants()) do if model:IsA("Model") and not processedModels[model] and model ~= lp.Character then if model:FindFirstChildOfClass("Humanoid") then setupESP(model) end end end workspace.DescendantAdded:Connect(function(desc) local model = desc:FindFirstAncestorOfClass("Model") if model and not processedModels[model] and model ~= lp.Character and model:FindFirstChildOfClass("Humanoid") then task.delay(0.1, function() setupESP(model) end) end end) local function onPlayer(player) local function onCharacterAdded(character) task.delay(0.2, function() if character and character:FindFirstChildOfClass("Humanoid") then setupESP(character) end end) end if player.Character then onCharacterAdded(player.Character) end player.CharacterAdded:Connect(onCharacterAdded) end for _, p in ipairs(Players:GetPlayers()) do if p ~= lp then onPlayer(p) end end Players.PlayerAdded:Connect(onPlayer) -- Enable fullbright initially if on if settings.Fullbright then enableFullbright() end