local maxDistance = 25 local maxHeightDiff = 10 local scanInterval = 0.2 local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local ProximityPromptService = game:GetService("ProximityPromptService") local UserInputService = game:GetService("UserInputService") local VirtualUser = game:GetService("VirtualUser") local LocalPlayer = Players.LocalPlayer local AutoFaceEnabled = false local BoostFPSEnabled = false local FullBrightEnabled = false local ESPProwlerEnabled = false local InteractivityESPEnabled = false local NoclipEnabled = false local ShiftLockEnabled = false local CustomWalkSpeed = 17 local GuiVisible = true local closestTarget = nil local origAmbient = Lighting.Ambient local origOutdoorAmbient = Lighting.OutdoorAmbient local origBrightness = Lighting.Brightness local origClockTime = Lighting.ClockTime local origFogColor = Lighting.FogColor local origFogEnd = Lighting.FogEnd local origFogStart = Lighting.FogStart local activeHighlights = {} local activeInteractESP = {} local cameraX = 0 local cameraY = 0 local sensitivity = 0.5 local smoothCameraCFrame = CFrame.new() local randomAngleOffset = 0 local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "OELightCenteredStatusGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local StatusContainer = Instance.new("Frame") StatusContainer.Name = "StatusContainer" StatusContainer.Size = UDim2.new(0, 400, 1, 0) StatusContainer.Position = UDim2.new(0.5, -200, 0.15, 0) StatusContainer.BackgroundTransparency = 1 StatusContainer.Parent = ScreenGui local StatusGrid = Instance.new("UIGridLayout") StatusGrid.Parent = StatusContainer StatusGrid.CellSize = UDim2.new(0, 120, 0, 30) StatusGrid.CellPadding = UDim2.new(0, 8, 0, 8) StatusGrid.SortOrder = Enum.SortOrder.LayoutOrder StatusGrid.HorizontalAlignment = Enum.HorizontalAlignment.Center StatusGrid.VerticalAlignment = Enum.VerticalAlignment.Center local function createStatusTag(text, layoutOrder) local btn = Instance.new("TextButton") btn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Text = text btn.Font = Enum.Font.SourceSansBold btn.TextSize = 12 btn.LayoutOrder = layoutOrder btn.Parent = StatusContainer Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 5) return btn end local FaceTag = createStatusTag("Auto Face [J]", 1) local ProwlerTag = createStatusTag("ESP Prowler [P]", 2) local InteractTag = createStatusTag("ESP Interact [L]", 3) local NoclipTag = createStatusTag("Noclip [N]", 4) local FullBrightTag = createStatusTag("Full Bright", 5) local ShiftLockTag = createStatusTag("ShiftLock [Shift]", 6) local BoostFPSTag = createStatusTag("Boost FPS", 7) local ToggleGuiButton = Instance.new("TextButton") ToggleGuiButton.Name = "ToggleGuiButton" ToggleGuiButton.Size = UDim2.new(0, 40, 0, 40) ToggleGuiButton.Position = UDim2.new(0.5, -20, 0.8, 0) ToggleGuiButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) ToggleGuiButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleGuiButton.Text = "Ctrl" ToggleGuiButton.Font = Enum.Font.SourceSansBold ToggleGuiButton.TextSize = 20 ToggleGuiButton.Parent = ScreenGui Instance.new("UICorner", ToggleGuiButton).CornerRadius = UDim.new(1, 0) local function toggleGui() GuiVisible = not GuiVisible StatusContainer.Visible = GuiVisible ToggleGuiButton.BackgroundColor3 = GuiVisible and Color3.fromRGB(40, 40, 40) or Color3.fromRGB(150, 40, 40) end ToggleGuiButton.MouseButton1Click:Connect(toggleGui) local function updateTagVisuals() ProwlerTag.BackgroundColor3 = ESPProwlerEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) InteractTag.BackgroundColor3 = InteractivityESPEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) NoclipTag.BackgroundColor3 = NoclipEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) ShiftLockTag.BackgroundColor3 = ShiftLockEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) FaceTag.BackgroundColor3 = AutoFaceEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) BoostFPSTag.BackgroundColor3 = BoostFPSEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) FullBrightTag.BackgroundColor3 = FullBrightEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) end local function applyESP(model, color) if not model or activeHighlights[model] then return end local highlight = Instance.new("Highlight") highlight.Name = "CustomESP" highlight.FillColor = color highlight.FillTransparency = 0.6 highlight.OutlineColor = color highlight.OutlineTransparency = 0 highlight.Adornee = model highlight.Parent = model activeHighlights[model] = {Object = highlight, Color = color} end local function removeESP(model) if activeHighlights[model] then if activeHighlights[model].Object then activeHighlights[model].Object:Destroy() end activeHighlights[model] = nil end end local function applyInteractESP(part) if activeInteractESP[part] then return end local highlight = Instance.new("Highlight") highlight.Name = "InteractESP" highlight.FillColor = Color3.fromRGB(0, 255, 100) highlight.FillTransparency = 0.5 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.OutlineTransparency = 0 highlight.Adornee = part highlight.Parent = part activeInteractESP[part] = highlight end local function removeInteractESP(part) if activeInteractESP[part] then activeInteractESP[part]:Destroy() activeInteractESP[part] = nil end end local function updateInteractESPVisibility() if not InteractivityESPEnabled then for part, _ in pairs(activeInteractESP) do removeInteractESP(part) end return end for _, descendant in pairs(workspace:GetDescendants()) do if descendant:IsA("ProximityPrompt") and descendant.KeyboardKeyCode == Enum.KeyCode.E then local targetPart = descendant.Parent if targetPart and (targetPart:IsA("BasePart") or targetPart:IsA("Model")) then applyInteractESP(targetPart) end end end end ProximityPromptService.PromptShown:Connect(function(prompt) if InteractivityESPEnabled and prompt.KeyboardKeyCode == Enum.KeyCode.E then local targetPart = prompt.Parent if targetPart and (targetPart:IsA("BasePart") or targetPart:IsA("Model")) then applyInteractESP(targetPart) end end end) local function checkAndApplyESP(obj) if not obj:IsA("Model") then return end local nameLower = string.lower(obj.Name) if ESPProwlerEnabled and string.find(nameLower, "prowler") then applyESP(obj, Color3.fromRGB(0, 255, 255)) end end local function updateESPVisibility() if not ESPProwlerEnabled then for model, _ in pairs(activeHighlights) do removeESP(model) end return end for _, obj in pairs(workspace:GetChildren()) do checkAndApplyESP(obj) for _, subObj in pairs(obj:GetChildren()) do checkAndApplyESP(subObj) end end end workspace.DescendantRemoving:Connect(function(descendant) removeESP(descendant) removeInteractESP(descendant) end) local isOptimizing = false local function isCreature(model) if not model:IsA("Model") then return false end if model == LocalPlayer.Character then return false end if Players:GetPlayerFromCharacter(model) then return false end return model:FindFirstChildOfClass("Humanoid") ~= nil end local function optimizeCreature(model) if not model then return end for _, item in pairs(model:GetChildren()) do if item:IsA("Accessory") or item:IsA("Clothing") or item:IsA("ShirtGraphic") or item:IsA("CharacterMesh") then item:Destroy() end end end local function optimizeExistingCreatures() for _, obj in pairs(workspace:GetDescendants()) do if isCreature(obj) then optimizeCreature(obj) end end end local function enforceFullBrightSettings() Lighting.Ambient = Color3.fromRGB(255, 255, 255) Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 999999 Lighting.GlobalShadows = false end local function updateFullBright() if FullBrightEnabled then enforceFullBrightSettings() else Lighting.Ambient = origAmbient Lighting.OutdoorAmbient = origOutdoorAmbient Lighting.Brightness = origBrightness Lighting.ClockTime = origClockTime Lighting.FogColor = origFogColor Lighting.FogEnd = origFogEnd Lighting.FogStart = origFogStart Lighting.GlobalShadows = true end end local function updateBoostFPS() if BoostFPSEnabled then isOptimizing = true task.spawn(optimizeExistingCreatures) else isOptimizing = false end end workspace.DescendantAdded:Connect(function(descendant) if descendant.Parent == workspace or (descendant.Parent and descendant.Parent.Parent == workspace) then checkAndApplyESP(descendant) end if BoostFPSEnabled then task.wait(0.05) if isCreature(descendant) then optimizeCreature(descendant) end end end) local function toggleNoclip() NoclipEnabled = not NoclipEnabled updateTagVisuals() end local function toggleFakeShiftLock() ShiftLockEnabled = not ShiftLockEnabled if ShiftLockEnabled then UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter local camera = workspace.CurrentCamera local char = LocalPlayer.Character local rootPart = char and char:FindFirstChild("HumanoidRootPart") if camera and rootPart then local _, y, _ = rootPart.CFrame:ToOrientation() cameraX = math.deg(y) cameraY = 0 smoothCameraCFrame = camera.CFrame end else UserInputService.MouseBehavior = Enum.MouseBehavior.Default end updateTagVisuals() end local function toggleAutoFace() AutoFaceEnabled = not AutoFaceEnabled if not AutoFaceEnabled then closestTarget = nil end updateTagVisuals() end local function toggleBoostFPS() BoostFPSEnabled = not BoostFPSEnabled updateBoostFPS() updateTagVisuals() end local function toggleFullBright() FullBrightEnabled = not FullBrightEnabled updateFullBright() updateTagVisuals() end local function toggleProwler() ESPProwlerEnabled = not ESPProwlerEnabled updateESPVisibility() updateTagVisuals() end local function toggleInteract() InteractivityESPEnabled = not InteractivityESPEnabled updateInteractESPVisibility() updateTagVisuals() end ProwlerTag.MouseButton1Click:Connect(toggleProwler) InteractTag.MouseButton1Click:Connect(toggleInteract) NoclipTag.MouseButton1Click:Connect(toggleNoclip) ShiftLockTag.MouseButton1Click:Connect(toggleFakeShiftLock) FaceTag.MouseButton1Click:Connect(toggleAutoFace) BoostFPSTag.MouseButton1Click:Connect(toggleBoostFPS) FullBrightTag.MouseButton1Click:Connect(toggleFullBright) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end local code = input.KeyCode if code == Enum.KeyCode.LeftControl or code == Enum.KeyCode.RightControl then toggleGui() elseif code == Enum.KeyCode.N then toggleNoclip() elseif code == Enum.KeyCode.LeftShift then toggleFakeShiftLock() elseif code == Enum.KeyCode.J then toggleAutoFace() elseif code == Enum.KeyCode.P then toggleProwler() elseif code == Enum.KeyCode.L then toggleInteract() end end) UserInputService.InputChanged:Connect(function(input, gameProcessed) if not ShiftLockEnabled then return end if input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Delta cameraX = cameraX - (delta.X * sensitivity) cameraY = cameraY - (delta.Y * sensitivity) cameraY = math.clamp(cameraY, -80, 80) end end) local function isValidTarget(obj) if not obj then return false end local humanoid = obj:FindFirstChildOfClass("Humanoid") if not humanoid or humanoid.Health <= 0 then return false end if obj == LocalPlayer.Character then return false end if Players:GetPlayerFromCharacter(obj) then return false end if humanoid.Health > 50000 or (humanoid.Health == 100 and humanoid.MaxHealth == 100) then return false end return true end RunService.RenderStepped:Connect(function() local char = LocalPlayer.Character local camera = workspace.CurrentCamera local myRoot = char and char:FindFirstChild("HumanoidRootPart") if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then if hum.WalkSpeed ~= CustomWalkSpeed then hum.WalkSpeed = CustomWalkSpeed end end if NoclipEnabled then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end end if FullBrightEnabled then enforceFullBrightSettings() end if AutoFaceEnabled and closestTarget and myRoot then local targetRoot = closestTarget:FindFirstChild("HumanoidRootPart") or closestTarget:FindFirstChild("Head") if targetRoot then local myPos = myRoot.Position local rawTargetPos = Vector3.new(targetRoot.Position.X, myRoot.Position.Y, targetRoot.Position.Z) local direction = (rawTargetPos - myPos).Unit local rotatedDirection = CFrame.Angles(0, math.rad(randomAngleOffset), 0) * direction local finalTargetPos = myPos + rotatedDirection * (myPos - rawTargetPos).Magnitude local targetCFrame = CFrame.lookAt(myPos, finalTargetPos) myRoot.CFrame = myRoot.CFrame:Lerp(targetCFrame, 0.22) end end if ShiftLockEnabled and camera then UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter if myRoot then local targetOffset = Vector3.new(1.7, 2, 20) local startCFrame = CFrame.new(myRoot.Position) local rotationCFrame = CFrame.Angles(0, math.rad(cameraX), 0) * CFrame.Angles(math.rad(cameraY), 0, 0) local idealCameraCFrame = startCFrame * rotationCFrame * CFrame.new(targetOffset) local rayStart = myRoot.Position + Vector3.new(0, targetOffset.Y, 0) local rayEnd = idealCameraCFrame.Position local rayDirection = rayEnd - rayStart local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Exclude local filterList = {char, camera} for _, p in pairs(Players:GetPlayers()) do if p.Character then table.insert(filterList, p.Character) end end raycastParams.FilterDescendantsInstances = filterList local raycastResult = workspace:Raycast(rayStart, rayDirection, raycastParams) local targetCFrame = idealCameraCFrame if raycastResult then local hitPosition = raycastResult.Position local safeDirection = (hitPosition - rayStart).Unit local safeDistance = (hitPosition - rayStart).Magnitude - 0.5 if safeDistance < 1 then safeDistance = 1 end local safeCameraPos = rayStart + (safeDirection * safeDistance) targetCFrame = CFrame.new(safeCameraPos) * rotationCFrame end smoothCameraCFrame = smoothCameraCFrame:Lerp(targetCFrame, 0.25) camera.CFrame = smoothCameraCFrame end end end) local function getGaussianDelay() local sum = 0 for i = 1, 3 do sum = sum + math.random(200, 300) end return (sum / 3) / 1000 end task.spawn(function() while true do if AutoFaceEnabled and closestTarget then VirtualUser:CaptureController() VirtualUser:ClickButton1(Vector2.new(0, 0)) local smartDelay = getGaussianDelay() task.wait(smartDelay) else task.wait(0.1) end end end) task.spawn(function() while true do if AutoFaceEnabled then randomAngleOffset = math.random(-3, 3) task.wait(math.random(300, 600) / 1000) else task.wait(0.5) end end end) task.spawn(function() while task.wait(scanInterval) do if not AutoFaceEnabled then closestTarget = nil continue end local character = LocalPlayer.Character if not character or not character:FindFirstChild("HumanoidRootPart") then closestTarget = nil continue end local myRoot = character.HumanoidRootPart local myPos = myRoot.Position local shortestDistance = math.huge local tempTarget = nil local boxSize = Vector3.new(maxDistance * 2, maxHeightDiff * 2, maxDistance * 2) local boxCFrame = myRoot.CFrame local partsInBox = workspace:GetPartBoundsInBox(boxCFrame, boxSize) local checkedModels = {} for _, part in pairs(partsInBox) do local model = part.Parent if model and model:IsA("Model") and not checkedModels[model] then checkedModels[model] = true if isValidTarget(model) then local targetRoot = model:FindFirstChild("HumanoidRootPart") or model:FindFirstChild("Head") if targetRoot then local distance = (myPos - targetRoot.Position).Magnitude if distance <= maxDistance then local heightDiff = math.abs(myPos.Y - targetRoot.Position.Y) if heightDiff <= maxHeightDiff then if distance < shortestDistance then shortestDistance = distance tempTarget = model end end end end end end end closestTarget = tempTarget end end) updateTagVisuals()