this is my code.. for some reason every time i test it, it always times out before resuming ... any help is welcome. :)
--Made by iiMeltex
local roundtime = 60 * 3
local finaletime = 1* 60
local intermissiontime = 15
local serverstorage = game:GetService("ServerStorage")
local replicatedstorage = game:GetService("ReplicatedStorage")
local debris = game:GetService("Debris")
local maps = serverstorage:WaitForChild("Maps")
local mapholder = game.Workspace:WaitForChild("Mapholder")
local event = replicatedstorage:WaitForChild("RemoteEvent")
local statustag = replicatedstorage:WaitForChild("StatusTag")
local timertag = replicatedstorage:WaitForChild("TimerTag")
function awardpoints(player, points)
if player and points then
local leaderstats = player.FindFirstChild("leaderstats")
if leaderstats then
local pointsvalue = leaderstats:FindFirstChild("Points")
if pointsvalue then
pointsvalue.Value = pointsvalue.Value + points
end
end
end
end
function newcharacter(deadplayer, character)
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.Died:connect(function()
humanoid.WalkSpeed = 16
humanoid.UnequipTools()
local backpack = deadplayer:FindFirstChild("Backpack")
if backpack then
backpack:ClearAllChildren()
end
local tag = humanoid:FindFirstChild("creator")
if tag and tag.Value and tag.Value.Parent == game.Players then
if tag.Value == hunter and deadplayer == hunter then
local wrongdoer = tag.Value
if wrongdoer.Character and wrongdoer.Character.Parent then
local wrongdoerhumanoid = wrongdoer.Character:FindFirstChild("Humanoid")
if wrongdoerhumanoid then
wrongdoerhumanoid.Health = 0
end
end
end
end
end)
end
end
function playeradded(player)
local leaderstats = Instance.new("Model")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local wins = Instance.new("IntValue")
wins.Name = "Wins"
wins.Parent = leaderstats
local points = Instance.new("IntValue")
points.Name = "Points"
points.Parent = leaderstats
player.CharacterAdded:connect(function(character)
newcharacter(player, character)
end)
if player.Character and player.Character.Parent then
newcharacter(player, player.character)
end
end
game.Players.PlayerAdded:connect(playeradded)
for _, player in pairs(game.Players:GetPlayers()) do
playeradded(player)
end
while true do
while true do
wait(4)
contestants = {}
for _,player in pairs(game.Players:GetPlayers()) do
if player and player.Character then
local humanoid = player.Character:WaitForChild("Humanoid")
if humanoid and humanoid.Health > 0 then
table.insert(contestants, player)
end
end
end
if #contestants >= 3 then
break
else
statustag.Value = "Waiting For More Players"
timertag.Value = -1
end
end
--load a random map
statustag.Value = "Loading A Random Map"
timertag.Value = -1
mapholder:ClearAllChildren()
wait(2)
local allmaps = maps:GetChildren()
local newmap = allmaps[math.random(1, #allmaps)]:clone()
newmap.Parent = game.Workspace.Mapholder
wait(2)
statustag.Value = "Match"
timertag.Value = roundtime
--choose hunter
hunter = contestants[math.random(1, #contestants)]
--blur
--teleport all contestants
local spawnsmodel = newmap:WaitForChild("Spawns")
local spawns = spawnsmodel:GetChildren()
for _,player in pairs(contestants) do
if player and player.Character and #spawns > 0 then
local torso = player.Character:WaitForChild("Torso")
local humanoid = player.Character:WaitForChild("Humanoid")
local spawnindex = math.random(1, #spawns)
local spawn = spawns[spawnindex]
if spawn and torso and humanoid then
humanoid.Health = 100
humanoid.WalkSpeed = 16
table.remove(spawns, spawnindex)
torso.CFrame = CFrame.new(spawn.Position + Vector3.new(0, 3, 0))
local matchtag = Instance.new("StringValue")
matchtag.Name = "Matchtag"
matchtag.Parent = player.Character
local backpack = player.FindFirstChild("Backpack")
if backpack then
if player == hunter then
local sword = serverstorage:WaitForChild("Bamboo Katana"):clone()
sword.Parent = backpack
local humanoid = player.Character.Humanoid
humanoid.WalkSpeed = 18
event:FireClient(player, "Class", "Hunter")
else
local flashlight = serverstorage:WaitForChild("Flashlight"):clone()
flashlight.Parent = backpack
event:FireClient(player, "Class", "Hunted")
end
end
end
end
end
spawnsmodel:remove()
--focus
local localtimer = roundtime
while localtimer > 0 do
wait(1)
localtimer = localtimer - 1
timertag.Value = localtimer
activecontestants = {}
hunteractive = false
for _,player in pairs(contestants) do
if player then
local character = player.Character
if character then
local matchtag = character:FindFirstChild("Matchtag")
local humanoid = character:FindFirstChild("Humanoid")
if matchtag and humanoid and humanoid.Health > 0 then
if player == hunter then
hunteractive = true
end
table.insert(activecontestants, player)
end
end
end
end
if #activecontestants <= 1 or not hunteractive then
break
end
end
for _,player in pairs(activecontestants) do
local character = player.Character
local matchtag = character:FindFirstChild("Matchtag")
local humanoid = character:FindFirstChild("Humanoid")
if player and matchtag and humanoid and humanoid.Health > 0 then
local backpack = player.FindFirstChild("Backpack")
local pistol = serverstorage:WaitForChild("Pistol"):clone()
pistol.Parent = backpack
end
end
statustag.Value = "Finale"
timertag.Value = finaletime
local localtimer = finaletime
while localtimer > 0 do
if #activecontestants <= 1 or not hunteractive then
break
end
wait(1)
localtimer = localtimer - 1
timertag.Value = localtimer
activecontestants = {}
hunteractive = false
for _,player in pairs(contestants) do
if player then
local character = player.Character
if character then
local matchtag = character:FindFirstChild("Matchtag")
local humanoid = character:FindFirstChild("Humanoid")
if matchtag and humanoid and humanoid.Health > 0 then
if player == hunter then
hunteractive = true
end
table.insert(activecontestants, player)
end
end
end
end
end
local gameresults = "PlayersWin"
if hunteractive then
if #activecontestants >= 2 then
event:FireAllClients("Results", "HuntedWin")
else
gameresults = "HunterWin"
event:FireAllClients("Results", "HunterWin")
end
else
event:FireAllClients("Results", "HuntedWin")
end
for _,player in pairs(activecontestants) do
if player then
if gameresults == "HunterWin" and player == hunter then
awardpoints(player, 10)
elseif gameresults ~= "HunterWin" and player ~= hunter then
awardpoints(player, 4)
end
end
end
local lobbyspawns = {}
for _, v in pairs(game.Workspace:WaitForChild("Lobby"):WaitForChild("SpawnPoints"):GetAllChildren()) do
if v and v.Name == "SpawnLocation" then
table.insert(lobbyspawns, v)
end
end
for _,player in pairs(activecontestants) do
if player then
awardpoints(player, 1)
if player.Character then
local humanoid = player.Character:FindFirstChild("Humannoid")
if humanoid and humanoid.Health > 0 then
humanoid:UnequipTools()
end
end
local randomspawn = lobbyspawns[math.random(1, #lobbyspawns)]
player.Character:MoveTo(randomspawn.Position)
local backpack = player:FindFirstChlid("Backpack")
if backpack then
backpack:ClearAllChildren()
end
end
end
statustag.Value = "Intermission"
timertag.Value = intermissiontime
local localtimer = intermissiontime
while localtimer > 0 do
wait(1)
localtimer = localtimer - 1
timertag.Value = localtimer
end
wait(0.01)
end

5 comments
What exactly do you mean by time out? I am going to speak on behalf of the Scripting Helpers community that no one will be willing to go through all 309 lines of code to find the one small mistake you made without you giving us a hint as to what exactly is going wrong.
At least include the error :/
OK so after there are 3 contestants it breaks out of the first while loop in the while loop... but from there it always just says the script stops and my game just dosent execute the rest of the code.
Can you add the output to your question
wait? like what happens when i run the code/