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

Unexpected Symbol help?

--ChatColors = {"Bright blue","Bright red","Bright green","Bright orange","Bright violet","Black","Pink","Brown"}
BannedWords = {""} 
CustomColor = 285706918
OPrefix = "[Creator]" 
Owners = {"T3XLAlt"} 
APrefix = "[Admin]" 
Admins = {""} 
VPrefix = "[VIP]"
VIP = {"Player"}
NCColors = {"White"}
CoolColors = {"Bright yellow"}
-------
game.Players.PlayerAdded:connect(function(player)
	local SV = Instance.new("StringValue")
	SV.Name = "SetColor"
	SV.Value = NCColors[math.random(1,#NCColors)]
	player.Chatted:connect(function(message)	
		for i,a in pairs(game.Players:GetChildren()) do
			b = a:FindFirstChild("PlayerGui"):FindFirstChild("CustomChat")
			for i,c in pairs(b.ChatBox:GetChildren()) do
				if c:IsA("TextLabel") then
					c.Position = c.Position - UDim2.new(0,0,0.09,0)
					if c.AbsolutePosition.Y <= 20 then
						c:Destroy()
					end
				end
			end			
			
			local d = game.ReplicatedStorage.Chat:Clone()
			d.Parent = b.ChatBox
			for i,v in pairs(BannedWords) do
				if message:lower():find(v:lower()) then
					d.Text = "[CONSOLE] "..player.Name.." tried to say a banned word!" break
				end
			end
			if d.Text ~= ""..player.Name.." tried to say a banned word!" then
				for i,x in pairs(Owners) do
					if player.Name:lower():find(x:lower()) then
						d.Text = ""..OPrefix.." "..player.Name..": "..message
					else
						for i,y in pairs(Admins) do
							if player.Name:lower():find(y:lower()) then
								d.Text = ""..APrefix.." "..player.Name..": "..message		
					else
						for i,z in pairs(VIP) do
							if game:GetService("GamePassService"):PlayerHasPass(player, CustomColor) then
								SV.Value = "Bright red"
								d.Text = ""..VPrefix.." "..player.Name..": "..message
					else
						for i,p in pairs(Admins) do
							if game:GetService("GamePassService"):PlayerHasPass(player, CustomColor) and player.Name:lower():find(p:lower()) then 
								SV.Value = "Bright blue"
								d.Text = ""..VPrefix.." "..Aprefix.." "..player.Name..": "..message						
									end
								end
							end
						end
					end
				end	
	
				if d.Text ~= ""..OPrefix.." "..player.Name..": "..message and d.Text ~= ""..APrefix.." "..player.Name..": "..message and d.Text ~= ""..VPrefix.." "..player.Name..": "..message and d.Text ~= ""..VPrefix.." "..APrefix.." "..player.Name..": "..message then
					d.Text = ""..player.Name..": "..message
				end
			end
			d.TextColor3 = BrickColor.new(SV.Value).Color
			game.Debris:AddItem(d,30)
			end
	end)
end)

Error Line 68: Unexpected symbol near ')'

1 answer

✓ Accepted answer

You forgot an "end" near line 68. And as the error message states, there's an unexpected symbol ")" near an end.

Here:

--ChatColors = {"Bright blue","Bright red","Bright green","Bright orange","Bright violet","Black","Pink","Brown"}
BannedWords = {""} 
CustomColor = 285706918
OPrefix = "[Creator]" 
Owners = {"T3XLAlt"} 
APrefix = "[Admin]" 
Admins = {""} 
VPrefix = "[VIP]"
VIP = {"Player"}
NCColors = {"White"}
CoolColors = {"Bright yellow"}
-------
game.Players.PlayerAdded:connect(function(player)
    local SV = Instance.new("StringValue")
    SV.Name = "SetColor"
    SV.Value = NCColors[math.random(1,#NCColors)]
    player.Chatted:connect(function(message)    
        for i,a in pairs(game.Players:GetChildren()) do
            b = a:FindFirstChild("PlayerGui"):FindFirstChild("CustomChat")
            for i,c in pairs(b.ChatBox:GetChildren()) do
                if c:IsA("TextLabel") then
                    c.Position = c.Position - UDim2.new(0,0,0.09,0)
                    if c.AbsolutePosition.Y <= 20 then
                        c:Destroy()
                    end
                end
            end         

            local d = game.ReplicatedStorage.Chat:Clone()
            d.Parent = b.ChatBox
            for i,v in pairs(BannedWords) do
                if message:lower():find(v:lower()) then
                    d.Text = "[CONSOLE] "..player.Name.." tried to say a banned word!" break
                end
            end
            if d.Text ~= ""..player.Name.." tried to say a banned word!" then
                for i,x in pairs(Owners) do
                    if player.Name:lower():find(x:lower()) then
                        d.Text = ""..OPrefix.." "..player.Name..": "..message
                    else
                        for i,y in pairs(Admins) do
                            if player.Name:lower():find(y:lower()) then
                                d.Text = ""..APrefix.." "..player.Name..": "..message       
                    else
                        for i,z in pairs(VIP) do
                            if game:GetService("GamePassService"):PlayerHasPass(player, CustomColor) then
                                SV.Value = "Bright red"
                                d.Text = ""..VPrefix.." "..player.Name..": "..message
                    else
                        for i,p in pairs(Admins) do
                            if game:GetService("GamePassService"):PlayerHasPass(player, CustomColor) and player.Name:lower():find(p:lower()) then 
                                SV.Value = "Bright blue"
                                d.Text = ""..VPrefix.." "..Aprefix.." "..player.Name..": "..message                     
                                    end
                                end
                            end
                        end
                    end
                end 

                if d.Text ~= ""..OPrefix.." "..player.Name..": "..message and d.Text ~= ""..APrefix.." "..player.Name..": "..message and d.Text ~= ""..VPrefix.." "..player.Name..": "..message and d.Text ~= ""..VPrefix.." "..APrefix.." "..player.Name..": "..message then
                    d.Text = ""..player.Name..": "..message
                end
            end
            d.TextColor3 = BrickColor.new(SV.Value).Color
            game.Debris:AddItem(d,30)
            end
		end
	end
end)

2 comments

0

It works, thanks!

0

np

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