Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement