Script:
local function resetRed()
local children = workspace.RedTeam
local parts = workspace.RedParts
if #children:GetChildren() == 0 then
print("No")
return
end
local num = math.random(1, #parts:GetChildren())
local randomplace = parts:GetChildren()[num]
local randomplayernum = math.random(1, #children:GetChildren())
local player1 = children:GetChildren()[randomplayernum]
if workspace.RedTeam:GetChildren()[randomplayernum] and workspace.RedParts:GetChildren()[num] then
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
player1.PrimaryPart.CFrame = randomplace.CFrame
children:GetChildren()[randomplayernum].Parent = game.Workspace.TPPlayersRed
print("Still here")
randomplace.Parent = game.Workspace.TPPartsRed
print("Here")
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if workspace.RedTeam:GetChildren()[randomplayernum] and workspace.RedParts:GetChildren()[num] then
print("2")
children = game.Workspace.RedTeam
parts = game.Workspace.RedParts
num = math.random(1, #parts:GetChildren())
randomplace = parts:GetChildren()[num]
randomplayernum = math.random(1, #children:GetChildren())
player1 = children:GetChildren()[randomplayernum]
player1.PrimaryPart.CFrame = randomplace.CFrame
player1.Parent = workspace.TPPlayersRed
randomplace.Parent = workspace.TPPartsRed
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if children:GetChildren()[randomplayernum] and parts:GetChildren()[num] then
print("3")
children = game.Workspace.RedTeam
parts = game.Workspace.RedParts
num = math.random(1, #parts:GetChildren())
randomplace = parts:GetChildren()[num]
randomplayernum = math.random(1, #children:GetChildren())
player1 = children:GetChildren()[randomplayernum]
player1.PrimaryPart.CFrame = randomplace.CFrame
randomplace.Parent = workspace.TPPartsRed
player1.Parent = workspace.TPPlayersRed
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.RedParts
player1.Parent = workspace.RedTeam
return
end
end
end
end
end
local function resetBlue()
local children = workspace.BlueTeam
local parts = workspace.BlueParts
if #children:GetChildren() == 0 then
print("No")
return
end
local num = math.random(1, #parts:GetChildren())
local randomplace = parts:GetChildren()[num]
local randomplayernum = math.random(1, #children:GetChildren())
local player1 = children:GetChildren()[randomplayernum]
if workspace.BlueTeam:GetChildren()[randomplayernum] and workspace.BlueParts:GetChildren()[num] then
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
player1.PrimaryPart.CFrame = randomplace.CFrame
children:GetChildren()[randomplayernum].Parent = game.Workspace.TPPlayersBlue
print("Still here")
randomplace.Parent = game.Workspace.TPPartsBlue
print("Here")
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if workspace.BlueTeam:GetChildren()[randomplayernum] and workspace.BlueParts:GetChildren()[num] then
children = game.Workspace.BlueTeam
parts = game.Workspace.BlueParts
num = math.random(1, #parts:GetChildren())
randomplace = parts:GetChildren()[num]
randomplayernum = math.random(1, #children:GetChildren())
player1 = children:GetChildren()[randomplayernum]
player1.PrimaryPart.CFrame = randomplace.CFrame
player1.Parent = workspace.TPPlayersBlue
randomplace.Parent = workspace.TPPartsBlue
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if children:GetChildren()[randomplayernum] and parts:GetChildren()[num] then
children = game.Workspace.BlueTeam
parts = game.Workspace.BlueParts
num = math.random(1, #parts:GetChildren())
randomplace = parts:GetChildren()[num]
randomplayernum = math.random(1, #children:GetChildren())
player1 = children:GetChildren()[randomplayernum]
player1.PrimaryPart.CFrame = randomplace.CFrame
randomplace.Parent = workspace.TPPartsBlue
player1.Parent = workspace.TPPlayersBlue
if #parts:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
if #children:GetChildren() == 0 then
randomplace.Parent = workspace.BlueParts
player1.Parent = workspace.BlueTeam
return
end
end
end
end
end
local rep = game:GetService("ReplicatedStorage")
local players = game:GetService("Players")
local minutesvalue = rep:WaitForChild("Minutes")
local secondsvalue = rep:WaitForChild("Seconds")
local minutes = 2
local seconds = 30
local function killAll()
local allPlayers = game.Players:GetChildren()
for i = 1, #allPlayers do
allPlayers[i].Character.Humanoid.Health = 0
end
end
while true do
minutesvalue.Value = minutes
secondsvalue.Value = seconds
repeat
if secondsvalue.Value <= 0 then
minutesvalue.Value = minutesvalue.Value - 1
secondsvalue.Value = 59
else
secondsvalue.Value = secondsvalue.Value - 1
end
wait(1)
if secondsvalue.Value <= 0 and minutesvalue.Value <= 0 then
game.Workspace.Ref.RefWhistle:Play()
game.Workspace.Ref.GameOver:Play()
game.Workspace.Ball.Position = Vector3.new(-2.5, 3.799, -4.5 )
resetRed(); resetBlue()
local red = game.Workspace.RedPoints
local blue = game.Workspace.BluePoints
local redwin = red.Value > blue.Value
local bluewin = blue.Value > red.Value
local tie = blue.Value == red.Value
if redwin == true then
game.Workspace.RedWins:FireAllClients()
for i, v in pairs(game.Teams.Red:GetPlayers()) do
v:FindFirstChild("leaderstats"):FindFirstChild("Wins").Value = v:FindFirstChild("leaderstats"):FindFirstChild("Wins").Value + 1
end
end
if bluewin == true then
game.Workspace.BlueWins:FireAllClients()
for i, v in pairs(game.Teams.Blue:GetPlayers()) do
v:FindFirstChild("leaderstats"):FindFirstChild("Wins").Value = v:FindFirstChild("leaderstats"):FindFirstChild("Wins").Value + 1
end
end
if tie == true then
game.Workspace.TieGame:FireAllClients()
end
end
until secondsvalue.Value <= 0 and minutesvalue.Value <= 0
end
Itâs repeating, but if red wins at first, it will keep saying red wins eventhough blueâs value is higher.