I made a module function for getting all descendants of an object. It looks like this:
function module.GetDescendants(object)
if type(object) ~= "userdata" then
assert(false, "Argument must be a userdata value.")
return
end
local descendants = {}
for _, child in pairs(object:GetChildren()) do
table.insert(descendants, child)
if child:GetChildren{}[1] then
for _, child2 in pairs(module.GetDescendants(child)) do
table.insert(descendants, child2)
end
end
end
return descendants
end
Then I tried it out with this script for listing the descendants of the workspace:
GetDescendants = require(game.ServerScriptService.GetDescendants).GetDescendants --The function, not the module
directory = workspace
brk = string.char(13)
for i, v in pairs(GetDescendants(directory)) do
print("Element "..i..brk.."Name: "..v.Name..brk.."Class: "..v.ClassName..brk.."Address: "..v:GetFullName()..brk)
end
In the output, this is the last element in the descendant table. It's a message object called Message, and it's located directly in workspace.
--[[Element 134
Name: Message
Class: Message
Address: Workspace.Message]]--
I can't see this message in the hierarchy. I can't destroy it, I can't print out the text, etc. What is this message?
