This is my first attempt on a map and timed game, but I'm not sure if this code will work, to change maps. I just started learning advanced scripting :3
All my maps are in Lightning, around 5 maps.
maps = {"Classic", "Large", "Medium", "Small"} --Name of the model, also known as the map
time = math.random(300,600)
script.Parent.TimeValue.Value = time
players = game.Players:GetChildren()
function ChooseMap()
map = game.Lighting.maps[1,#maps]:Clone() --Clones a Random Map
map.Parent = game.Workspace --Puts the map in Workspace
end
mapname = map.Name
while players >= 4 do --If there are 4 or more players, then...
ChooseMap() --Does the function
for i,v,players in pairs do
players:MoveTo(script.Parent.(mapname).PlayerSpawn.Position) --Teleports everyone to the PlayerSpawn
sniper = math.random(players) --Selects a random player to become the Sniper
sniper:MoveTo(script.Parent.(mapname).SniperSpawn.Position) --teleports the Sniper to the Sniper's Spawn
repeat
wait(1)
script.Parent.TimeLeft.Value = time-1
until script.Parent.TimeLeft.Value == 0
end
wait(15)
script.Parent.(mapname):Destroy()
wait(60)
end

3 comments
There's one problem we both didn't realise. In Studio, time is blue...
Love the answer you gave me, But I don't think we'll like what Studio gave us: "18:37:59.685 - Workspace.Script:3: unexpected symbol near '.' " Line 3 has an error???
Something's wrong... I tested it wothout a player, Loads of problems. (1)the TimeLeft Value remained the same. (2) The player keeps falling off the map, even with All anchored, Locked and CanCollide checked.(3)I can't see the map in Workspace...