So, im trying to make an system to choose an role for each player, and also choose a map for all players, so i tried this:
local roundLength = 10
local intermissionLength = 5
local status = game.ReplicatedStorage.IntermissionStatus
local inround = game.ReplicatedStorage.InRound
local chosenRandomNumberValue = game.ReplicatedStorage.chosenNumber
local displaychosenrole = game.StarterGui.areyoumurdorsherifforinno.Chosen.TextLabel
local player = game.Players.LocalPlayer
local chosenRoleValue = game.ReplicatedStorage.TheChosenRole
local randomMapNumber = math.random(1,3)
local mineshaft = game.Workspace.MineshaftSpawn
local milbase = game.Workspace.MilbaseSpawn
local lobby = game.Workspace.LobbySpawn
local ravenRock = game.Workspace.ravenrockSpawn
local function roundTimer()
while wait() do
for i = intermissionLength, 1, -1 do
inround.Value = false
wait(1)
status.Value = "Intermission: ".. i .." seconds left!"
wait(1)
end
for i = roundLength, 1, -1 do
inround.Value = true
wait(1)
status.Value = "Game: ".. i .." seconds left!"
end
end
end
inround.Changed:Connect(function()
if inround.Value == true then
for _, player in pairs(game.Players:GetChildren()) do
local randomNumber = math.random(1,3)
local char = player.Character
if randomMapNumber == 1 then
char.HumanoidRootPart.CFrame = mineshaft.CFrame
elseif randomMapNumber == 2 then
char.HumanoidRootPart.CFrame = milbase.CFrame
elseif randomMapNumber == 3 then
char.HumanoidRootPart.CFrame = ravenRock.CFrame
end
if randomNumber == 1 then
player.TeamColor = BrickColor.new("Institutional white")
chosenRoleValue.Value = "MURDERER"
elseif randomNumber == 2 then
player.TeamColor = BrickColor.new("Institutional white")
chosenRoleValue.Value = "SHERIFF"
elseif randomNumber == 3 then
player.TeamColor = BrickColor.new("Institutional white")
chosenRoleValue.Value = "INNOCENT"
end
end
else
for _,player in pairs(game.Players:GetChildren()) do
local char = player.Character
char.HumanoidRootPart.CFrame = lobby.CFrame
player.TeamColor = BrickColor.new("Medium stone grey")
chosenRoleValue.Value = "NEUTRAL"
end
end
end)
spawn(roundTimer)
And of course, it chooses an map for each player, and every player has the same role.. I tried switching it, and even doing it in another script, also i this is in "ServerScriptService", ofc its a normal script. Also does it need to be a local script, because if it does then how do i do that then, because i cant put a local script in "ServerScriptStorage". Also i want to make it so that only 1 player gets murderer, and only one sheriff, all the others become innocents.

5 comments
You can store the different roles in a table, then let it randomly choose one of the roles u put in the table, and when a certain role is taken you remove it from the table.
I mean this is just another way to do it,
why are you settings everyones team color to the same color
@testing34545 because i have 2 teams, playing and waiting, so that in the chat the murderer isnt red, and so on.
so how do i make it that only murderer and sheriff get removed, and everyone else becomes innocent? please post this as an answer, also i have no clue how to do the tables..