This is my script
while true do
local TaggedDebounceCooldown = false
local Players = game:GetService("Players")
for i = 30, 0, -1 do
game.Workspace.GuiValues.StatusText.Value = "starting round: "..i.."s"
wait(1)
end
game.Workspace.Values.InRound.Value = true
local pickedPlayer = Players:GetPlayers()[math.random(#Players:GetPlayers())]
pickedPlayer = Players:GetPlayers()[math.random(#Players:GetPlayers())]
print(pickedPlayer)
for _, player in pairs(game.Players:GetPlayers()) do
local HasBeenTagged = Instance.new("BoolValue", player)
HasBeenTagged.Name = "HasBeenTagged"
HasBeenTagged.Value = false
player:WaitForChild("PlayerTeam").Value = "Blue"
pickedPlayer:WaitForChild("PlayerTeam").Value = "Red"
end
local PeopleAlive = Instance.new("IntValue", game.Workspace.Values)
local playerCount = #game.Players:GetPlayers()
PeopleAlive.Value = playerCount
PeopleAlive.Name = "PeopleAlive"
PeopleAlive.Value = PeopleAlive.Value - 1 -- Only for tagger
game.Workspace:WaitForChild(pickedPlayer.Name).Humanoid.WalkSpeed = 35
game.Workspace.GuiValues.StatusText.Value = pickedPlayer.Name.." is the freezer"
for _, player in pairs(game.Players:GetPlayers()) do
local oldCharacter = player.Character
local morphModel = game.ReplicatedStorage.BlueTeam.Rig
local newCharacterRed = morphModel:Clone()
newCharacterRed.HumanoidRootPart.Anchored = false
newCharacterRed:SetPrimaryPartCFrame(oldCharacter.PrimaryPart.CFrame)
newCharacterRed.Name = player.Name
player.Character = newCharacterRed
newCharacterRed.Parent = workspace
game.Workspace.Values.InRound.Value = false
end
local oldCharacter = pickedPlayer.Character
local morphModel = game.ReplicatedStorage.RedTeam.Tager
local newCharacterRed = morphModel:Clone()
newCharacterRed.HumanoidRootPart.Anchored = false
newCharacterRed:SetPrimaryPartCFrame(oldCharacter.PrimaryPart.CFrame)
newCharacterRed.Name = pickedPlayer.Name
pickedPlayer.Character = newCharacterRed
newCharacterRed.Parent = workspace
for _, player in pairs(game.Players:GetPlayers()) do
game.Workspace:WaitForChild(player.Name).Humanoid.WalkSpeed = 35
end
for i = 0, 0, -0.1 do
-- i = start, end, addition
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText2.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText2.UIStroke.Transparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText1.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText1.UIStroke.Transparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText.UIStroke.Transparency = i
wait(0.3)
end
wait(2)
-- The variable I will be equal to 0 at the start every time the for loop runs 0.1 will be added until it hits 1
for i = 0, 1, 0.1 do
-- i = start, end, addition
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText2.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText2.UIStroke.Transparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText1.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText1.UIStroke.Transparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText.TextTransparency = i
pickedPlayer.PlayerGui.ScreenGui.YouAreScreen.YouAreText.UIStroke.Transparency = i
wait(0.1)
end
-- Everything under here will run after the for loop has ended.
wait(0.1)
wait(1)
game.Workspace:WaitForChild(pickedPlayer.Name).HitBox.Touched:Connect(function(Hit)
if Hit.Parent:FindFirstChild("Humanoid") then
if Hit.Parent.Name == pickedPlayer.Name then
else
if game.Players:WaitForChild(Hit.Parent.Name).HasBeenTagged.Value == false then
print(Hit.Parent.Name.." got Tagged by tagger")
Hit.Parent.Humanoid.WalkSpeed = 0
Hit.Parent.HitBox.Transparency = 0.5
PeopleAlive.Value = PeopleAlive.Value - 1
game.Players:WaitForChild(Hit.Parent.Name):WaitForChild("HasBeenTagged").Value = true
end
end
end
end)
for i = 80, 0, -1 do
**if PeopleAlive.Value == 0 then**
** game.Workspace.GuiValues.StatusText.Value = "Tagger won"**
** **
** for _, player in pairs(game.Players:GetPlayers()) do**
** local oldCharacter = player.Character**
** local morphModel = game.ReplicatedStorage.NormalTeam.Rig**
** local newCharacterRed = morphModel:Clone()**
** newCharacterRed.HumanoidRootPart.Anchored = false**
** newCharacterRed:SetPrimaryPartCFrame(oldCharacter.PrimaryPart.CFrame)**
** newCharacterRed.Name = player.Name**
** player.Character = newCharacterRed**
** newCharacterRed.Parent = workspace**
** game.Workspace.Values.InRound.Value = false**
** end**
***After this but of code above it gets stuck because the if ends and so it stop when the script need to to repeat ***
end
game.Workspace.GuiValues.StatusText.Value = "round ends: "..i.."s"
wait(1)
end
if PeopleAlive.Value >= 1 then
game.Workspace.GuiValues.StatusText.Value = "Players won"
wait(3)
end
for _, player in pairs(game.Players:GetPlayers()) do
local oldCharacter = player.Character
local morphModel = game.ReplicatedStorage.NormalTeam.Rig
local newCharacterRed = morphModel:Clone()
newCharacterRed.HumanoidRootPart.Anchored = false
newCharacterRed:SetPrimaryPartCFrame(oldCharacter.PrimaryPart.CFrame)
newCharacterRed.Name = player.Name
player.Character = newCharacterRed
newCharacterRed.Parent = workspace
game.Workspace.Values.InRound.Value = false
end
for _, player in pairs(game.Players:GetPlayers()) do
game.Workspace:WaitForChild(player.Name).Humanoid.WalkSpeed = 35
game.Players:WaitForChild(player.Name):WaitForChild("HasBeenTagged").Value = false
player:WaitForChild("PlayerTeam").Value = "Normal"
end
end