So this isn't my whole script this is just what I came up with to make this idea. So what I am trying to do is pick 1 player for murder and sheriff and the rest of the players innocent also I am firing there client only so nobody else can see it and I am changing it on a text label..
local players = game.Players:GetPlayers() --getting the players
math.random(1,#players)--picking 1 player
remote:FireClient(players, "You are a Sherif") -- Firing only their client and saying you are sheriff on there text label
math.random(1,#players)
remote:FireClient(players, "You are a Murder")
math.random(#players)
remote:FireClient(players, "You are a innocent") --Dont need only 1 player for innocent the rest of the people are just innocent.

1 comment
Use a generic for loop on line 10. Also, I do recommend removing each player respectively that you've already chosen on line 3 and 6, so you don't have someone being the Sheriff and the Murderer at the same time.