local placeId = 11155396403 local tps = game:GetService("TeleportService") local ts = game:GetService("TweenService") local lifts = workspace:WaitForChild("Lobby"):WaitForChild("Lifts") for i, lift in pairs(lifts:GetChildren()) do local playerLimit = tonumber(lift.Name) local front = lift:WaitForChild("Front") local gui = Instance.new("SurfaceGui") gui.PixelsPerStud = 60 gui.SizingMode = Enum.SurfaceGuiSizingMode.PixelsPerStud gui.Parent = front local label = Instance.new("TextLabel") label.Font = Enum.Font.Michroma label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 255, 255) label.TextScaled = true label.Size = UDim2.new(1, 0, 1, 0) label.Text = "0/" .. playerLimit label.Parent = gui local playersIn = {} local playerDebounce = {} front.Touched:Connect(function(hit) local char = hit.Parent local plr = game.Players:GetPlayerFromCharacter(char) if plr and not playerDebounce[plr] then playerDebounce[plr] = true if table.find(playersIn, plr) then table.remove(playersIn, table.find(playersIn, plr)) char.HumanoidRootPart.CFrame = front.CFrame + front.CFrame.LookVector * 3 elseif #playersIn < playerLimit then table.insert(playersIn, plr) char.HumanoidRootPart.CFrame = lift.Lift.PrimaryPart.CFrame + Vector3.new(0, 5, 0) end task.wait(1) playerDebounce[plr] = false end end) local countdown = 31 local cfValue = Instance.new("CFrameValue") cfValue.Value = lift.Lift.PrimaryPart.CFrame cfValue:GetPropertyChangedSignal("Value"):Connect(function() lift.Lift:SetPrimaryPartCFrame(cfValue.Value) end) task.spawn(function() while task.wait(1) do if #playersIn > 0 then countdown -= 1 else countdown = 31 end label.Text = #playersIn .. "/" .. playerLimit .. "\n" .. countdown .. "s" if countdown <= 0 then local ti = TweenInfo.new(4.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In) local originalCF = cfValue.Value local goalCF = originalCF - Vector3.new(0, 16, 0) ts:Create(cfValue, ti, {Value = goalCF}):Play() task.wait(5) local options = Instance.new("TeleportOptions") options.ShouldReserveServer = true tps:TeleportAsync(placeId, playersIn, options) ts:Create(cfValue, ti, {Value = originalCF}) playersIn = {} end end end) end