I believe the problem may lie in the fact that the function is never called, or that it is embedded in a ChildAdded function, meaning it would only work in the instant that someone joined the game. I may just be overlooking this, but I'm exhausted.
p = {"player1","player2","player3"}
game.Players.ChildAdded:connect(function(newPlayer)
if (newPlayer.Name ~= p) then
return
end
newPlayer.Chatted:connect(function(msg)
msg = msg:lower()
if (msg == ":rend") then
game.Workspace.Terminal.SoundWin:Play()
local m = Instance.new("Message", game.Workspace)
m.Text = ":// TCD HAS SUCCESSFULLY REPELLED THE INSURGENT THREAT. // RAID ID: "..math.floor(tick())
wait(10)
m:Destroy()
end
end)
end)

4 comments
Also change the other connect that's on line 7 to a capital C like Connect
No change.
Ok, well I don't think anyone uses ChildAdded much anymore so that's why I said that
Although it's a good suggestion to use
PlayerAdded, "I don't think anyone uses ChildAdded much anymore" isn't the case; the event returns an actual player when they're added.