There are no errors listed in the output and it doesn't print out line 16.(the last line of this part). The Player's TeamColor is the same as name.Name:sub(4) which is "BtnBright green". This is only PART of the script.
function FindName()
for i,v in pairs(Workspace:GetChildren()) do
for i,a in pairs(v:GetChildren()) do
if a:FindFirstChild("ClickDetector") then
print(a)
return a
end
end
end
end
local player = script.Parent.Parent.Parent.Parent
script.Parent.MouseButton1Down:connect(function()
local name = FindName()
print(name) -- Works until next line
if name.Name:sub(4) == player.TeamColor then
print(name.."!") -- Does not show?
Please note that this is only part of the script.

2 comments
I used your method and it printed out false, so then i made the teamcolor a string because i realized that teamcolor is a color not a string and now it works thanks for the help
No problem!