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)