Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TS = game:GetService("TeleportService")
- local TweenService = game:GetService("TweenService")
- local placeId = "8697357316"
- local leaveGuiEvent = game.ReplicatedStorage.LeaveGuiEvent
- local TransitionEvent = game.ReplicatedStorage.TransitionEvent
- local list = {}
- local gui = script.Parent.GuiPart.SurfaceGui
- local billboard = script.Parent.billboardPart.billboardGui
- local timer
- local teleporting = false
- local spawnTeleport = script.Parent.spawn
- local Seats = script.Parent.Parent.Model.Seats:GetChildren()
- local Debounce = false
- local MiniumPlayers = 1
- local MaxPlayers = 12
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local teleportGui = ReplicatedStorage.TeleportGui
- TS:SetTeleportGui(teleportGui)
- local function updateGui()
- gui.Frame.players.Text = #list
- billboard.Frame.players.Text = #list.. "/12"
- end
- local function removeFromList(character)
- for i=1,#list do
- if list[i] == character.Name then
- table.remove(list,i)
- updateGui()
- end
- end
- end
- local function teleportPlayers()
- if #list >= MiniumPlayers then
- script.Parent.GuiPart.SurfaceGui.Frame.Status.Text = "TELEPORTING"
- script.Parent.GuiPart.SurfaceGui.Frame.Status.TextColor3 = Color3.new(1,0,0)
- local playersToTeleport = {}
- local teleportTime = 0
- for i=1,#list do
- if game.Players:findFirstChild(list[i]) then
- table.insert(playersToTeleport,game.Players:findFirstChild(list[i]))
- TransitionEvent:FireClient(game.Players:findFirstChild(list[i]))
- else
- table.remove(list,i)
- end
- end
- local code = TS:ReserveServer(placeId)
- teleporting = true
- TS:TeleportToPrivateServer(placeId,code,playersToTeleport)
- repeat wait() until #list <= 0
- script.Parent.GuiPart.SurfaceGui.Frame.Status.Text = "READY"
- script.Parent.GuiPart.SurfaceGui.Frame.Status.TextColor3 = Color3.new(34/255,255/255,20/255)
- teleporting = false
- elseif #list < MiniumPlayers then
- end
- end
- script.Parent.BusEnter.Touched:Connect(function(hit)
- if hit.Parent:findFirstChild("Humanoid") then
- if teleporting == false then
- local char = hit.Parent
- local player = game.Players:FindFirstChild(char.Name)
- local alreadyExists = false
- for i=1,#list do
- if list[i] == char.Name then
- alreadyExists = true
- end
- end
- if alreadyExists == false then
- if #list < MaxPlayers then
- table.insert(list,char.Name)
- char.PrimaryPart.CFrame = spawnTeleport.CFrame
- if Debounce then return end
- local player = game.Players:GetPlayerFromCharacter(hit.Parent)
- for i, v in pairs(Seats) do
- if Seats.Occupant == nil then
- local Check = Instance.new("Weld")
- Check.Name = "Check"
- Check.Parent = player.Character
- Check.Parent.Humanoid.JumpHeight = 0
- Check.Parent.Humanoid.WalkSpeed = 0
- end
- end
- Seats[math.random(1, #Seats)]:Sit(player.Character.Humanoid)
- local button = game.ServerStorage.ExitGui:Clone()
- button.Parent = player.PlayerGui
- button.ExitButton:TweenPosition(UDim2.new(0.5, 0,0.9, 0),.1)
- updateGui()
- leaveGuiEvent:FireClient(player)
- end
- player.CharacterRemoving:connect(function(character)
- removeFromList(character)
- end)
- end
- end
- end
- end)
- leaveGuiEvent.OnServerEvent:Connect(function(player)
- player:LoadCharacter()
- end)
- while wait() do
- if #list >= MiniumPlayers then
- timer = 30
- for i=1,timer do
- timer = timer - 1
- gui.Frame.time.Text = timer
- billboard.Frame.time.Text = timer
- wait(1)
- end
- teleportPlayers()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement