--it is all open source and marware free local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local TweenService = game:GetService("TweenService") local lp = Players.LocalPlayer local camera = workspace.CurrentCamera -- Settings local settings = { ESP = true, ESPBoxes = true, ESPNames = true, ESPDistance = true, ESPHealth = true, ESPDistanceValue = 1000, Aimbot = true, FOVCircle = true, AimbotFOV = 150, AimbotSmoothness = 0, Fullbright = true, FOV = 70, AntiAFK = true, RageMode = false, Wallbang = false, SilentAim = false, AutoShoot = false, TargetPart = "Head", PenetrationDepth = math.huge } -- UI Creation local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CheatUI" ScreenGui.Parent = game:GetService("CoreGui") local MainContainer = Instance.new("Frame") MainContainer.Name = "MainContainer" MainContainer.Size = UDim2.new(0, 400, 0, 450) MainContainer.Position = UDim2.new(0.5, -200, 0.5, -225) MainContainer.BackgroundColor3 = Color3.fromRGB(15, 15, 15) MainContainer.BackgroundTransparency = 0.2 MainContainer.BorderSizePixel = 0 MainContainer.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 12) MainCorner.Parent = MainContainer -- Title bar local TitleBar = Instance.new("Frame") TitleBar.Name = "TitleBar" TitleBar.Size = UDim2.new(1, 0, 0, 30) TitleBar.Position = UDim2.new(0, 0, 0, 0) TitleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20) TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainContainer local TitleLabel = Instance.new("TextLabel") TitleLabel.Name = "TitleLabel" TitleLabel.Size = UDim2.new(1, -80, 1, 0) TitleLabel.Position = UDim2.new(0, 15, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "SYSTEM HUB" TitleLabel.TextColor3 = Color3.fromRGB(0, 255, 255) TitleLabel.TextScaled = true TitleLabel.Font = Enum.Font.GothamBold TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Parent = TitleBar -- Draggable local dragging, dragInput, dragStart, startPos local function updateInput(input) local Delta = input.Position - dragStart local Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + Delta.X, startPos.Y.Scale, startPos.Y.Offset + Delta.Y) MainContainer.Position = Position end TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainContainer.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) TitleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then updateInput(input) end end) -- Control buttons local CloseButton = Instance.new("TextButton") CloseButton.Name = "CloseButton" CloseButton.Size = UDim2.new(0, 25, 0, 25) CloseButton.Position = UDim2.new(1, -30, 0.5, -12.5) CloseButton.BackgroundColor3 = Color3.fromRGB(220, 20, 60) CloseButton.BorderSizePixel = 0 CloseButton.Text = "×" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextScaled = true CloseButton.Font = Enum.Font.GothamBold CloseButton.Parent = TitleBar local MinimizeButton = Instance.new("TextButton") MinimizeButton.Name = "MinimizeButton" MinimizeButton.Size = UDim2.new(0, 25, 0, 25) MinimizeButton.Position = UDim2.new(1, -60, 0.5, -12.5) MinimizeButton.BackgroundColor3 = Color3.fromRGB(255, 165, 0) MinimizeButton.BorderSizePixel = 0 MinimizeButton.Text = "−" MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeButton.TextScaled = true MinimizeButton.Font = Enum.Font.GothamBold MinimizeButton.Parent = TitleBar -- Tab system local TabContainer = Instance.new("Frame") TabContainer.Name = "TabContainer" TabContainer.Size = UDim2.new(0, 120, 1, -40) TabContainer.Position = UDim2.new(0, 0, 0, 40) TabContainer.BackgroundColor3 = Color3.fromRGB(20, 20, 20) TabContainer.BorderSizePixel = 0 TabContainer.Parent = MainContainer local ContentContainer = Instance.new("Frame") ContentContainer.Name = "ContentContainer" ContentContainer.Size = UDim2.new(1, -130, 1, -50) ContentContainer.Position = UDim2.new(0, 130, 0, 40) ContentContainer.BackgroundColor3 = Color3.fromRGB(18, 18, 18) ContentContainer.BorderSizePixel = 0 ContentContainer.Parent = MainContainer -- Create tabs local tabs = {"ESP", "Aimbot", "Rage", "Visuals", "Misc"} local currentTab = "ESP" local tabButtons = {} local tabContents = {} local function createTab(name, index) local TabButton = Instance.new("TextButton") TabButton.Name = name .. "Tab" TabButton.Size = UDim2.new(1, -10, 0, 25) TabButton.Position = UDim2.new(0, 5, 0, 5 + (index-1) * 30) TabButton.BackgroundColor3 = index == 1 and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(30, 30, 30) TabButton.BorderSizePixel = 0 TabButton.Text = name TabButton.TextColor3 = Color3.fromRGB(255, 255, 255) TabButton.TextScaled = true TabButton.Font = Enum.Font.Gotham TabButton.Parent = TabContainer local TabContent = Instance.new("ScrollingFrame") TabContent.Name = name .. "Content" TabContent.Size = UDim2.new(1, -10, 1, -10) TabContent.Position = UDim2.new(0, 5, 0, 5) TabContent.BackgroundTransparency = 1 TabContent.BorderSizePixel = 0 TabContent.ScrollBarThickness = 3 TabContent.ScrollBarImageColor3 = Color3.fromRGB(0, 255, 255) TabContent.Visible = index == 1 TabContent.Parent = ContentContainer local UIListLayout = Instance.new("UIListLayout") UIListLayout.Padding = UDim.new(0, 8) UIListLayout.Parent = TabContent tabButtons[name] = TabButton tabContents[name] = TabContent TabButton.MouseButton1Click:Connect(function() currentTab = name for tabName, content in pairs(tabContents) do content.Visible = (tabName == name) end for tabName, button in pairs(tabButtons) do button.BackgroundColor3 = (tabName == name) and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(30, 30, 30) end end) return TabContent end -- Create toggle function local function createToggle(name, parent, description) local ToggleFrame = Instance.new("Frame") ToggleFrame.Name = name .. "Toggle" ToggleFrame.Size = UDim2.new(1, 0, 0, 35) ToggleFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) ToggleFrame.BorderSizePixel = 0 ToggleFrame.Parent = parent local ToggleLabel = Instance.new("TextLabel") ToggleLabel.Name = "Label" ToggleLabel.Size = UDim2.new(0.7, 0, 0.6, 0) ToggleLabel.Position = UDim2.new(0, 10, 0, 2) ToggleLabel.BackgroundTransparency = 1 ToggleLabel.Text = name ToggleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleLabel.TextScaled = true ToggleLabel.Font = Enum.Font.Gotham ToggleLabel.TextXAlignment = Enum.TextXAlignment.Left ToggleLabel.Parent = ToggleFrame local ToggleButton = Instance.new("TextButton") ToggleButton.Name = "Button" ToggleButton.Size = UDim2.new(0, 35, 0, 20) ToggleButton.Position = UDim2.new(1, -40, 0.5, -10) ToggleButton.BackgroundColor3 = settings[name] and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(200, 50, 50) ToggleButton.BorderSizePixel = 0 ToggleButton.Text = "" ToggleButton.Parent = ToggleFrame local ToggleIndicator = Instance.new("Frame") ToggleIndicator.Name = "Indicator" ToggleIndicator.Size = UDim2.new(0, 15, 0, 15) ToggleIndicator.Position = UDim2.new(settings[name] and 1 or 0, settings[name] and -17 or 2, 0.5, -7.5) ToggleIndicator.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ToggleIndicator.BorderSizePixel = 0 ToggleIndicator.Parent = ToggleButton ToggleButton.MouseButton1Click:Connect(function() settings[name] = not settings[name] local tween = TweenService:Create(ToggleButton, TweenInfo.new(0.2), { BackgroundColor3 = settings[name] and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(200, 50, 50) }) tween:Play() local indicatorTween = TweenService:Create(ToggleIndicator, TweenInfo.new(0.2), { Position = UDim2.new(settings[name] and 1 or 0, settings[name] and -17 or 2, 0.5, -7.5) }) indicatorTween:Play() end) return ToggleFrame end -- Create slider function local function createSlider(name, parent, min, max, default, description) local SliderFrame = Instance.new("Frame") SliderFrame.Name = name .. "Slider" SliderFrame.Size = UDim2.new(1, 0, 0, 50) SliderFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) SliderFrame.BorderSizePixel = 0 SliderFrame.Parent = parent local SliderLabel = Instance.new("TextLabel") SliderLabel.Name = "Label" SliderLabel.Size = UDim2.new(1, -30, 0, 25) SliderLabel.Position = UDim2.new(0, 15, 0, 5) SliderLabel.BackgroundTransparency = 1 SliderLabel.Text = name .. ": " .. default SliderLabel.TextColor3 = Color3.fromRGB(255, 255, 255) SliderLabel.TextScaled = true SliderLabel.Font = Enum.Font.Gotham SliderLabel.TextXAlignment = Enum.TextXAlignment.Left SliderLabel.Parent = SliderFrame local SliderBar = Instance.new("Frame") SliderBar.Name = "Bar" SliderBar.Size = UDim2.new(1, -30, 0, 6) SliderBar.Position = UDim2.new(0, 15, 0, 35) SliderBar.BackgroundColor3 = Color3.fromRGB(50, 50, 50) SliderBar.BorderSizePixel = 0 SliderBar.Parent = SliderFrame local SliderFill = Instance.new("Frame") SliderFill.Name = "Fill" SliderFill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) SliderFill.Position = UDim2.new(0, 0, 0, 0) SliderFill.BackgroundColor3 = Color3.fromRGB(0, 150, 255) SliderFill.BorderSizePixel = 0 SliderFill.Parent = SliderBar local SliderButton = Instance.new("TextButton") SliderButton.Name = "Button" SliderButton.Size = UDim2.new(0, 16, 0, 16) SliderButton.Position = UDim2.new((default - min) / (max - min), -8, 0, -5) SliderButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) SliderButton.BorderSizePixel = 0 SliderButton.Text = "" SliderButton.Parent = SliderBar local dragging = false local function updateSlider(input) local percent = math.clamp((input.Position.X - SliderBar.AbsolutePosition.X) / SliderBar.AbsoluteSize.X, 0, 1) local value = min + (max - min) * percent settings[name] = math.floor(value) local fillTween = TweenService:Create(SliderFill, TweenInfo.new(0.1), { Size = UDim2.new(percent, 0, 1, 0) }) fillTween:Play() local buttonTween = TweenService:Create(SliderButton, TweenInfo.new(0.1), { Position = UDim2.new(percent, -8, 0, -5) }) buttonTween:Play() SliderLabel.Text = name .. ": " .. settings[name] 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) SliderBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true updateSlider(input) end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then updateSlider(input) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) return SliderFrame end -- Create tabs and content local espTab = createTab("ESP", 1) local aimbotTab = createTab("Aimbot", 2) local rageTab = createTab("Rage", 3) local visualsTab = createTab("Visuals", 4) local miscTab = createTab("Misc", 5) -- ESP tab content createToggle("ESP", espTab, "Enable ESP features") createToggle("ESPBoxes", espTab, "Show bounding boxes around players") createToggle("ESPNames", espTab, "Display player names") createToggle("ESPDistance", espTab, "Show distance to players") createToggle("ESPHealth", espTab, "Display player health") createSlider("ESPDistanceValue", espTab, 100, 2000, settings.ESPDistanceValue, "Maximum ESP render distance") -- Aimbot tab content createToggle("Aimbot", aimbotTab, "Enable aimbot assistance") createToggle("FOVCircle", aimbotTab, "Show aimbot FOV circle") createSlider("AimbotFOV", aimbotTab, 50, 300, settings.AimbotFOV, "Aimbot field of view") createSlider("AimbotSmoothness", aimbotTab, 0, 20, settings.AimbotSmoothness, "Aimbot smoothness") -- Rage tab content createToggle("RageMode", rageTab, "Enable rage mode (overrides aimbot)") createToggle("Wallbang", rageTab, "Shoot through walls") createToggle("SilentAim", rageTab, "Silent aim (no visible crosshair movement)") createToggle("AutoShoot", rageTab, "Automatically shoot when target acquired") -- Visuals tab content createToggle("Fullbright", visualsTab, "Remove darkness from the game") createSlider("FOV", visualsTab, 50, 120, settings.FOV, "Camera field of view") -- Misc tab content createToggle("AntiAFK", miscTab, "Prevent AFK kick") -- Minimize functionality local minimized = false MinimizeButton.MouseButton1Click:Connect(function() minimized = not minimized if minimized then MainContainer.Size = UDim2.new(0, 400, 0, 40) MinimizeButton.Text = "+" TabContainer.Visible = false ContentContainer.Visible = false else MainContainer.Size = UDim2.new(0, 400, 0, 450) MinimizeButton.Text = "−" TabContainer.Visible = true ContentContainer.Visible = true end end) -- K key toggle for UI local uiVisible = true UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.KeyCode == Enum.KeyCode.K then uiVisible = not uiVisible MainContainer.Visible = uiVisible end end) CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Core functionality RunService.RenderStepped:Connect(function() camera.FieldOfView = settings.FOV end) -- 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 local function disableFullbright() Lighting.Ambient = Color3.new(0.5, 0.5, 0.5) Lighting.OutdoorAmbient = Color3.new(0.5, 0.5, 0.5) Lighting.Brightness = 1 Lighting.GlobalShadows = true Lighting.ClockTime = 12 Lighting.FogEnd = 1000 end RunService.RenderStepped:Connect(function() if settings.Fullbright then enableFullbright() else disableFullbright() end end) if settings.Fullbright then enableFullbright() end -- FOV Circle local fovCircle = Drawing.new("Circle") fovCircle.Radius = settings.AimbotFOV fovCircle.Thickness = 1 fovCircle.Color = Color3.fromRGB(0, 150, 255) 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.Radius = settings.AimbotFOV fovCircle.Visible = settings.FOVCircle end) -- Aimbot Logic (Extracted) local Aimbot = {} Aimbot.Enabled = true Aimbot.AimRadius = 150 Aimbot.Aiming = false Aimbot.CurrentTarget = nil function Aimbot.GetClosestTarget() local mousePos = UserInputService:GetMouseLocation() local closest = nil local minDist = settings.AimbotFOV 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 function Aimbot.Update() if settings.Aimbot and Aimbot.Aiming then if Aimbot.CurrentTarget and Aimbot.CurrentTarget:IsDescendantOf(workspace) then local screenPos, onScreen = camera:WorldToViewportPoint(Aimbot.CurrentTarget.Position) local dist = (Vector2.new(screenPos.X, screenPos.Y) - UserInputService:GetMouseLocation()).Magnitude local char = Aimbot.CurrentTarget:FindFirstAncestorOfClass("Model") local humanoid = char and char:FindFirstChildOfClass("Humanoid") if not onScreen or dist > settings.AimbotFOV or not humanoid or humanoid.Health <= 0 then Aimbot.CurrentTarget = nil end else Aimbot.CurrentTarget = nil end if not Aimbot.CurrentTarget then Aimbot.CurrentTarget = Aimbot.GetClosestTarget() end if Aimbot.CurrentTarget and Aimbot.CurrentTarget:IsA("BasePart") then local targetPos = Aimbot.CurrentTarget.Position local currentPos = camera.CFrame.Position local newCFrame = CFrame.new(currentPos, targetPos) local smoothness = settings.AimbotSmoothness if smoothness > 0 then camera.CFrame = camera.CFrame:Lerp(newCFrame, 1/smoothness) else camera.CFrame = newCFrame end end end end function Aimbot.Init() RunService.RenderStepped:Connect(Aimbot.Update) UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then Aimbot.Aiming = true end end) UserInputService.InputEnded:Connect(function(input, gpe) if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then Aimbot.Aiming = false Aimbot.CurrentTarget = nil end end) end -- Initialize Aimbot Aimbot.Init() -- ESP Setup local highlights = {} local boxDrawings = {} local nameLabels = {} local distanceLabels = {} local healthLabels = {} 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) 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 = 0 box.Filled = false box.Color = baseColor boxDrawings[character] = box local nameLabel = Drawing.new("Text") nameLabel.Size = 8 nameLabel.Center = true nameLabel.Outline = true nameLabel.Color = baseColor nameLabel.Text = character.Name nameLabels[character] = nameLabel local distanceLabel = Drawing.new("Text") distanceLabel.Size = 8 distanceLabel.Center = true distanceLabel.Outline = true distanceLabel.Color = baseColor distanceLabels[character] = distanceLabel local healthLabel = Drawing.new("Text") healthLabel.Size = 8 healthLabel.Center = true healthLabel.Outline = true healthLabel.Color = baseColor healthLabels[character] = healthLabel 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 if healthLabel then healthLabel.Visible = false healthLabel:Remove() end highlights[character] = nil boxDrawings[character] = nil nameLabels[character] = nil distanceLabels[character] = nil healthLabels[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 highlight.Enabled = false box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false healthLabel.Visible = false return end if humanoid.Health <= 0 then highlight.Enabled = false box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false healthLabel.Visible = false return end local dist = (lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") and (lp.Character.HumanoidRootPart.Position - hrp.Position).Magnitude) or 0 if dist > settings.ESPDistanceValue then highlight.Enabled = false box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false healthLabel.Visible = false 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.Enabled = true highlight.FillColor = col box.Color = col nameLabel.Color = col distanceLabel.Color = col healthLabel.Color = col if onscreen then -- Simple box calculation local size = 3 local topLeft = camera:WorldToViewportPoint(hrp.Position + Vector3.new(-size, size * 1.5, 0)) local bottomRight = camera:WorldToViewportPoint(hrp.Position + Vector3.new(size, -size, 0)) box.Position = Vector2.new(topLeft.X, topLeft.Y) box.Size = Vector2.new(bottomRight.X - topLeft.X, bottomRight.Y - topLeft.Y) box.Visible = settings.ESPBoxes nameLabel.Position = Vector2.new(pos.X, pos.Y - 20) nameLabel.Visible = settings.ESPNames distanceLabel.Position = Vector2.new(pos.X, pos.Y + 25) distanceLabel.Text = string.format("%.1fm", dist) distanceLabel.Visible = settings.ESPDistance healthLabel.Position = Vector2.new(pos.X, pos.Y + 40) healthLabel.Text = string.format("HP: %d", humanoid.Health) healthLabel.Visible = settings.ESPHealth else highlight.Enabled = false box.Visible = false nameLabel.Visible = false distanceLabel.Visible = false healthLabel.Visible = false end end) end -- Setup ESP for existing players 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)