this is a server script if anyone can help it would be greatly appreciated its a long script though :start() is called by another script and the messages would work if the script didn't break first also no output
local PlayersInGame = {}
local test = true
local ToolPositions = {}
local InGame = false
local Intermission = 5
local State = script.State.Value
local mins = 0
local secs = 0
function HungerGames:Start()
spawn(function()
while true do
wait(15)
print(State)
end
end)
---------------------------- Starter Setup --------------------------------------
if workspace:FindFirstChild("HungerGames") then
workspace.HungerGames.Parent = game.ReplicatedFirst
end
for i,v in pairs(game.ReplicatedFirst.HungerGames.ToolSpawns:GetChildren()) do
table.insert(ToolPositions, v.Position + Vector3.new(0,3,0))
v:Destroy()
end
for i,v in pairs(game.ReplicatedFirst.HungerGames.Spawns:GetChildren()) do
v.SpawnPoint.Transparency = 1
v.Script.Disabled = true
end
if game:GetService("RunService"):IsStudio() == true then
test = true
end
for i,v in pairs(game.ReplicatedFirst.HungerGames.Items:GetChildren()) do
v.Handle.Transparency = 1
end
------------------------ Game Setup (Done Every Time) ----------------------------------
while true do
if test then
repeat wait() until game.Players:FindFirstChild("mattchew1010")
table.insert(PlayersInGame, game.Players.mattchew1010)
end
State = "Startup"
game.ReplicatedFirst.HungerGames.Parent = workspace
for i,v in pairs(ToolPositions) do
if math.random(0,100) > 50 then
local items = workspace.HungerGames.Items:GetChildren()
local picked = items[math.random(1, #items)]
local clone = picked:Clone()
clone.Handle.Position = v
clone.Handle.Anchored = false
clone.Parent = workspace.HungerGames.LooseItems
clone.Handle.Transparency = 0
end
end
workspace.HungerGames.WeaponsEnabled.Value = false
wait()
for i = 1, #PlayersInGame do
table.remove(PlayersInGame, i)
end
State = "Intermission"
wait(Intermission)
------------------------- Game -----------------------------
InGame = true
spawn(function()
secs = 59
mins = 19
while true do
wait(1)
if InGame == false then
break
end
if secs == 0 then
mins = mins - 1
secs = 59
end
workspace.HungerGames.TimeLeft.Value = tostring(mins) .. " : " .. tostring(secs)
end
end)
State = "Game Setup"
for i,v in pairs(PlayersInGame) do
if v.Character then
if not v:FindFirstChild("Location") then
local loc = Instance.new("StringValue")
loc.Value = "HungerGames"
loc.Name = "Location"
loc.Parent = v
else
v.Location.Value = "HungerGames"
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Grace Period Ending in 5 Minutes")
for i, b in pairs(workspace.HungerGames.Spawns:GetChildren()) do
if b:FindFirstChild("Claimed") == nil then
v.Character:MoveTo(b.SpawnPoint.Position + Vector3.new(0,10,0))
b.Script.Disabled = false
local cl = Instance.new("BoolValue")
cl.Name = "Claimed"
cl.Parent = b
break
end
end
end
end
State = "Game Grace Period"
if test then
wait(10)
else
wait(60 * 5)
end
workspace.HungerGames.WeaponsEnabled.Value = true
for i,v in pairs(PlayersInGame) do
spawn(function()
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Grace Period Ended, Let the hunt begin!")
wait(20)
State = "Game"
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 20 Minutes")
if test then
wait(10)
else
wait(60 * 10)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 10 Minutes")
if test then
wait(10)
else
wait(60 * 5)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 5 Minutes")
if test then
wait(10)
else
wait(60 * 2)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 3 Minutes")
if test then
wait(10)
else
wait(60 * 3)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 2 Minutes")
if test then
wait(10)
else
wait(60 * 4)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 1 Minutes")
if test then
wait(10)
else
wait(60-5)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("Game Ends in 5 Seconds")
if test then
wait(1)
else
wait(1)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("4")
if test then
wait(1)
else
wait(1)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("3")
if test then
wait(1)
else
wait(1)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("2")
if test then
wait(1)
else
wait(1)
end
require(v.PlayerScripts.Aero.Controllers.ServerMessage):SayWords("1")
end)
end
if test then
wait(120)
else
wait(60 * 20)
end
State = "End Game"
for i,v in pairs(workspace.HungerGames.Spawns:GetChildren()) do
if v:FindFirstChild("Claimed") then
v.Claimed:Destroy()
end
end
workspace.HungerGames.Parent = game.ReplicatedFirst
print("Finished")
InGame = false
end
end

3 comments
If nothing is displaying in the output then there could be a if statement preventing the script from continuing. Check the if the statements run by printing.
i thought about doing that but its 200 lines... i guess i can try
omg i found the problem i was just making the script think no one was in the game by deleting everything in the PLayersingame table before the game even started MONTHS for 3 lines to fffffck me up