I decided to change the idea, to making it so there is a circle where you enter it and it teleports you.
My seat script :
local seats = workspace.Seats.One local teleportService = game:GetService("TeleportService") local num = 0 local playersInSeats = {} local countdown = false -- remove the prints if you'd like local function countDown() if not countdown then countdown = true print("Start countdown") playersInSeats = {} for i = 5,1,-1 do if num < 1 then break end -- if everyone gets off, reset timer if num == #seats:GetChildren() then break end -- if seats are full, teleport wait(1) end if num >= 1 then -- change this to minimum number of players print("Start game") local serverCode = teleportService:ReserveServer(game.PlaceId) -- change game.PlaceId to the place id for _,seat in pairs(seats:GetChildren()) do if seat.Occupant then local plr = game.Players:GetPlayerFromCharacter(seat.Occupant.Parent) -- occupant is the humanoid, hence why table.insert(playersInSeats,plr) end end for _,plr in pairs(playersInSeats) do -- can remove this if you like, it was to debug print(plr) end teleportService:TeleportToPrivateServer(game.PlaceId,serverCode,playersInSeats) -- change game.PlaceId to the place id countdown = false else countdown = false end end end for _,seat in pairs(seats:GetChildren()) do if seat:IsA("Seat") then seat:GetPropertyChangedSignal("Occupant"):connect(function() if seat.Occupant ~= nil then num = num + 1 countDown() else num = num - 1 end end) end end