Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TS = game:GetService("TeleportService")
- local GuiPart = script.Parent.Parent.GuiPart
- local Seats = script.Parent.Parent.BusModel.SeatsModel:GetChildren()
- local List = {}
- local MinPlayers = 1
- local MaxPlayers = 12
- local Timer
- local PlaceId = (17424851138)
- GuiPart.SurfaceGui.Players.Text = "Players: "..#List.." / "..MaxPlayers
- local function removeFromList(character)
- for i=1,#List do
- if List[i] == character.Name then
- table.remove(List,i)
- GuiPart.SurfaceGui.Players.Text = "Players: "..#List.." / "..MaxPlayers
- end
- end
- end
- local function TeleportPlayers()
- if #List >= MinPlayers then
- GuiPart.SurfaceGui.Status.Text = "Teleporting..."
- GuiPart.SurfaceGui.Status.TextColor3 = Color3.new(1, 0, 0)
- local playersToTeleport = {}
- for i=1,#List do
- if game.Players:FindFirstChild(List[i]) then
- table.insert(playersToTeleport, game.Players:FindFirstChild(List[i]))
- game.ReplicatedStorage.TransitionEvent:FireClient(game.Players:FindFirstChild(List[i]))
- else
- table.remove(List,i)
- end
- end
- local Code = TS:ReserveServer(PlaceId)
- TS:TeleportToPrivateServer(PlaceId, Code, playersToTeleport)
- repeat wait() until #List <= 0
- GuiPart.SurfaceGui.Status.Text = "READY"
- GuiPart.SurfaceGui.Status.TextColor3 = Color3.new(0.333333, 1, 0)
- else
- GuiPart.SurfaceGui.Players.Text = "1 Players Neeeded"
- wait(2.5)
- GuiPart.SurfaceGui.Players.Text = "Players: "..#List.." / "..MaxPlayers
- end
- end
- script.Parent.Touched:Connect(function(Hit)
- if Hit.Parent:FindFirstChild("Humanoid") then
- local character = Hit.Parent
- local Player = game.Players:GetPlayerFromCharacter(character)
- local alreadyExists = false
- for i=1,#List do
- if List[i] == character.Name then
- alreadyExists = true
- end
- end
- if alreadyExists == false then
- if #List < MinPlayers then
- table.insert(List,character.Name)
- for i, v in pairs(Seats) do
- if Seats == nil then
- local Check = Instance.new("Weld")
- Check.Name = "Check"
- Check.Parent = Player.Character
- Check.Parent.Humanoid.JumpPower = 0
- Check.Parent.Humanoid.WalkSpeed = 0
- end
- end
- Seats[math.random(1, #Seats)]:Sit(Player.Character.Humanoid)
- game.ServerStorage.LeaveGui:Clone().Parent = Player.PlayerGui
- GuiPart.SurfaceGui.Players.Text = "Players: "..#List.." / "..MaxPlayers
- end
- end
- Player.CharacterRemoving:connect(function(character)
- removeFromList(character)
- end)
- end
- end)
- game.ReplicatedStorage.LeaveGuiEvent.OnServerEvent:Connect(function(player)
- player:LoadCharacter()
- end)
- while wait() do
- Timer = 41
- for i=1,Timer do
- Timer = Timer - 1
- GuiPart.SurfaceGui.timeLabel.Text = "Time: "..Timer
- wait(1)
- end
- TeleportPlayers()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement