
KeylessUniversal

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
-- ============================================================
-- 🚀 AUTO PARKOUR COM TELEPORTE PARA O FINAL
-- Minimiza o painel e teleporta direto para o final da fase
-- ============================================================
print("🚀 INICIANDO AUTO TELEPORT PARKOUR...")
-- ============================================================
-- 1. CONFIGURAÇÃO INICIAL
-- ============================================================
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local isTeleporting = false
local isMinimized = false
-- ============================================================
-- 2. CRIAR PAINEL PRINCIPAL
-- ============================================================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "TeleportParkourGUI"
screenGui.ResetOnSpawn = false
screenGui.DisplayOrder = 9999
screenGui.Parent = game:GetService("CoreGui") -- Tente esta PRIMEIRO
print("✅ GUI criado")
-- Frame principal
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainPanel"
mainFrame.Size = UDim2.new(0, 380, 0, 220) -- Painel menor
mainFrame.Position = UDim2.new(0, 20, 0, 100)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 40)
mainFrame.BorderSizePixel = 3
mainFrame.BorderColor3 = Color3.fromRGB(0, 150, 255)
mainFrame.Parent = screenGui
-- ============================================================
-- 3. BOTÃO PRINCIPAL DE TELEPORTE
-- ============================================================
local title = Instance.new("TextLabel")
title.Text = "⚡ TELEPORTE RÁPIDO ⚡"
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundColor3 = Color3.fromRGB(0, 100, 200)
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.GothamBlack
title.TextSize = 18
title.Parent = mainFrame
-- BOTÃO PRINCIPAL (TELEPORTE)
local teleportButton = Instance.new("TextButton")
teleportButton.Name = "TeleportButton"
teleportButton.Text = "🚀 TELEPORTAR PARA O FINAL"
teleportButton.Size = UDim2.new(1, -40, 0, 60)
teleportButton.Position = UDim2.new(0, 20, 0, 50)
teleportButton.BackgroundColor3 = Color3.fromRGB(0, 180, 80) -- Verde
teleportButton.TextColor3 = Color3.new(1, 1, 1)
teleportButton.Font = Enum.Font.GothamBold
teleportButton.TextSize = 18
teleportButton.Parent = mainFrame
print("✅ Botão de teleporte criado")
-- Botão Minimizar
local minimizeButton = Instance.new("TextButton")
minimizeButton.Text = "📦 MINIMIZAR"
minimizeButton.Size = UDim2.new(0, 150, 0, 35)
minimizeButton.Position = UDim2.new(0, 20, 0, 120)
minimizeButton.BackgroundColor3 = Color3.fromRGB(80, 80, 180)
minimizeButton.TextColor3 = Color3.new(1, 1, 1)
minimizeButton.Font = Enum.Font.Gotham
minimizeButton.TextSize = 14
minimizeButton.Parent = mainFrame
-- Status
local statusLabel = Instance.new("TextLabel")
statusLabel.Text = "✅ Pronto para teleportar"
statusLabel.Size = UDim2.new(1, -20, 0, 25)
statusLabel.Position = UDim2.new(0, 10, 0, 165)
statusLabel.BackgroundTransparency = 1
statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.Parent = mainFrame
-- ============================================================
-- 4. FUNÇÃO PARA ENCONTRAR O FINAL DA FASE
-- ============================================================
local function findEndOfMap()
print("🔍 Procurando final da fase...")
-- Diferentes métodos para encontrar o final
local endPositions = {}
-- Método 1: Procurar por partes com nomes comuns
local commonEndNames = {
"End", "Finish", "Final", "Win", "Victory",
"Goal", "Checkpoint", "Flag", "Platform",
"Top", "Summit", "Peak", "Winner"
}
for _, name in ipairs(commonEndNames) do
for _, obj in pairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") and string.find(obj.Name:lower(), name:lower()) then
table.insert(endPositions, obj.Position)
print("✅ Encontrado: " .. obj.Name .. " em " .. tostring(obj.Position))
end
end
end
-- Método 2: Procurar pela parte mais alta do mapa
local highestPart = nil
local highestY = -math.huge
for _, obj in pairs(Workspace:GetChildren()) do
if obj:IsA("Model") or obj:IsA("BasePart") then
local position = obj:GetPivot().Position
if position.Y > highestY then
highestY = position.Y
highestPart = position
end
end
end
if highestPart then
table.insert(endPositions, highestPart)
print("✅ Ponto mais alto: Y = " .. highestY)
end
-- Método 3: Procurar por plataformas especiais
for _, obj in pairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") then
-- Plataformas grandes (provavelmente finais)
if obj.Size.X > 20 and obj.Size.Z > 20 then
table.insert(endPositions, obj.Position)
end
-- Partes coloridas (vermelho, verde, dourado)
if obj.BrickColor == BrickColor.new("Bright red") or
obj.BrickColor == BrickColor.new("Bright green") or
obj.BrickColor == BrickColor.new("Bright yellow") then
table.insert(endPositions, obj.Position)
end
end
end
-- Escolher a melhor posição
if #endPositions > 0 then
-- Priorizar posições altas
table.sort(endPositions, function(a, b)
return a.Y > b.Y
end)
local bestPosition = endPositions[1] + Vector3.new(0, 5, 0) -- 5 unidades acima
print("🎯 Melhor posição encontrada: " .. tostring(bestPosition))
return bestPosition
end
-- Método 4: Se não encontrou, usar posição fixa alta
print("⚠️ Nenhum final encontrado, usando posição padrão")
return Vector3.new(0, 500, 0) -- Posição alta padrão
end
-- ============================================================
-- 5. FUNÇÃO DE TELEPORTE PARA O FINAL
-- ============================================================
local function teleportToEnd()
if isTeleporting then return end
isTeleporting = true
print("🚀 Iniciando teleporte para o final...")
teleportButton.Text = "⏳ TELEPORTANDO..."
teleportButton.BackgroundColor3 = Color3.fromRGB(255, 150, 0)
statusLabel.Text = "🔍 Localizando final da fase..."
-- Obter personagem
local character = player.Character
if not character then
character = player.CharacterAdded:Wait()
end
-- Garantir que o personagem existe
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
-- Encontrar posição final
local endPosition = findEndOfMap()
-- Animar antes do teleporte
statusLabel.Text = "🎯 Posição encontrada! Teleportando..."
-- Efeito visual (opcional)
local originalColor = teleportButton.BackgroundColor3
for i = 1, 3 do
teleportButton.BackgroundColor3 = Color3.fromRGB(255, 255, 0)
task.wait(0.1)
teleportButton.BackgroundColor3 = Color3.fromRGB(255, 150, 0)
task.wait(0.1)
end
-- Realizar teleporte
if humanoidRootPart then
-- Teleportar para o final
humanoidRootPart.CFrame = CFrame.new(endPosition)
print("✅ Teleportado para: " .. tostring(endPosition))
-- Garantir que não caia
task.wait(0.1)
humanoid.PlatformStand = false
statusLabel.Text = "✅ Teleportado com sucesso!"
end
-- Restaurar botão
task.wait(1)
teleportButton.Text = "🚀 TELEPORTAR PARA O FINAL"
teleportButton.BackgroundColor3 = Color3.fromRGB(0, 180, 80)
isTeleporting = false
print("✅ Teleporte concluído!")
end
-- ============================================================
-- 6. FUNCIONALIDADE DE MINIMIZAR
-- ============================================================
local function toggleMinimize()
isMinimized = not isMinimized
if isMinimized then
-- Minimizar: mostrar apenas o título
local tween = TweenService:Create(mainFrame, TweenInfo.new(0.3), {
Size = UDim2.new(0, 380, 0, 40)
})
tween:Play()
minimizeButton.Text = "📂 MAXIMIZAR"
title.Text = "⚡ TELEPORT [MIN] ⚡"
-- Esconder conteúdo
teleportButton.Visible = false
minimizeButton.Position = UDim2.new(0, 120, 0, 0)
minimizeButton.Size = UDim2.new(0, 140, 0, 40)
statusLabel.Visible = false
print("📦 Painel minimizado")
else
-- Maximizar: mostrar tudo
local tween = TweenService:Create(mainFrame, TweenInfo.new(0.3), {
Size = UDim2.new(0, 380, 0, 220)
})
tween:Play()
minimizeButton.Text = "📦 MINIMIZAR"
title.Text = "⚡ TELEPORTE RÁPIDO ⚡"
-- Mostrar conteúdo
teleportButton.Visible = true
minimizeButton.Position = UDim2.new(0, 20, 0, 120)
minimizeButton.Size = UDim2.new(0, 150, 0, 35)
statusLabel.Visible = true
print("📂 Painel maximizado")
end
end
-- ============================================================
-- 7. CONEXÕES DE EVENTOS
-- ============================================================
-- Botão de teleporte
teleportButton.MouseButton1Click:Connect(teleportToEnd)
-- Botão minimizar
minimizeButton.MouseButton1Click:Connect(toggleMinimize)
-- Tecla T para teleporte rápido (atalho)
UserInputService.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.T then
teleportToEnd()
end
end)
-- ============================================================
-- 8. SISTEMA DE DETECÇÃO DE JOGOS (OPCIONAL)
-- ============================================================
local supportedGames = {
"Torre de Scrap 4",
"Tower of Hell",
"Tower Slap 4",
"Obby King",
"Speed Run 4",
"Parkour Paradise",
"The Maze",
"Jump Challenge",
"Climbing Tower",
"Obstacle Course",
"Sky High Obby",
"Ultimate Challenge",
"Epic Minigames",
"Adventure Forward",
"Race Clicker"
}
print("🎮 Modo Teleporte ativado para 15 jogos")
-- ============================================================
-- 9. VERIFICAÇÃO FINAL
-- ============================================================
-- Animar o botão
task.spawn(function()
for i = 1, 3 do
teleportButton.BackgroundColor3 = Color3.fromRGB(0, 220, 100)
task.wait(0.5)
teleportButton.BackgroundColor3 = Color3.fromRGB(0, 180, 80)
task.wait(0.5)
end
end)
-- Verificar se está visível
task.wait(1)
print("==================================================")
print("✅ AUTO TELEPORT PARKOUR INICIADO!")
print("==================================================")
print("📍 LOCALIZAÇÃO: Canto superior esquerdo")
print("🎯 BOTÃO PRINCIPAL: 'TELEPORTAR PARA O FINAL'")
print("📦 CONTROLE: Botão MINIMIZAR para esconder")
print("⚡ ATALHO: Tecla T para teleporte rápido")
print("==================================================")
print("🎮 JOGOS SUPORTADOS: 15 jogos de parkour/obby")
print("==================================================")
-- Verificar posição
if mainFrame.AbsolutePosition.X > 0 then
print("✅ Painel visível na posição correta")
else
print("⚠️ Ajustando posição do painel...")
mainFrame.Position = UDim2.new(0, 50, 0, 50)
end
-- ============================================================
-- 10. FUNÇÃO AVANÇADA DE TELEPORTE (COM FALLBACK)
-- ============================================================
local function advancedTeleport()
print("🔧 Usando teleporte avançado...")
local character = player.Character
if not character then return end
local root = character:FindFirstChild("HumanoidRootPart")
if not root then return end
-- Tentar vários métodos de teleporte
local teleportMethods = {
function()
-- Método 1: Procurar por botão de vitória
for _, obj in pairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") and (obj.Name:lower():find("win") or obj.Name:lower():find("end")) then
root.CFrame = obj.CFrame + Vector3.new(0, 5, 0)
return true
end
end
return false
end,
function()
-- Método 2: Procurar por plataforma final
local candidates = {}
for _, obj in pairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") and obj.Size.Y < 5 and obj.Size.X > 10 and obj.Size.Z > 10 then
table.insert(candidates, obj)
end
end
-- Escolher a mais alta
table.sort(candidates, function(a, b)
return a.Position.Y > b.Position.Y
end)
if #candidates > 0 then
root.CFrame = candidates[1].CFrame + Vector3.new(0, 5, 0)
return true
end
return false
end,
function()
-- Método 3: Teleporte para cima
local rayOrigin = root.Position
local rayDirection = Vector3.new(0, 1000, 0) -- Para cima
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {character}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist
local result = Workspace:Raycast(rayOrigin, rayDirection, raycastParams)
if result then
root.CFrame = CFrame.new(result.Position + Vector3.new(0, 5, 0))
return true
end
return false
end
}
-- Tentar cada método
for i, method in ipairs(teleportMethods) do
print(" Tentando método " .. i .. "...")
if method() then
print(" ✅ Sucesso com método " .. i)
return true
end
end
-- Método final: teleporte para posição alta fixa
print(" Usando teleporte fixo...")
root.CFrame = CFrame.new(0, 500, 0)
return true
end
-- Conectar função avançada ao botão
teleportButton.MouseButton1Click:Connect(function()
if not isTeleporting then
isTeleporting = true
teleportButton.Text = "⏳ LOCALIZANDO..."
teleportButton.BackgroundColor3 = Color3.fromRGB(255, 150, 0)
task.spawn(function()
advancedTeleport()
task.wait(0.5)
teleportButton.Text = "🚀 TELEPORTAR PARA O FINAL"
teleportButton.BackgroundColor3 = Color3.fromRGB(0, 180, 80)
statusLabel.Text = "✅ Teleporte concluído!"
isTeleporting = false
end)
end
end)
-- ============================================================
-- 11. ARRASTAR O PAINEL
-- ============================================================
local dragging = false
local dragStart = nil
local startPos = nil
title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
title.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
print("✅ Sistema de arrastar ativado")
-- ============================================================
-- 12. MENSAGEM FINAL
-- ============================================================
print("\n" .. string.rep("=", 50))
print("🚀 SISTEMA PRONTO PARA USO!")
print(string.rep("=", 50))
print("INSTRUÇÕES:")
print("1. Clique em 'TELEPORTAR PARA O FINAL' para vencer")
print("2. Clique em 'MINIMIZAR' para esconder o painel")
print("3. Pressione T para teleporte rápido")
print("4. Arraste pelo título para mover o painel")
print(string.rep("=", 50) .. "\n")
return {
Teleport = teleportToEnd,
Minimize = toggleMinimize,
GUI = screenGui
}No comments yet for this script.



