local Keys = {"DirtPiles", "DirtHandler", "PrisonCash", "CleanPile"} local Roots = {workspace, game:GetService("ReplicatedStorage"), game:GetService("ReplicatedFirst"), game:GetService("StarterPlayer"), game:GetService("StarterGui"), game:GetService("Players").LocalPlayer:FindFirstChild("PlayerGui")} local Seen, N, Matched = {}, 0, 0 local T0 = os.clock() for _, R in ipairs(Roots) do if not R then continue end for _, D in ipairs(R:GetDescendants()) do if os.clock() - T0 > 150 then print("[s] budget") return end if (D:IsA("LocalScript") or D:IsA("ModuleScript")) and not Seen[D] then Seen[D] = true N = N + 1 local Ok, Src = pcall(decompile, D) if Ok and type(Src) == "string" then for _, k in ipairs(Keys) do if string.find(Src, k, 1, true) then print("[s] [" .. k .. "] " .. D:GetFullName()) Matched = Matched + 1 break end end end end end end print("[s] checked " .. N .. " scripts, matches " .. Matched)