local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "WinTeleportGUI" ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 200, 0, 150) Frame.Position = UDim2.new(0.5, -100, 0.5, -75) Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Frame.BorderSizePixel = 0 Frame.Draggable = true Frame.Parent = ScreenGui local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.Position = UDim2.new(0, 0, 0, 0) Title.BackgroundColor3 = Color3.fromRGB(60, 60, 60) Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 18 Title.Text = "Win Teleport" Title.Parent = Frame local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 25, 0, 25) CloseButton.Position = UDim2.new(1, -25, 0, 0) CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.Font = Enum.Font.SourceSansBold CloseButton.TextSize = 18 CloseButton.Text = "X" CloseButton.Parent = Title CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) local TeleportButton = Instance.new("TextButton") TeleportButton.Size = UDim2.new(0.8, 0, 0, 40) TeleportButton.Position = UDim2.new(0.1, 0, 0.4, 0) TeleportButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50) TeleportButton.TextColor3 = Color3.fromRGB(255, 255, 255) TeleportButton.Font = Enum.Font.SourceSansBold TeleportButton.TextSize = 16 TeleportButton.Text = "Teleport to Win" TeleportButton.Parent = Frame local function findWinPart() local potentialWinParts = {} for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("BasePart") then local lowerName = descendant.Name:lower() if lowerName:match("win") or lowerName:match("finish") or lowerName:match("end") or lowerName:match("laststage") then table.insert(potentialWinParts, descendant) end end end if #potentialWinParts > 0 then -- Prioritize parts named "Win" or "Finish" directly for _, part in ipairs(potentialWinParts) do if part.Name:lower() == "win" or part.Name:lower() == "finish" then return part end end -- Otherwise, return the first found return potentialWinParts[1] end -- Fallback: Look for the last checkpoint if "StageCompleted" remote exists local stageCompletedRemote = ReplicatedStorage.RemoteEvents:FindFirstChild("StageCompleted") if stageCompletedRemote then -- This is a heuristic. In a real exploit, you'd analyze how StageCompleted is used. -- For a simple "win teleport", we're aiming for a physical part. -- If stages are numbered, we could try to find the highest numbered stage. local highestStage = 0 local lastStagePart = nil for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("BasePart") then local name = descendant.Name local stageNumber = tonumber(name:match("Stage(%d+)")) if stageNumber and stageNumber > highestStage then highestStage = stageNumber lastStagePart = descendant end end end if lastStagePart then return lastStagePart end end -- Final fallback: if no specific win part or last stage found, try to find a general "end" area or a high point local largestPart = nil local largestArea = 0 for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("BasePart") and descendant.CanCollide and descendant.Anchored then local size = descendant.Size local area = size.X * size.Y * size.Z if area > largestArea and descendant.Position.Y > 0 then -- Consider parts above ground largestArea = area largestPart = descendant end end end if largestPart then return largestPart end return nil end TeleportButton.MouseButton1Click:Connect(function() local character = LocalPlayer.Character if not character then return end local humanoidRootPart = character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end local winPart = findWinPart() if winPart then humanoidRootPart.CFrame = winPart.CFrame * CFrame.new(0, winPart.Size.Y / 2 + 3, 0) else warn("Could not find a suitable win part.") end end)