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

4 comments

0

Edited for code block.

0

what did you edit? Thanks for the comment

0

I made the script into a code block, the site wasn't picking up you were using code blocks except for certain areas that were tabbed. Make sure you put your code into the ~~~~~~ when you make posts on Scripting Helpers.

0

thanks and put my code in the what? it is not showing up