Here is the source code:

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 60

local reward = 10

while true do

Status.Value = "Waiting for enough players..."

repeat wait(1) until game.Players.NumPlayers >= 2

Status.Value = "Intermission"

wait(10)

local plrs = {}

for i, player in pairs(game.Players:GetPlayers()) do
    if player then
        table.insert(plrs,player)
    end 
end

wait(2)

local AvailableMaps = MapsFolder:GetChildren()

local ChosenMap = AvailableMaps[math.random(1,#AvailableMaps)]

Status.Value = ChosenMap.Name.."Chosen"

local ClonedMap = ChosenMap:Clone()
ClonedMap.Parent = workspace



local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then
    print("SpawnPoints not found!")
end

local AvailableSpawnPoints = SpawnPoints:GetChildren()


for i,player in pairs(plrs) do 
    if player then
        character = player.Character

        if character then

            character:FindFirstChild("HumanoidRootPart").Cframe = AvailableSpawnPoints[1]
            table.remove(AvailableSpawnPoints,1)


            local Sword = ServerStorage.Sword:Clone()
            Sword.Parent = player.Backpack

            local GameTag = Instance.new("BoolValue")
            GameTag.Name = "GameTag"
            GameTag.Parent = player.Character

        else

            if not player then
                table.remove(plrs,i)
            end
        end
    end
end

Status.Value = "Get ready to rumble!!!"

wait(5)

for i = GameLength,0,-1 do

    for x, player in pairs(plrs) do
        if player then

            character = player.Character

            if not character then

            else
                if character:FindFirstChild("GameTag") then
                    print(player.Name.."is still in the game!!")
                else

                    table.remove(plrs,x)    
                    print(player.Name.."Has been removed")
                end 
            end
        else
            table.remove(plrs,x)
            print(player.Name.."Has been removed")  

        end
    end

    Status.Value = "There are "..i.." seconds remaining, and "..#plrs.." players left!!"

    if #plrs == 1 then
        Status.Value = "The winner is"..plrs[1].Name
        plrs[1].leaderstats.Shrimps.Value =  plrs[1].leaderstats.Shrimps.Value + reward
        break
    elseif #plrs == 0 then
        Status.Value = "oof, nobody won!"
        break
    elseif i == 0 then
        Status.Value = "Times up!"
        break   

    end

    wait(1)
end

print("end of game")

for i, player in pairs(game.Players:GetPlayers()) do
    character = player.Character

    if not character then

    else
        if character:FindFirstChild("GameTag") then
            character.GameTag:Destroy()
        end 

        if player.Backpack:FindFirstChild("Sword") then
            player.Backpack.Sword:Destroy()
        end     
            if character:FindFirstChild("Sword") then
            character.Sword:Destroy()
        end
    end

    player:LoadCharacter()

    Status.Value = "Game Over!"

    wait(5)

end

ClonedMap:Destroy()

end

1 comment

0

So what exactly does the console say is wrong?