Alright, So. The "LeaveMode()" worked perfectly before I added "ChooseMode().." "BringMode()" does work though...?

--//Variables//


--//Important Functions//
function ChangeTimerText(Text)
    local Players = game.Players:GetPlayers()
    for i = 1, #Players do
    Players[i].PlayerGui:WaitForChild("CountdownGui").MainFrame.CountdownLabel.Text = Text
	end
end

function ChooseIntermissionSound()
    local Sounds = game.ReplicatedStorage.SoundFolder.IntermissionFolder:GetChildren()
    local PickSound = math.random(1, #Sounds)
    local SelectedSound = Sounds[PickSound]:Clone()
    SelectedSound.Name = 'IntermissionSound'
    SelectedSound.Parent = game.Workspace:WaitForChild("AudioFolder")
	SelectedSound:Play()
	print("Intermission Music Began!")
end

function TeamPlayersPlaying()
	local Players = game.Players:GetPlayers()
    for i = 1, #Players do
    Players[i].TeamColor = BrickColor.new("Cyan")
	print("Players have changed teams! Team: Playing")
	end
end

function TeamPlayersLobby()
	local Players = game.Players:GetPlayers()
    for i = 1, #Players do
    Players[i].TeamColor = BrickColor.new("Institutional white")
	print("Players have changed teams! Team: Lobby")
	end
end

function Ding()
	game.Workspace:WaitForChild("AudioFolder").Ding:Play()
end

function ChooseMode()
    local Modes = game.ReplicatedStorage.GameModes:GetChildren()
    local PickMode = math.random(1, #Modes)
    local SelectedMode = Modes[PickMode]:Clone()
    SelectedMode.Name = 'ChosenMode'
    SelectedMode.Parent = game.Workspace:WaitForChild("ModeFolder")
	print("Mode Chosen: "..game.Workspace.ModeFolder.ChosenMode.Value)
end

--//Functions//
function BringIntermission()
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
	Players[i].PlayerGui:WaitForChild("CountdownGui").MainFrame:TweenPosition(UDim2.new(0.5,-100,0.01,0),"Out",4,true)
	print("Intermission Entered!")
	end
end

function BeginIntermission()
	local Intermission = 30
    local Players = game.Players:GetChildren()
    for i = Intermission, 0, -1 do
    ChangeTimerText("" ..i)
	print(""..i)
    wait(1)
	end
end

function LeaveIntermission()
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
	Players[i].PlayerGui:WaitForChild("CountdownGui").MainFrame:TweenPosition(UDim2.new(0.5,-100,-2,0),"Out",4,true)
	print("Intermission Left!")
	end
end

function BringMode()
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
	Ding()
	Players[i].PlayerGui:WaitForChild("ModeGui").MainFrame:TweenPosition(UDim2.new(0.5,-200,0.5,-100),"Out",4,true)
	print("Mode Entered!")
	end
end

function LeaveMode()
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
	Players[i].PlayerGui:WaitForChild("ModeGui").MainFrame:TweenPosition(UDim2.new(0.5,-200,-3,0),"Out",4,true)
	print("Mode Left!")
	end
end

--//Main//
while wait(4) do
	TeamPlayersLobby()
	BringIntermission()
	ChooseIntermissionSound()
	BeginIntermission()
	LeaveIntermission()
game.Workspace:WaitForChild("AudioFolder"):FindFirstChild("IntermissionSound"):Destroy()
	BringMode()
	ChooseMode()
	LeaveMode()
	wait(3)
end

5 comments

0

Does it throw any errors in the output? Is it a logic error or a syntax error? What does your script supposed to do? It's hard to help when these questions aren't answered, and your code contains no comments.

0

There are no errors. However, The " print("Mode Left!")" does print! It doesn't tween the ModeGui off of the screen.

0

@Mineloxer