Version / Update: v1.0.0
- Download / Script Link
- local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character and character:FindFirstChild("HumanoidRootPart")
-- Criando o ScreenGui (NÃO será destruído ao morrer)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CoordenadasMenu"
screenGui.ResetOnSpawn = false -- ⚠️ ESSA É A MECÂNICA PRINCIPAL! Impede o menu de sumir ao morrer
screenGui.Parent = player:WaitForChild("PlayerGui")
-- Frame principal do menu (MAIOR para acomodar os novos elementos)
local menuFrame = Instance.new("Frame")
menuFrame.Size = UDim2.new(0, 320, 0, 380)
menuFrame.Position = UDim2.new(0.5, -160, 0.5, -190)
menuFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
menuFrame.BackgroundTransparency = 0.05
menuFrame.BorderSizePixel = 0
menuFrame.Active = true
menuFrame.Draggable = true
menuFrame.Parent = screenGui
-- Arredondar cantos (MAIS REDONDO)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 20)
corner.Parent = menuFrame
-- Título do menu (MENOR)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 28)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
title.Text = "📍 COORDENADAS"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 12
title.Parent = menuFrame
local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 20)
titleCorner.Parent = title
-- Frame para as coordenadas atuais
local currentCoordsFrame = Instance.new("Frame")
currentCoordsFrame.Size = UDim2.new(1, -20, 0, 70)
currentCoordsFrame.Position = UDim2.new(0, 10, 0, 38)
currentCoordsFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
currentCoordsFrame.BackgroundTransparency = 0.3
currentCoordsFrame.Parent = menuFrame
local currentCorner = Instance.new("UICorner")
currentCorner.CornerRadius = UDim.new(0, 12)
currentCorner.Parent = currentCoordsFrame
-- Label "Posição Atual"
local currentTitle = Instance.new("TextLabel")
currentTitle.Size = UDim2.new(1, 0, 0, 20)
currentTitle.Position = UDim2.new(0, 5, 0, 0)
currentTitle.BackgroundTransparency = 1
currentTitle.Text = "🎯 POSIÇÃO ATUAL"
currentTitle.TextColor3 = Color3.fromRGB(200, 200, 200)
currentTitle.Font = Enum.Font.Gotham
currentTitle.TextSize = 10
currentTitle.TextXAlignment = Enum.TextXAlignment.Left
currentTitle.Parent = currentCoordsFrame
-- Label X
local xLabel = Instance.new("TextLabel")
xLabel.Size = UDim2.new(0.33, -5, 0, 25)
xLabel.Position = UDim2.new(0, 5, 0, 20)
xLabel.BackgroundTransparency = 1
xLabel.Text = "X: 0.0"
xLabel.TextColor3 = Color3.fromRGB(100, 200, 255)
xLabel.Font = Enum.Font.GothamBold
xLabel.TextSize = 14
xLabel.TextXAlignment = Enum.TextXAlignment.Left
xLabel.Parent = currentCoordsFrame
-- Label Y
local yLabel = Instance.new("TextLabel")
yLabel.Size = UDim2.new(0.33, -5, 0, 25)
yLabel.Position = UDim2.new(0.33, 0, 0, 20)
yLabel.BackgroundTransparency = 1
yLabel.Text = "Y: 0.0"
yLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
yLabel.Font = Enum.Font.GothamBold
yLabel.TextSize = 14
yLabel.TextXAlignment = Enum.TextXAlignment.Left
yLabel.Parent = currentCoordsFrame
-- Label Z
local zLabel = Instance.new("TextLabel")
zLabel.Size = UDim2.new(0.33, -5, 0, 25)
zLabel.Position = UDim2.new(0.66, 5, 0, 20)
zLabel.BackgroundTransparency = 1
zLabel.Text = "Z: 0.0"
zLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
zLabel.Font = Enum.Font.GothamBold
zLabel.TextSize = 14
zLabel.TextXAlignment = Enum.TextXAlignment.Left
zLabel.Parent = currentCoordsFrame
-- Linha separadora
local separator = Instance.new("Frame")
separator.Size = UDim2.new(1, -20, 0, 1)
separator.Position = UDim2.new(0, 10, 0, 115)
separator.BackgroundColor3 = Color3.fromRGB(80, 80, 100)
separator.Parent = menuFrame
-- Título da seção de TP
local tpTitle = Instance.new("TextLabel")
tpTitle.Size = UDim2.new(1, -20, 0, 20)
tpTitle.Position = UDim2.new(0, 10, 0, 125)
tpTitle.BackgroundTransparency = 1
tpTitle.Text = "✨ TELEPORTE PERSONALIZADO"
tpTitle.TextColor3 = Color3.fromRGB(200, 200, 200)
tpTitle.Font = Enum.Font.Gotham
tpTitle.TextSize = 10
tpTitle.TextXAlignment = Enum.TextXAlignment.Left
tpTitle.Parent = menuFrame
-- Frame para inputs de coordenadas
local inputFrame = Instance.new("Frame")
inputFrame.Size = UDim2.new(1, -20, 0, 100)
inputFrame.Position = UDim2.new(0, 10, 0, 150)
inputFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
inputFrame.BackgroundTransparency = 0.2
inputFrame.Parent = menuFrame
local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0, 12)
inputCorner.Parent = inputFrame
-- Input X
local xInputLabel = Instance.new("TextLabel")
xInputLabel.Size = UDim2.new(0.3, -5, 0, 20)
xInputLabel.Position = UDim2.new(0, 5, 0, 5)
xInputLabel.BackgroundTransparency = 1
xInputLabel.Text = "X:"
xInputLabel.TextColor3 = Color3.fromRGB(100, 200, 255)
xInputLabel.Font = Enum.Font.Gotham
xInputLabel.TextSize = 11
xInputLabel.TextXAlignment = Enum.TextXAlignment.Left
xInputLabel.Parent = inputFrame
local xInput = Instance.new("TextBox")
xInput.Size = UDim2.new(0.3, -5, 0, 25)
xInput.Position = UDim2.new(0, 5, 0, 25)
xInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
xInput.Text = "0"
xInput.TextColor3 = Color3.fromRGB(255, 255, 255)
xInput.Font = Enum.Font.Gotham
xInput.TextSize = 12
xInput.ClearTextOnFocus = false
xInput.Parent = inputFrame
local xInputCorner = Instance.new("UICorner")
xInputCorner.CornerRadius = UDim.new(0, 6)
xInputCorner.Parent = xInput
-- Input Y
local yInputLabel = Instance.new("TextLabel")
yInputLabel.Size = UDim2.new(0.3, -5, 0, 20)
yInputLabel.Position = UDim2.new(0.35, 0, 0, 5)
yInputLabel.BackgroundTransparency = 1
yInputLabel.Text = "Y:"
yInputLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
yInputLabel.Font = Enum.Font.Gotham
yInputLabel.TextSize = 11
yInputLabel.TextXAlignment = Enum.TextXAlignment.Left
yInputLabel.Parent = inputFrame
local yInput = Instance.new("TextBox")
yInput.Size = UDim2.new(0.3, -5, 0, 25)
yInput.Position = UDim2.new(0.35, 0, 0, 25)
yInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
yInput.Text = "5"
yInput.TextColor3 = Color3.fromRGB(255, 255, 255)
yInput.Font = Enum.Font.Gotham
yInput.TextSize = 12
yInput.ClearTextOnFocus = false
yInput.Parent = inputFrame
local yInputCorner = Instance.new("UICorner")
yInputCorner.CornerRadius = UDim.new(0, 6)
yInputCorner.Parent = yInput
-- Input Z
local zInputLabel = Instance.new("TextLabel")
zInputLabel.Size = UDim2.new(0.3, -5, 0, 20)
zInputLabel.Position = UDim2.new(0.7, -5, 0, 5)
zInputLabel.BackgroundTransparency = 1
zInputLabel.Text = "Z:"
zInputLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
zInputLabel.Font = Enum.Font.Gotham
zInputLabel.TextSize = 11
zInputLabel.TextXAlignment = Enum.TextXAlignment.Left
zInputLabel.Parent = inputFrame
local zInput = Instance.new("TextBox")
zInput.Size = UDim2.new(0.3, -5, 0, 25)
zInput.Position = UDim2.new(0.7, -5, 0, 25)
zInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
zInput.Text = "0"
zInput.TextColor3 = Color3.fromRGB(255, 255, 255)
zInput.Font = Enum.Font.Gotham
zInput.TextSize = 12
zInput.ClearTextOnFocus = false
zInput.Parent = inputFrame
local zInputCorner = Instance.new("UICorner")
zInputCorner.CornerRadius = UDim.new(0, 6)
zInputCorner.Parent = zInput
-- Frame para botões
local buttonFrame = Instance.new("Frame")
buttonFrame.Size = UDim2.new(1, -20, 0, 80)
buttonFrame.Position = UDim2.new(0, 10, 0, 260)
buttonFrame.BackgroundTransparency = 1
buttonFrame.Parent = menuFrame
-- Botão Teleportar (TP)
local tpButton = Instance.new("TextButton")
tpButton.Size = UDim2.new(1, 0, 0, 40)
tpButton.Position = UDim2.new(0, 0, 0, 0)
tpButton.BackgroundColor3 = Color3.fromRGB(80, 120, 200)
tpButton.Text = "🚀 TELEPORTAR (TP)"
tpButton.TextColor3 = Color3.fromRGB(255, 255, 255)
tpButton.Font = Enum.Font.GothamBold
tpButton.TextSize = 14
tpButton.Parent = buttonFrame
local tpCorner = Instance.new("UICorner")
tpCorner.CornerRadius = UDim.new(0, 10)
tpCorner.Parent = tpButton
-- Botão Copiar Posição Atual
local copyPosButton = Instance.new("TextButton")
copyPosButton.Size = UDim2.new(0.48, 0, 0, 32)
copyPosButton.Position = UDim2.new(0, 0, 0, 48)
copyPosButton.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
copyPosButton.Text = "📋 Copiar Atual"
copyPosButton.TextColor3 = Color3.fromRGB(255, 255, 255)
copyPosButton.Font = Enum.Font.Gotham
copyPosButton.TextSize = 11
copyPosButton.Parent = buttonFrame
local copyPosCorner = Instance.new("UICorner")
copyPosCorner.CornerRadius = UDim.new(0, 8)
copyPosCorner.Parent = copyPosButton
-- Botão Preencher com Atual
local fillButton = Instance.new("TextButton")
fillButton.Size = UDim2.new(0.48, 0, 0, 32)
fillButton.Position = UDim2.new(0.52, 0, 0, 48)
fillButton.BackgroundColor3 = Color3.fromRGB(80, 80, 100)
fillButton.Text = "📌 Usar Atual"
fillButton.TextColor3 = Color3.fromRGB(255, 255, 255)
fillButton.Font = Enum.Font.Gotham
fillButton.TextSize = 11
fillButton.Parent = buttonFrame
local fillCorner = Instance.new("UICorner")
fillCorner.CornerRadius = UDim.new(0, 8)
fillCorner.Parent = fillButton
-- Label de status
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -20, 0, 28)
statusLabel.Position = UDim2.new(0, 10, 0, 345)
statusLabel.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
statusLabel.BackgroundTransparency = 0.5
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 10
statusLabel.Parent = menuFrame
local statusCorner = Instance.new("UICorner")
statusCorner.CornerRadius = UDim.new(0, 8)
statusCorner.Parent = statusLabel
-- Botão fechar
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 28, 0, 28)
closeButton.Position = UDim2.new(1, -35, 0, 8)
closeButton.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
closeButton.Text = "✕"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 14
closeButton.Parent = menuFrame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeButton
-- Variável para controlar a conexão
local connection = nil
local currentCharacter = character
-- Função para atualizar coordenadas atuais
local function updateCoordinates()
if currentCharacter and currentCharacter.Parent then
local rootPart = currentCharacter:FindFirstChild("HumanoidRootPart")
if rootPart then
local pos = rootPart.Position
xLabel.Text = string.format("X: %.1f", pos.X)
yLabel.Text = string.format("Y: %.1f", pos.Y)
zLabel.Text = string.format("Z: %.1f", pos.Z)
end
else
-- Personagem não existe ou está morto, mostrar mensagem
xLabel.Text = "X: ---"
yLabel.Text = "Y: ---"
zLabel.Text = "Z: ---"
end
end
-- Função para teleportar
local function teleportToCoords(x, y, z)
if currentCharacter and currentCharacter.Parent then
local rootPart = currentCharacter:FindFirstChild("HumanoidRootPart")
if rootPart then
-- Verificar se o personagem está vivo
local humanoid = currentCharacter:FindFirstChild("Humanoid")
if humanoid and humanoid.Health > 0 then
rootPart.CFrame = CFrame.new(x, y, z)
statusLabel.Text = "✅ Teleportado para: " .. string.format("X:%.1f Y:%.1f Z:%.1f", x, y, z)
statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
-- Resetar mensagem após 2 segundos
task.wait(2)
if statusLabel then
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
else
statusLabel.Text = "❌ Personagem está morto! Aguarde renascer."
statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end
else
statusLabel.Text = "❌ Personagem não encontrado! Aguarde renascer."
statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end
-- Função para copiar para o clipboard
local function copyToClipboard(text)
setclipboard(text)
statusLabel.Text = "✅ Copiado: " .. text
statusLabel.TextColor3 = Color3.fromRGB(100, 255, 100)
task.wait(2)
if statusLabel then
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end
-- Evento do botão TP
tpButton.MouseButton1Click:Connect(function()
local x = tonumber(xInput.Text)
local y = tonumber(yInput.Text)
local z = tonumber(zInput.Text)
if x and y and z then
teleportToCoords(x, y, z)
else
statusLabel.Text = "❌ Coordenadas inválidas! Use números."
statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end)
-- Evento para copiar posição atual
copyPosButton.MouseButton1Click:Connect(function()
if currentCharacter and currentCharacter.Parent then
local rootPart = currentCharacter:FindFirstChild("HumanoidRootPart")
if rootPart then
local pos = rootPart.Position
local coordText = string.format("X:%.1f Y:%.1f Z:%.1f", pos.X, pos.Y, pos.Z)
copyToClipboard(coordText)
end
else
statusLabel.Text = "❌ Sem personagem ativo para copiar!"
statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end)
-- Evento para preencher inputs com a posição atual
fillButton.MouseButton1Click:Connect(function()
if currentCharacter and currentCharacter.Parent then
local rootPart = currentCharacter:FindFirstChild("HumanoidRootPart")
if rootPart then
local pos = rootPart.Position
xInput.Text = string.format("%.1f", pos.X)
yInput.Text = string.format("%.1f", pos.Y)
zInput.Text = string.format("%.1f", pos.Z)
statusLabel.Text = "📌 Campos preenchidos com posição atual!"
statusLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
task.wait(1.5)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
else
statusLabel.Text = "❌ Sem personagem ativo para preencher!"
statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
task.wait(2)
statusLabel.Text = "💡 Digite as coordenadas e clique em TP"
statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
end
end)
-- Fechar menu
closeButton.MouseButton1Click:Connect(function()
screenGui:Destroy()
end)
-- Função para iniciar a atualização
local function startUpdating()
if connection then
connection:Disconnect()
end
connection = game:GetService("RunService").Heartbeat:Connect(updateCoordinates)
end
-- Função chamada quando o personagem renasce
local function onCharacterAdded(newCharacter)
currentCharacter = newCharacter
startUpdating()
-- Pequeno delay para garantir que o HumanoidRootPart existe
task.wait(0.5)
updateCoordinates()
end
-- Verificar se o personagem já existe
if character and character.Parent then
currentCharacter = character
startUpdating()
else
-- Se não existe, aguarda
player.CharacterAdded:Wait()
currentCharacter = player.Character
startUpdating()
end
-- Conectar evento de renascimento
player.CharacterAdded:Connect(onCharacterAdded)[ View More ]
Isso pode parecer inútil mas é ótimo para quem quer fazer script de TP em lugares específicos e essa interface dele muleta ┌─────────────────────────────────┐│
- Works on mobile
- Yes