โ† Back to all scripts

Basic Round System

Loop-based round system with intermission, random map selection, and countdown timer.

SystemsIntermediateServerScriptService
basic-round-system.lua
-- Basic Round System
local ROUND_TIME   = 120
local INTERMISSION = 15
local MIN_PLAYERS  = 2
local mapsFolder   = workspace:WaitForChild("Maps")
local activeMap    = nil

local function loadMap()
    if activeMap then activeMap:Destroy() end
    local maps = mapsFolder:GetChildren()
    if #maps == 0 then return end
    activeMap = maps[math.random(1, #maps)]:Clone()
    activeMap.Parent = workspace
end

local function countdown(seconds, label)
    for i = seconds, 1, -1 do
        print(label .. i)
        task.wait(1)
    end
end

while true do
    repeat task.wait(2) until #game.Players:GetPlayers() >= MIN_PLAYERS
    countdown(INTERMISSION, "Intermission: ")
    loadMap()
    countdown(ROUND_TIME, "Time left: ")
    if activeMap then activeMap:Destroy(); activeMap = nil end
    task.wait(2)
end
Related scripts in Systems
Checkpoint SystemBeginner โ†’Day/Night CycleBeginner โ†’Teleport to PlaceBeginner โ†’
Something broken or not working?
๐Ÿ”ง Try the AI Script Fixer โ†’