CCCPaste

Truck Teleport (STORY GAME)

local Car = game.Workspace.Car1 -- Car1 is the name of your car in workspace.
local Seats = Car.Seats:GetChildren() -- You should have a model called "Seats" in the Car model.
local Gui = script.Parent:FindFirstChild("ExitGui") -- In your CarTP (The part this script is in), you should have a ScreenGui called "ExitGui".
local Gui2 = script.Parent:FindFirstChild("LoadingScreen") -- In your CarTP (The part this script is in), you should have a ScreenGui called "LoadingScreen".
local TeleportService = game:GetService("TeleportService")
local GameId = 0 -- Change to your placeID.
local PlayersInCar = {}
local debounce = false
 
-- You shouldn't have to touch anything below unless you're having bugs.
script.Parent.Touched:Connect(function(hit)
    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.JumpPower = 0
            Check.Parent.Humanoid.WalkSpeed = 0
        end
    end
    Gui:Clone().Parent = player.PlayerGui
    Seats[math.random(1, #Seats)]:Sit(player.Character.Humanoid)
    wait(10)
    if player.Character:FindFirstChild("Check") then
        debounce = true
        local Game = TeleportService:ReserveServer(GameId)
        table.insert(PlayersInCar, player)
        if player.PlayerGui:FindFirstChild("ExitGui") then
            player.PlayerGui.ExitGui:Destroy()
        end
        for i = 1, 100 do -- Moves car forward 100 studs.
            Car:TranslateBy(Vector3.new(0, 0, -1))
            wait()
        end
        Gui2:Clone().Parent = player:FindFirstChild("PlayerGui")
        TeleportService:TeleportToPrivateServer(GameId, Game, PlayersInCar)
        wait(10)
        for i = 1, 100 do -- Moves car back.
            Car:TranslateBy(Vector3.new(0, 0, 1))
            wait()
        end
        wait(3)
        debounce = false
    end
end)