local targetKeywords = {"mrouse", "animations", "watermark"} local function checkAndDestroy(obj) if not (obj:IsA("TextLabel") or obj:IsA("ImageLabel") or obj:IsA("TextButton") or obj:IsA("ImageButton") or obj:IsA("Frame")) then return end local shouldDestroy = false local success, text = pcall(function() return obj.Text end) if success and text then for _, keyword in ipairs(targetKeywords) do if string.find(text:lower(), keyword) then shouldDestroy = true break end end end if not shouldDestroy then local name = obj.Name:lower() for _, keyword in ipairs(targetKeywords) do if string.find(name, keyword) then shouldDestroy = true break end end end if shouldDestroy then print("[codex] Found watermark node: " .. obj:GetFullName()) obj.Visible = false pcall(function() obj:Destroy() end) end end print("[codex] Scanning for loaded watermark nodes...") for _, obj in ipairs(game:GetDescendants()) do checkAndDestroy(obj) end game.DescendantAdded:Connect(function(obj) task.defer(checkAndDestroy, obj) end) print("[codex] Watermark Remover.")