Okay, thank you very much for your solution. I think I found a little shorter one because I wanted to have the whole message in one line. I also found out why Add.Chat didn't work.
hook.Add( "TTTBeginRound", "NumberOfTypes", function()
local TCount = 0
local DCount = 0
local ICount = 0
local traitor = ""
local detectives = ""
local innocents = ""
for k, v in pairs( player.GetAll() ) do
if v:IsActiveTraitor() then
TCount=TCount+1
elseif v:IsActiveDetective() then
DCount=DCount+1
elseif v:Alive() then
ICount=ICount+1;
end
end
traitor = tostring(TCount)
detectives = tostring(DCount)
innocents = tostring(ICount)
chat.AddText( color_white , "Diese Runde gibt es " , Color(255,7,0), traitor, " Traitor, " , Color(0,0,235), detectives, " Detectives", color_white, " und " , Color(0,235,0), innocents , " Innocents.")
end )Don't worry about the german

It sinmply means "In this round there are ..." The problem is that the traitor does not get count for innocents or detectives. For them every traitor gets count as an innocent too, only for the traitors is the Number of traitors visible. Does anyone know how to fix it?

