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 LocalPlayer = Players.LocalPlayer local AutoFaceEnabled = false local BoostFPSEnabled = false local AutoSwingEnabled = false local ESPProwlerEnabled = false local ESPZombieEnabled = false local ESPWalkerEnabled = false local InteractivityESPEnabled = false local NoclipEnabled = false local FakeShiftLockEnabled = false local CustomWalkSpeed = 16 local MenuKeybind = Enum.KeyCode.LeftControl local IsBindingMenuKey = false 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 ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "OEMenuGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local StatusContainer = Instance.new("Frame") StatusContainer.Name = "StatusContainer" StatusContainer.Size = UDim2.new(0, 500, 0, 40) StatusContainer.Position = UDim2.new(0.6, -5, 0.8, 0) StatusContainer.BackgroundTransparency = 1 StatusContainer.Parent = ScreenGui local StatusLayout = Instance.new("UIListLayout") StatusLayout.Parent = StatusContainer StatusLayout.FillDirection = Enum.FillDirection.Horizontal StatusLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right StatusLayout.VerticalAlignment = Enum.VerticalAlignment.Center StatusLayout.Padding = UDim.new(0, 6) local activeTags = {} local function updateStatusContainer() for _, tag in pairs(activeTags) do if tag then tag:Destroy() end end activeTags = {} local statusList = { {Enabled = ESPProwlerEnabled, Text = "ESP Prowler", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = ESPZombieEnabled, Text = "ESP Zombie", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = ESPWalkerEnabled, Text = "ESP Walker", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = InteractivityESPEnabled, Text = "ESP Interact", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = NoclipEnabled, Text = "Noclip", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = FakeShiftLockEnabled, Text = "ShiftLock", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = AutoFaceEnabled, Text = "Auto Face [J]", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = BoostFPSEnabled, Text = "Boost FPS", Color = Color3.fromRGB(255, 255, 255)}, {Enabled = AutoSwingEnabled, Text = "Auto Kill [Melee]", Color = Color3.fromRGB(255, 255, 255)}, } for _, item in ipairs(statusList) do if item.Enabled then local tag = Instance.new("TextLabel") tag.Name = "StatusTag_" .. item.Text tag.BackgroundColor3 = Color3.fromRGB(35, 35, 35) tag.TextColor3 = item.Color tag.Text = " " .. item.Text .. " " tag.Font = Enum.Font.SourceSansBold tag.TextSize = 13 tag.AutomaticSize = Enum.AutomaticSize.X tag.Size = UDim2.new(0, 0, 0, 26) tag.Parent = StatusContainer local tagCorner = Instance.new("UICorner", tag) tagCorner.CornerRadius = UDim.new(0, 4) local tagStroke = Instance.new("UIStroke", tag) tagStroke.Color = item.Color tagStroke.Thickness = 1 tagStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border table.insert(activeTags, tag) end end end local ToggleMenuBtn = Instance.new("TextButton") ToggleMenuBtn.Name = "ToggleMenuBtn" ToggleMenuBtn.Size = UDim2.new(0, 40, 0, 40) ToggleMenuBtn.Position = UDim2.new(0.6, 0, 0.8, 0) ToggleMenuBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) ToggleMenuBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleMenuBtn.Text = "M" ToggleMenuBtn.Font = Enum.Font.SourceSansBold ToggleMenuBtn.TextSize = 20 ToggleMenuBtn.Parent = ScreenGui local BtnCorner = Instance.new("UICorner", ToggleMenuBtn) BtnCorner.CornerRadius = UDim.new(0, 8) local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 440, 0, 320) MainFrame.Position = UDim2.new(0.5, -220, 0.5, -160) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Visible = true MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner", MainFrame) MainCorner.CornerRadius = UDim.new(0, 8) local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(45, 45, 45) Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Text = "OE MENU" Title.Font = Enum.Font.SourceSansBold Title.TextSize = 16 Title.Parent = MainFrame local TitleCorner = Instance.new("UICorner", Title) TitleCorner.CornerRadius = UDim.new(0, 8) local LeftFrame = Instance.new("Frame") LeftFrame.Name = "LeftFrame" LeftFrame.Size = UDim2.new(0.5, -10, 1, -40) LeftFrame.Position = UDim2.new(0, 5, 0, 35) LeftFrame.BackgroundTransparency = 1 LeftFrame.Parent = MainFrame local LeftLayout = Instance.new("UIListLayout") LeftLayout.Parent = LeftFrame LeftLayout.SortOrder = Enum.SortOrder.LayoutOrder LeftLayout.Padding = UDim.new(0, 6) LeftLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local RightFrame = Instance.new("Frame") RightFrame.Name = "RightFrame" RightFrame.Size = UDim2.new(0.5, -10, 1, -40) RightFrame.Position = UDim2.new(0.5, 5, 0, 35) RightFrame.BackgroundTransparency = 1 RightFrame.Parent = MainFrame local RightLayout = Instance.new("UIListLayout") RightLayout.Parent = RightFrame RightLayout.SortOrder = Enum.SortOrder.LayoutOrder RightLayout.Padding = UDim.new(0, 6) RightLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local function createToggleButton(name, text, layoutOrder, parent) local btn = Instance.new("TextButton") btn.Name = name btn.Size = UDim2.new(1, 0, 0, 32) btn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Text = text .. ": OFF" btn.Font = Enum.Font.SourceSansSemibold btn.TextSize = 14 btn.LayoutOrder = layoutOrder btn.Parent = parent Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) return btn end local ESPProwlerBtn = createToggleButton("ESPProwlerBtn", "ESP Prowler", 1, LeftFrame) local ESPZombieBtn = createToggleButton("ESPZombieBtn", "ESP Zombie/Defector", 2, LeftFrame) local ESPWalkerBtn = createToggleButton("ESPWalkerBtn", "ESP Walker/Runner", 3, LeftFrame) local InteractESPBtn = createToggleButton("InteractESPBtn", "ESP Interact", 4, LeftFrame) local NoclipBtn = createToggleButton("NoclipBtn", "Noclip [N]", 5, LeftFrame) local FakeShiftLockBtn = Instance.new("TextButton") FakeShiftLockBtn.Name = "FakeShiftLockBtn" FakeShiftLockBtn.Size = UDim2.new(1, 0, 0, 32) FakeShiftLockBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) FakeShiftLockBtn.TextColor3 = Color3.fromRGB(255, 255, 255) FakeShiftLockBtn.Text = "Fake Shift Lock [Shift]: OFF" FakeShiftLockBtn.Font = Enum.Font.SourceSansSemibold FakeShiftLockBtn.TextSize = 13 FakeShiftLockBtn.LayoutOrder = 6 FakeShiftLockBtn.Parent = LeftFrame Instance.new("UICorner", FakeShiftLockBtn).CornerRadius = UDim.new(0, 6) local AutoFaceBtn = createToggleButton("AutoFaceBtn", "Auto Face [J]", 1, RightFrame) local BoostFPSBtn = createToggleButton("BoostFPSBtn", "Boost FPS", 2, RightFrame) local AutoSwingBtn = createToggleButton("AutoSwingBtn", "Auto Kill [Melee]", 3, RightFrame) local SpeedFrame = Instance.new("Frame") SpeedFrame.Size = UDim2.new(1, 0, 0, 32) SpeedFrame.BackgroundTransparency = 1 SpeedFrame.LayoutOrder = 4 SpeedFrame.Parent = RightFrame local SpeedLabel = Instance.new("TextLabel") SpeedLabel.Size = UDim2.new(0.5, 0, 1, 0) SpeedLabel.BackgroundTransparency = 1 SpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255) SpeedLabel.Text = "WalkSpeed:" SpeedLabel.Font = Enum.Font.SourceSansSemibold SpeedLabel.TextSize = 14 SpeedLabel.TextXAlignment = Enum.TextXAlignment.Left SpeedLabel.Parent = SpeedFrame local SpeedInput = Instance.new("TextBox") SpeedInput.Size = UDim2.new(0.5, -5, 1, 0) SpeedInput.Position = UDim2.new(0.5, 5, 0, 0) SpeedInput.BackgroundColor3 = Color3.fromRGB(45, 45, 45) SpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255) SpeedInput.Text = "16" SpeedInput.Font = Enum.Font.SourceSans SpeedInput.TextSize = 14 SpeedInput.ClearTextOnFocus = false SpeedInput.Parent = SpeedFrame Instance.new("UICorner", SpeedInput).CornerRadius = UDim.new(0, 4) local KeybindFrame = Instance.new("Frame") KeybindFrame.Size = UDim2.new(1, 0, 0, 32) KeybindFrame.BackgroundTransparency = 1 KeybindFrame.LayoutOrder = 5 KeybindFrame.Parent = RightFrame local KeybindLabel = Instance.new("TextLabel") KeybindLabel.Size = UDim2.new(0.5, 0, 1, 0) KeybindLabel.BackgroundTransparency = 1 KeybindLabel.TextColor3 = Color3.fromRGB(255, 255, 255) KeybindLabel.Text = "Menu Keybind:" KeybindLabel.Font = Enum.Font.SourceSansSemibold KeybindLabel.TextSize = 14 KeybindLabel.TextXAlignment = Enum.TextXAlignment.Left KeybindLabel.Parent = KeybindFrame local BindMenuBtn = Instance.new("TextButton") BindMenuBtn.Name = "BindMenuBtn" BindMenuBtn.Size = UDim2.new(0.5, -5, 1, 0) BindMenuBtn.Position = UDim2.new(0.5, 5, 0, 0) BindMenuBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) BindMenuBtn.TextColor3 = Color3.fromRGB(255, 255, 255) BindMenuBtn.Text = "Ctrl" BindMenuBtn.Font = Enum.Font.SourceSansSemibold BindMenuBtn.TextSize = 14 BindMenuBtn.Parent = KeybindFrame Instance.new("UICorner", BindMenuBtn).CornerRadius = UDim.new(0, 4) local function toggleMenuVisibility() MainFrame.Visible = not MainFrame.Visible end ToggleMenuBtn.MouseButton1Click:Connect(toggleMenuVisibility) BindMenuBtn.MouseButton1Click:Connect(function() IsBindingMenuKey = true BindMenuBtn.Text = "..." BindMenuBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80) 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)) elseif ESPZombieEnabled and (string.find(nameLower, "zombieengineer") or string.find(nameLower, "defector")) then applyESP(obj, Color3.fromRGB(255, 255, 0)) elseif ESPWalkerEnabled and (string.find(nameLower, "walker") or string.find(nameLower, "runner")) then applyESP(obj, Color3.fromRGB(255, 0, 0)) end end local function updateESPVisibility() if not (ESPProwlerEnabled or ESPZombieEnabled or ESPWalkerEnabled) 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 brightLoopConnection = nil 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 local animationClasses = { ["Animation"] = true, ["Animator"] = true, ["AnimationController"] = true, ["AnimationTrack"] = true, ["StringValue"] = true, ["NumberValue"] = true, ["BoolValue"] = true } for _, item in pairs(model:GetChildren()) do if item:IsA("Accessory") or item:IsA("Hat") or item:IsA("Clothing") or item:IsA("ShirtGraphic") or item:IsA("CharacterMesh") then item:Destroy() end end for _, desc in pairs(model:GetDescendants()) do if animationClasses[desc.ClassName] or desc:IsA("LocalScript") or desc:IsA("Script") or desc:IsA("ModuleScript") then continue elseif desc:IsA("BasePart") then desc.Material = Enum.Material.SmoothPlastic desc.CastShadow = false elseif desc:IsA("ParticleEmitter") or desc:IsA("Sparkles") or desc:IsA("Fire") or desc:IsA("Smoke") or desc:IsA("Light") or desc:IsSound("Sound") or desc:IsA("Beam") or desc:IsA("Trail") or desc:IsA("Decal") or desc:IsA("Texture") then desc:Destroy() end end end local function cleanEnvironmentAndSnow() for _, desc in pairs(workspace:GetDescendants()) do if desc:IsA("Texture") or desc:IsA("Decal") then desc.Transparency = 1 elseif desc:IsA("BasePart") and not desc.Parent:FindFirstChildOfClass("Humanoid") then desc.Material = Enum.Material.SmoothPlastic desc.CastShadow = false end end end local function enforceLightingSettings() 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 updateBoostFPS() if BoostFPSEnabled then isOptimizing = true enforceLightingSettings() task.spawn(cleanEnvironmentAndSnow) brightLoopConnection = task.spawn(function() while isOptimizing do enforceLightingSettings() task.wait(5) end end) else isOptimizing = false brightLoopConnection = nil 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 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 NoclipBtn.BackgroundColor3 = NoclipEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) NoclipBtn.Text = "Noclip [N]: " .. (NoclipEnabled and "ON" or "OFF") updateStatusContainer() end local function toggleFakeShiftLock() FakeShiftLockEnabled = not FakeShiftLockEnabled FakeShiftLockBtn.BackgroundColor3 = FakeShiftLockEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) FakeShiftLockBtn.Text = "Fake Shift Lock [Shift]: " .. (FakeShiftLockEnabled and "ON" or "OFF") if FakeShiftLockEnabled 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 updateStatusContainer() end local function toggleAutoFace() AutoFaceEnabled = not AutoFaceEnabled AutoFaceBtn.BackgroundColor3 = AutoFaceEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) AutoFaceBtn.Text = "Auto Face [J]: " .. (AutoFaceEnabled and "ON" or "OFF") if not AutoFaceEnabled then closestTarget = nil end updateStatusContainer() end AutoSwingBtn.MouseButton1Click:Connect(function() AutoSwingEnabled = not AutoSwingEnabled AutoSwingBtn.BackgroundColor3 = AutoSwingEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) AutoSwingBtn.Text = "Auto Kill [Melee]: " .. (AutoSwingEnabled and "ON" or "OFF") updateStatusContainer() end) NoclipBtn.MouseButton1Click:Connect(toggleNoclip) FakeShiftLockBtn.MouseButton1Click:Connect(toggleFakeShiftLock) AutoFaceBtn.MouseButton1Click:Connect(toggleAutoFace) UserInputService.InputBegan:Connect(function(input, gameProcessed) if IsBindingMenuKey then if input.KeyCode ~= Enum.KeyCode.Unknown and input.KeyCode ~= Enum.KeyCode.Escape then MenuKeybind = input.KeyCode local keyName = string.gsub(tostring(input.KeyCode.Name), "LeftControl", "Ctrl") keyName = string.gsub(keyName, "RightControl", "Ctrl") BindMenuBtn.Text = keyName end IsBindingMenuKey = false BindMenuBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 45) return end if gameProcessed then return end if input.KeyCode == MenuKeybind then toggleMenuVisibility() elseif input.KeyCode == Enum.KeyCode.N then toggleNoclip() elseif input.KeyCode == Enum.KeyCode.LeftShift then toggleFakeShiftLock() elseif input.KeyCode == Enum.KeyCode.J then toggleAutoFace() end end) UserInputService.InputChanged:Connect(function(input, gameProcessed) if not FakeShiftLockEnabled 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) BoostFPSBtn.MouseButton1Click:Connect(function() BoostFPSEnabled = not BoostFPSEnabled BoostFPSBtn.BackgroundColor3 = BoostFPSEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) BoostFPSBtn.Text = "Boost FPS: " .. (BoostFPSEnabled and "ON" or "OFF") updateBoostFPS() updateStatusContainer() end) ESPProwlerBtn.MouseButton1Click:Connect(function() ESPProwlerEnabled = not ESPProwlerEnabled ESPProwlerBtn.BackgroundColor3 = ESPProwlerEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) ESPProwlerBtn.Text = "ESP Prowler: " .. (ESPProwlerEnabled and "ON" or "OFF") updateESPVisibility() updateStatusContainer() end) ESPZombieBtn.MouseButton1Click:Connect(function() ESPZombieEnabled = not ESPZombieEnabled ESPZombieBtn.BackgroundColor3 = ESPZombieEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) ESPZombieBtn.Text = "ESP Zombie: " .. (ESPZombieEnabled and "ON" or "OFF") updateESPVisibility() updateStatusContainer() end) ESPWalkerBtn.MouseButton1Click:Connect(function() ESPWalkerEnabled = not ESPWalkerEnabled ESPWalkerBtn.BackgroundColor3 = ESPWalkerEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) ESPWalkerBtn.Text = "ESP Walker: " .. (ESPWalkerEnabled and "ON" or "OFF") updateESPVisibility() updateStatusContainer() end) InteractESPBtn.MouseButton1Click:Connect(function() InteractivityESPEnabled = not InteractivityESPEnabled InteractESPBtn.BackgroundColor3 = InteractivityESPEnabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50) InteractESPBtn.Text = "ESP Interact: " .. (InteractivityESPEnabled and "ON" or "OFF") updateInteractESPVisibility() updateStatusContainer() end) SpeedInput.FocusLost:Connect(function(enterPressed) local num = tonumber(SpeedInput.Text) if num then CustomWalkSpeed = num else SpeedInput.Text = tostring(CustomWalkSpeed) 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 and hum.WalkSpeed ~= CustomWalkSpeed then hum.WalkSpeed = CustomWalkSpeed 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 AutoFaceEnabled and closestTarget and myRoot then local targetRoot = closestTarget:FindFirstChild("HumanoidRootPart") or closestTarget:FindFirstChild("Head") if targetRoot then local myPos = myRoot.Position local flatTargetPos = Vector3.new(targetRoot.Position.X, myRoot.Position.Y, targetRoot.Position.Z) myRoot.CFrame = CFrame.lookAt(myPos, flatTargetPos) end end if FakeShiftLockEnabled 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) task.spawn(function() while true do if AutoSwingEnabled then local character = LocalPlayer.Character local tool = character and character:FindFirstChildOfClass("Tool") if tool then local swingRemote = tool:FindFirstChild("Swing") or tool:FindFirstChild("swing") local swingEndRemote = tool:FindFirstChild("Swingend") or tool:FindFirstChild("swingend") if swingRemote and swingRemote:IsA("RemoteEvent") then swingRemote:FireServer() end task.wait(0.2) if swingEndRemote and swingEndRemote:IsA("RemoteEvent") then swingEndRemote:FireServer() end else task.wait(0.1) end else task.wait(0.1) 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)