Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Is there something wrong with my script?

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 answers

So what exactly are you trying to acomplish... It seems that the sub might mess things up. Or it may be that it's not matching the player.TeamColor, I suggest doing this:

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?
elseif name.Name:sub(4) ~= player.TeamColor then
print('False')
end
end)

This will allow you to see if it even goes past the if, if not then the IF is incorrect.

2 comments

0

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

0

No problem!

It may also be that since both for loops use "i" as an index, the script may be getting confused. It's worth a shot anyways.

Just replace the first "for i,v" with "for _,v" and see if it does anything differently.

This discussion is preserved as it was. New answers, comments, and votes are closed.