local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") local config = { scanOnStart = true, -- Auto scan on start teleportDelay = 0, -- 0 delay between teleports teleportHeight = 2, -- Minimum height showNotifications = true, -- Quick notifications sortByDistance = true, -- Sort by proximity loopTeleport = false -- No looping } -- State local keycaps = {} local isTeleporting = false local scanCompleted = false local function ultraFastScan() keycaps = {} scanCompleted = false -- Look for keycaps folder local keycapsFolder = workspace:FindFirstChild("keycaps") if not keycapsFolder then warn("āŒ 'keycaps' folder not found!") return {} end -- Ultra fast recursive scan local function quickScan(folder) for _, item in pairs(folder:GetChildren()) do if item:IsA("BasePart") then table.insert(keycaps, item) elseif item:IsA("Folder") or item:IsA("Model") then quickScan(item) end end end quickScan(keycapsFolder) -- Sort by proximity for shortest path if config.sortByDistance and #keycaps > 1 then local sorted = {} local currentPos = humanoidRootPart.Position local remaining = {unpack(keycaps)} while #remaining > 0 do local nearestIndex = 1 local nearestDist = (currentPos - remaining[1].Position).Magnitude for i = 2, #remaining do local dist = (currentPos - remaining[i].Position).Magnitude if dist < nearestDist then nearestDist = dist nearestIndex = i end end table.insert(sorted, remaining[nearestIndex]) currentPos = remaining[nearestIndex].Position table.remove(remaining, nearestIndex) end keycaps = sorted end scanCompleted = true return keycaps end local function instantTeleport() if isTeleporting then return end -- Scan if not done yet if #keycaps == 0 then ultraFastScan() if #keycaps == 0 then return end end isTeleporting = true -- Teleport to ALL keycaps almost instantly for i, keycap in ipairs(keycaps) do if not isTeleporting then break end -- DIRECT teleport without delays if keycap and keycap:IsA("BasePart") and keycap:IsDescendantOf(workspace) then -- Quick position calculation local teleportPos = keycap.Position + Vector3.new(0, keycap.Size.Y/2 + config.teleportHeight, 0) -- INSTANT teleport humanoidRootPart.CFrame = CFrame.new(teleportPos) -- Update UI if exists if teleportUI then teleportUI.Status.Text = "TP: " .. i .. "/" .. #keycaps end -- ZERO delay (or almost) if i < #keycaps then task.wait(config.teleportDelay) end end end isTeleporting = false -- Quick notification if config.showNotifications then game:GetService("StarterGui"):SetCore("SendNotification", { Title = "āœ… Complete", Text = "Instant teleport finished!", Duration = 1, Icon = "rbxassetid://4483345998" }) end end -- ================================================ -- SIMPLE UI - ONE BUTTON ONLY -- ================================================ local teleportUI = nil local function createOneButtonUI() local screenGui = Instance.new("ScreenGui") screenGui.Name = "UltraFastTeleporter" screenGui.Parent = player:WaitForChild("PlayerGui") -- Main container local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 120, 0, 50) mainFrame.Position = UDim2.new(0, 10, 0, 10) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) mainFrame.BackgroundTransparency = 0.1 -- One big button local teleportButton = Instance.new("TextButton") teleportButton.Size = UDim2.new(0.9, 0, 0.8, 0) teleportButton.Position = UDim2.new(0.05, 0, 0.1, 0) teleportButton.Text = "⚔ TP ALL" teleportButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) teleportButton.TextColor3 = Color3.fromRGB(255, 255, 255) teleportButton.Font = Enum.Font.GothamBold teleportButton.TextSize = 16 -- Mini status local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, 0, 0, 15) statusLabel.Position = UDim2.new(0, 0, 0, -20) statusLabel.Text = "Ready" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 255) statusLabel.BackgroundTransparency = 1 statusLabel.TextSize = 12 statusLabel.Name = "Status" -- Add to screen mainFrame.Parent = screenGui teleportButton.Parent = mainFrame statusLabel.Parent = screenGui -- Button event teleportButton.MouseButton1Click:Connect(function() if not isTeleporting then statusLabel.Text = "Teleporting..." instantTeleport() statusLabel.Text = "Ready (" .. #keycaps .. " keycaps)" end end) -- Button hover effect teleportButton.MouseEnter:Connect(function() teleportButton.BackgroundColor3 = Color3.fromRGB(0, 230, 0) end) teleportButton.MouseLeave:Connect(function() teleportButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) end) teleportUI = { Button = teleportButton, Status = statusLabel, Frame = mainFrame } return screenGui end -- ================================================ -- KEYBOARD CONTROL - T KEY ONLY -- ================================================ local UserInputService = game:GetService("UserInputService") UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end -- ONLY T key for everything if input.KeyCode == Enum.KeyCode.T then if not isTeleporting then if teleportUI then teleportUI.Status.Text = "Teleporting..." end instantTeleport() if teleportUI then teleportUI.Status.Text = "Ready (" .. #keycaps .. " keycaps)" end end end end) -- ================================================ -- FAST SCAN -- ================================================ -- Auto scan on start task.spawn(function() task.wait(1) -- Small delay to ensure everything loaded print("šŸ” Auto scan started...") local found = ultraFastScan() if #found > 0 then print("āœ… " .. #found .. " keycaps found automatically!") if teleportUI then teleportUI.Status.Text = "Ready (" .. #found .. " keycaps)" end if config.showNotifications then game:GetService("StarterGui"):SetCore("SendNotification", { Title = "āœ… Scan Complete", Text = #found .. " keycaps ready for TP!", Duration = 2, Icon = "rbxassetid://4483345998" }) end else print("āš ļø No keycaps found in auto scan") if teleportUI then teleportUI.Status.Text = "No keycaps found" end end end) -- Create UI createOneButtonUI() print("======================================") print("⚔ ULTRA FAST KEYCAP TELEPORTER ⚔") print("Loaded successfully!") print("") print("šŸ“Œ HOW TO USE:") print("1. Click the '⚔ TP ALL' button") print("2. OR press T key") print("======================================") -- Debug function local function debugInfo() print("\nšŸ“Š DEBUG INFO:") print("Keycaps found: " .. #keycaps) print("Scan completed: " .. tostring(scanCompleted)) print("Teleporting: " .. tostring(isTeleporting)) if #keycaps > 0 then print("\nFirst 5 keycaps:") for i = 1, math.min(5, #keycaps) do local k = keycaps[i] print(i .. ". " .. k.Name .. " | Pos: " .. math.floor(k.Position.X) .. "," .. math.floor(k.Position.Y) .. "," .. math.floor(k.Position.Z)) end end end -- Debug shortcut (optional) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.P then debugInfo() end end)