This is a winning system. worked in game for a while but then stopped working after the last update ...

Script

anime = Instance.new("Animation")
anime.AnimationId = "http://www.roblox.com/Asset?ID=33796059"
admin = {}
function to(plr)
	passive = plr.PlayerGui:WaitForChild("Blackout")
	local rank = plr:GetRankInGroup(1224907)
	if rank>248 then
	print("Player is admin")
	local value = script.Value.Value
	value = value + 1
		for i = value, value do
			admin[i] = plr.Name
           admin[plr.Name] = true
			wait()
		end
	end
	plr.Chatted:connect(function(msg)
		if admin[plr.Name] then
			if msg:sub(1,8) == ":winners" then
				print(":Winners Are")
				if  not admin[plr.Name]then
					passive.bottom:TweenPosition(UDim2.new(0,0,0, -40),"Out","Quad",2)
						passive.top:TweenPosition(UDim2.new(0,0,0.4, 0),"Out","Quad",2)
				end
				if not admin[plr.Name] or admin[plr.Name]then
			plr.Chatted:connect(function(msga)
			if msga:sub(1,4) == ":1st" and msga:sub(6,9) == string.lower(plr.Name:sub(1,4)) and script["1st"].Value == false then
				first = plr.Name
				plr.Character:MoveTo(workspace.WinningBoard["1st"].Position)
				print(plr.Name .. " is 1st!")
			script["1st"].Value = true
		st = plr.Character.Humanoid:LoadAnimation(anime)
		st:Play()
			
				else if msga:sub(1,4) == ":2nd" and msga:sub(6,9) == string.lower(plr.Name:sub(1,4)) and script["2nd"].Value == false then
				plr.Character:MoveTo(workspace.WinningBoard["2nd"].Position)
				second = plr.Name
			script["2nd"].Value = true
				print(plr.Name .. " is 2nd!")
				nd = plr.Character.Humanoid:LoadAnimation(anime)
				nd:Play()
				
					else if msga:sub(1,4) == ":3rd" and msga:sub(6,9) == string.lower(plr.Name:sub(1,4)) and script["3rd"].Value == false then
				plr.Character:MoveTo(workspace.WinningBoard["3rd"].Position)
			third = plr.Name
					print(plr.Name .. " is 3rd!")
			script["3rd"].Value = true
			rd = plr.Character.Humanoid:LoadAnimation(anime)
			rd:Play()

					end
				end
				if script["1st"].Value == true and script["2nd"].Value == true and script["3rd"].Value == true then 
					passive.bottom:TweenPosition(UDim2.new(0, 0,1.5, 30),"Out","Quad",2)
						passive.top:TweenPosition(UDim2.new(0,0,-1, 0),"Out","Quad",2)
						wait()
						workspace.Sound:Play()
						wait(1)
					passive.TextLabel.Text = third .. " Is Third!"
					wait(2)
					passive.TextLabel:TweenSize(UDim2.new(1, 0, 0, 150),"Out","Quad",0.5)
					
					wait()
					for i = 0, 1, 0.1 do
						passive.TextLabel.TextTransparency = i
						wait(0.1)
					end
					passive.TextLabel.Size = UDim2.new(1,0,0,100)
					passive.TextLabel.Text = second .. " Is Second!"
					wait(2)
					for i = 1, 0, -0.1 do
						passive.TextLabel.TextTransparency = i
						wait(0.1)
					end
					wait(0.5)
						passive.TextLabel:TweenSize(UDim2.new(1, 0, 0, 150),"Out","Quad",0.5)
	
					for i = 0, 1, 0.1 do
						passive.TextLabel.TextTransparency = i
						wait(0.1)
					end
					passive.TextLabel.Size = UDim2.new(1,0,0,100)
					passive.TextLabel.Text = first .. " Is First!"
					wait(3)
					for i = 1, 0, -0.1 do
						passive.TextLabel.TextTransparency = i
						wait(0.1)
					end
					
							wait(9)
							wait(0.5)
					passive.TextLabel:TweenSize(UDim2.new(1, 0, 0, 150),"Out","Quad",0.5)
					for i = 0, 1, 0.1 do
						passive.TextLabel.TextTransparency = i
						wait(0.1)
					end
					wait(1)
					st:Stop()
					nd:Stop()
					rd:Stop()
						plr.Character:MoveTo(workspace.WinningBoard["end"].Position)
						workspace.Sound:Stop()
							passive.TextLabel.Text = ""
						wait(0.1)
							passive.TextLabel.TextTransparency = 0
						wait(60)
						script["1st"].Value = false						
						script["2nd"].Value = false
						script["3rd"].Value = false
				end
				end
			end)
			end
			end
			
			end
	end)
	end
game.Players.PlayerAdded:connect(to)



Error

baisically most of it works incept for everytime I try to get the blackout gui which I placed into starter gui and then get by doing plr.PlayerGui.Blackout