local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "NPCHighlighterSystem" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui local eyeButton = Instance.new("TextButton") eyeButton.Name = "EyeToggleButton" eyeButton.Size = UDim2.new(0, 60, 0, 60) eyeButton.Position = UDim2.new(0.05, 0, 0.4, 0) eyeButton.BackgroundColor3 = Color3.fromRGB(30, 30, 35) eyeButton.Text = "👁️" eyeButton.TextSize = 28 eyeButton.TextColor3 = Color3.fromRGB(255, 255, 255) eyeButton.Font = Enum.Font.GothamBold eyeButton.AutoButtonColor = false eyeButton.Parent = screenGui local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(1, 0) buttonCorner.Parent = eyeButton local buttonStroke = Instance.new("UIStroke") buttonStroke.Color = Color3.fromRGB(60, 60, 70) buttonStroke.Thickness = 2 buttonStroke.Parent = eyeButton local mainPanel = Instance.new("Frame") mainPanel.Name = "ControlPanel" mainPanel.Size = UDim2.new(0, 340, 0, 360) mainPanel.Position = UDim2.new(0.5, -170, 0.5, -180) mainPanel.BackgroundColor3 = Color3.fromRGB(20, 20, 25) mainPanel.Active = true mainPanel.Visible = false mainPanel.Parent = screenGui local panelCorner = Instance.new("UICorner") panelCorner.CornerRadius = UDim.new(0, 12) panelCorner.Parent = mainPanel local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 0, 45) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "NPC HIGHLIGHTER CONTROLS" titleLabel.TextColor3 = Color3.fromRGB(240, 240, 245) titleLabel.TextSize = 16 titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = mainPanel local function makeDraggable(guiObject) local dragging = false local dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart local currentCamera = Workspace.CurrentCamera if not currentCamera then return end local screenSize = currentCamera.ViewportSize local targetX = startPos.X.Offset + delta.X + (startPos.X.Scale * screenSize.X) local targetY = startPos.Y.Offset + delta.Y + (startPos.Y.Scale * screenSize.Y) guiObject.Position = UDim2.new(0, targetX, 0, targetY) end guiObject.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = guiObject.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) guiObject.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end makeDraggable(eyeButton) makeDraggable(mainPanel) local dragDistanceThreshold = 5 local clickStartPos = Vector3.new() eyeButton.MouseButton1Down:Connect(function() clickStartPos = UserInputService:GetMouseLocation() end) eyeButton.MouseButton1Up:Connect(function() local clickEndPos = UserInputService:GetMouseLocation() if (clickStartPos - clickEndPos).Magnitude < dragDistanceThreshold then mainPanel.Visible = not mainPanel.Visible end end) local statusButton = Instance.new("TextButton") statusButton.Size = UDim2.new(0, 300, 0, 50) statusButton.Position = UDim2.new(0, 20, 0, 55) statusButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113) statusButton.Text = "STATUS: ACTIVE" statusButton.TextColor3 = Color3.fromRGB(255, 255, 255) statusButton.Font = Enum.Font.GothamBold statusButton.TextSize = 14 statusButton.Parent = mainPanel local statusCorner = Instance.new("UICorner") statusCorner.CornerRadius = UDim.new(0, 8) statusCorner.Parent = statusButton local colorLabel = Instance.new("TextLabel") colorLabel.Size = UDim2.new(0, 200, 0, 25) colorLabel.Position = UDim2.new(0, 20, 0, 120) colorLabel.BackgroundTransparency = 1 colorLabel.Text = "Fill Color Profile:" colorLabel.TextColor3 = Color3.fromRGB(160, 160, 165) colorLabel.TextXAlignment = Enum.TextXAlignment.Left colorLabel.Font = Enum.Font.Gotham colorLabel.TextSize = 14 colorLabel.Parent = mainPanel local redBtn = Instance.new("TextButton") redBtn.Size = UDim2.new(0, 90, 0, 40) redBtn.Position = UDim2.new(0, 20, 0, 150) redBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) redBtn.Text = "Red" redBtn.TextColor3 = Color3.fromRGB(255, 255, 255) redBtn.Font = Enum.Font.GothamBold redBtn.TextSize = 14 redBtn.Parent = mainPanel local rc = Instance.new("UICorner") rc.CornerRadius = UDim.new(0, 6) rc.Parent = redBtn local blueBtn = Instance.new("TextButton") blueBtn.Size = UDim2.new(0, 90, 0, 40) blueBtn.Position = UDim2.new(0, 125, 0, 150) blueBtn.BackgroundColor3 = Color3.fromRGB(52, 152, 219) blueBtn.Text = "Blue" blueBtn.TextColor3 = Color3.fromRGB(255, 255, 255) blueBtn.Font = Enum.Font.GothamBold blueBtn.TextSize = 14 blueBtn.Parent = mainPanel local bc = Instance.new("UICorner") bc.CornerRadius = UDim.new(0, 6) bc.Parent = blueBtn local greenBtn = Instance.new("TextButton") greenBtn.Size = UDim2.new(0, 90, 0, 40) greenBtn.Position = UDim2.new(0, 230, 0, 150) greenBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113) greenBtn.Text = "Green" greenBtn.TextColor3 = Color3.fromRGB(255, 255, 255) greenBtn.Font = Enum.Font.GothamBold greenBtn.TextSize = 14 greenBtn.Parent = mainPanel local gc = Instance.new("UICorner") gc.CornerRadius = UDim.new(0, 6) gc.Parent = greenBtn local densityLabel = Instance.new("TextLabel") densityLabel.Size = UDim2.new(0, 200, 0, 25) densityLabel.Position = UDim2.new(0, 20, 0, 210) densityLabel.BackgroundTransparency = 1 densityLabel.Text = "Adjust Glow Density:" densityLabel.TextColor3 = Color3.fromRGB(160, 160, 165) densityLabel.TextXAlignment = Enum.TextXAlignment.Left densityLabel.Font = Enum.Font.Gotham densityLabel.TextSize = 14 densityLabel.Parent = mainPanel local solidBtn = Instance.new("TextButton") solidBtn.Size = UDim2.new(0, 140, 0, 45) solidBtn.Position = UDim2.new(0, 20, 0, 245) solidBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50) solidBtn.Text = "Solid Glow" solidBtn.TextColor3 = Color3.fromRGB(255, 255, 255) solidBtn.Font = Enum.Font.GothamBold solidBtn.TextSize = 14 solidBtn.Parent = mainPanel local sc = Instance.new("UICorner") sc.CornerRadius = UDim.new(0, 8) sc.Parent = solidBtn local faintBtn = Instance.new("TextButton") faintBtn.Size = UDim2.new(0, 140, 0, 45) faintBtn.Position = UDim2.new(0, 180, 0, 245) faintBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50) faintBtn.Text = "Faint Glow" faintBtn.TextColor3 = Color3.fromRGB(255, 255, 255) faintBtn.Font = Enum.Font.GothamBold faintBtn.TextSize = 14 faintBtn.Parent = mainPanel local fc = Instance.new("UICorner") fc.CornerRadius = UDim.new(0, 8) fc.Parent = faintBtn local systemActive = true local currentFillColor = Color3.fromRGB(255, 0, 0) local activeTransparency = 0.4 -- Integrated Your Deep-Scan Logic Here local function updateHighlights() for _, item in pairs(Workspace:GetDescendants()) do if item:IsA("Humanoid") then local parent = item.Parent if parent then local plr = Players:GetPlayerFromCharacter(parent) -- Ensure it is strictly an NPC and not a human player if not plr then local highlight = parent:FindFirstChild("HighlighterAsset") if systemActive then if not highlight then highlight = Instance.new("Highlight") highlight.Name = "HighlighterAsset" highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = parent end highlight.FillColor = currentFillColor highlight.FillTransparency = activeTransparency highlight.Enabled = true else if highlight then highlight.Enabled = false end end end end end end end local function clearAllHighlights() for _, item in pairs(Workspace:GetDescendants()) do if item:IsA("Humanoid") then local parent = item.Parent if parent then local highlight = parent:FindFirstChild("HighlighterAsset") if highlight then highlight:Destroy() end end end end end task.spawn(function() while true do updateHighlights() task.wait(1.0) end end) Workspace.ChildAdded:Connect(function() if systemActive then task.wait(0.2) updateHighlights() end end) statusButton.MouseButton1Click:Connect(function() systemActive = not systemActive if systemActive then statusButton.Text = "STATUS: ACTIVE" statusButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113) updateHighlights() else statusButton.Text = "STATUS: INACTIVE" statusButton.BackgroundColor3 = Color3.fromRGB(231, 76, 60) clearAllHighlights() end end) redBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(255, 0, 0) updateHighlights() end) blueBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(52, 152, 219) updateHighlights() end) greenBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(46, 204, 113) updateHighlights() end) solidBtn.MouseButton1Click:Connect(function() activeTransparency = 0.25 updateHighlights() end) faintBtn.MouseButton1Click:Connect(function() activeTransparency = 0.85 updateHighlights() end)