Stage skipper
Key Required

Stage skipper

Driving Test 🚗PhilopakpPhilopakp 74 views 150 executesUpdated Aug 12, 2026
Unrated
00
Lua Script•140 lines (5275 chars)
local Players = game:GetService("Players")
local Player = Players.LocalPlayer

-- Load Rayfield
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

-- Create the window
local Window = Rayfield:CreateWindow({
   Name = "Driving test stage skipper",
   LoadingTitle = "made by philopakp",
   LoadingSubtitle = "I don't know what to put here so I put this",
   Theme = "Default",
   ConfigurationSaving = {
      Enabled = false
   },
   Discord = {
      Enabled = false
   },
   KeySystem = false
})

-- main tab 
local MainTab = Window:CreateTab("Main", 4483362458)
MainTab:CreateSection("Teleport")

-- cooldown lock
local isTeleporting = false

-- teleport function that handles the sequence so it doesn't bug
local function teleportToStage(stageNum)
    local stagesFolder = workspace:FindFirstChild("Map") and workspace.Map:FindFirstChild("Stages")
    if not stagesFolder then return end
   
    local stageModel = stagesFolder:FindFirstChild(tostring(stageNum))
    if stageModel then
        local componentsOpen = stageModel:FindFirstChild("Components") and stageModel.Components:FindFirstChild("Open")
        local checkpointHitbox = stageModel:FindFirstChild("Checkpoint") and stageModel.Checkpoint:FindFirstChild("Hitbox")
       
        local currentCharacter = Player.Character
        local humanoid = currentCharacter and currentCharacter:FindFirstChildOfClass("Humanoid")
       
        if currentCharacter and humanoid then
            local targetInstance = currentCharacter
            local physicsPart = currentCharacter:FindFirstChild("HumanoidRootPart")
           
            -- Detect Car driving state
            local seat = humanoid.SeatPart
            if seat and seat:IsA("VehicleSeat") then
                physicsPart = seat
                targetInstance = seat:FindFirstAncestorOfClass("Model") or seat.Parent
            end
           
            if physicsPart then
                -- stop speed so it can try to not bug
                physicsPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
                physicsPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
               
                --  anchor car 
                physicsPart.Anchored = true
               
                -- antiglitch 
                if checkpointHitbox and checkpointHitbox:IsA("BasePart") then
                    local forwardOffset = checkpointHitbox.CFrame.LookVector * 12
                    targetInstance:PivotTo(checkpointHitbox.CFrame + forwardOffset + Vector3.new(0, 3, 0))
                end
               
                task.wait(0.1)
               
                -- bypass sensor 
                if checkpointHitbox and checkpointHitbox:IsA("BasePart") then
                    firetouchinterest(physicsPart, checkpointHitbox, 0)
                    task.wait()
                    firetouchinterest(physicsPart, checkpointHitbox, 1)
                end
               
                if componentsOpen and componentsOpen:IsA("BasePart") then
                    firetouchinterest(physicsPart, componentsOpen, 0)
                    task.wait()
                    firetouchinterest(physicsPart, componentsOpen, 1)
                end
               
                -- 5. ANTI teleport back
                task.wait(0.3)
                physicsPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
                physicsPart.Anchored = false
            end
        end
    end
end

-- next stage stuff
MainTab:CreateButton({
   Name = "skip stage",
   Callback = function()
      if isTeleporting then return end
      
      local leaderstats = Player:FindFirstChild("leaderstats")
      local stageValue = leaderstats and (leaderstats:FindFirstChild("Stage") or leaderstats:FindFirstChild("CurrentStage"))
      
      if stageValue then
         isTeleporting = true
         
         local currentStageNum = stageValue.Value
         local nextStageNum = currentStageNum + 1
         
         teleportToStage(nextStageNum)
         
         Rayfield:Notify({
            Title = "Teleporting",
            Content = "Going to Stage " .. nextStageNum,
            Duration = 1
         })
         
         task.wait(0.6)
         isTeleporting = false
      else
         Rayfield:Notify({
            Title = "Error",
            Content = "Could not find Stage value in leaderstats!",
            Duration = 4
         })
         warn("Could not find a 'Stage' value inside Player.leaderstats!")
      end
   end,
})

-- ==================== FAQ TAB ====================
local FAQTab = Window:CreateTab("FAQ", 4483362458)

FAQTab:CreateSection("Is this script buggy?")
FAQTab:CreateParagraph({
   Title = "Yes, it can be buggy",
   Content = "This script is known to be buggy sometimes (teleport failing, getting stuck, rubberbanding, etc).\n\nIf it bugs out just click the Reset button that is already in the game (it's at the bottom of the screen)."
})

FAQTab:CreateSection("Updates")
FAQTab:CreateParagraph({
   Title = "No regular updates",
   Content = "I will not give updates unless the script completely breaks (stops working entirely).\n\nDo not ask for new features, improvements, or small fixes. Only report if the whole script is broken report in scriptblox btw ."
})

Features & Information

It just skips stages in driving test

Community Comments (0)

No comments yet for this script.