local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "CoordinatesGui" screenGui.Parent = playerGui -- main frame local mainFrame = Instance.new("Frame") mainFrame.Name = "CoordinatesFrame" mainFrame.Size = UDim2.new(0, 300, 0, 160) mainFrame.Position = UDim2.new(0, 10, 0, 10) mainFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui -- Add corner rounding local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = mainFrame -- label local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.Size = UDim2.new(1, 0, 0, 25) titleLabel.Position = UDim2.new(0, 0, 0, 0) titleLabel.BackgroundColor3 = Color3.fromRGB(35, 35, 35) titleLabel.BorderSizePixel = 0 titleLabel.Text = "Coordinates" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextScaled = true titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleLabel -- X coordinate label local xLabel = Instance.new("TextLabel") xLabel.Name = "XLabel" xLabel.Size = UDim2.new(0, 200, 0, 25) xLabel.Position = UDim2.new(0, 5, 0, 30) xLabel.BackgroundTransparency = 1 xLabel.Text = "X: 0" xLabel.TextColor3 = Color3.fromRGB(255, 100, 100) xLabel.TextScaled = true xLabel.Font = Enum.Font.Gotham xLabel.TextXAlignment = Enum.TextXAlignment.Left xLabel.Parent = mainFrame -- X copy button local xCopyButton = Instance.new("TextButton") xCopyButton.Name = "XCopyButton" xCopyButton.Size = UDim2.new(0, 60, 0, 20) xCopyButton.Position = UDim2.new(0, 210, 0, 32) xCopyButton.BackgroundColor3 = Color3.fromRGB(200, 80, 80) xCopyButton.BorderSizePixel = 0 xCopyButton.Text = "Copy" xCopyButton.TextColor3 = Color3.fromRGB(255, 255, 255) xCopyButton.TextScaled = true xCopyButton.Font = Enum.Font.GothamBold xCopyButton.Parent = mainFrame local xCopyCorner = Instance.new("UICorner") xCopyCorner.CornerRadius = UDim.new(0, 3) xCopyCorner.Parent = xCopyButton -- Y coordinate label local yLabel = Instance.new("TextLabel") yLabel.Name = "YLabel" yLabel.Size = UDim2.new(0, 200, 0, 25) yLabel.Position = UDim2.new(0, 5, 0, 55) yLabel.BackgroundTransparency = 1 yLabel.Text = "Y: 0" yLabel.TextColor3 = Color3.fromRGB(100, 255, 100) yLabel.TextScaled = true yLabel.Font = Enum.Font.Gotham yLabel.TextXAlignment = Enum.TextXAlignment.Left yLabel.Parent = mainFrame -- Y copy button local yCopyButton = Instance.new("TextButton") yCopyButton.Name = "YCopyButton" yCopyButton.Size = UDim2.new(0, 60, 0, 20) yCopyButton.Position = UDim2.new(0, 210, 0, 57) yCopyButton.BackgroundColor3 = Color3.fromRGB(80, 200, 80) yCopyButton.BorderSizePixel = 0 yCopyButton.Text = "Copy" yCopyButton.TextColor3 = Color3.fromRGB(255, 255, 255) yCopyButton.TextScaled = true yCopyButton.Font = Enum.Font.GothamBold yCopyButton.Parent = mainFrame local yCopyCorner = Instance.new("UICorner") yCopyCorner.CornerRadius = UDim.new(0, 3) yCopyCorner.Parent = yCopyButton -- Z coordinate label local zLabel = Instance.new("TextLabel") zLabel.Name = "ZLabel" zLabel.Size = UDim2.new(0, 200, 0, 25) zLabel.Position = UDim2.new(0, 5, 0, 80) zLabel.BackgroundTransparency = 1 zLabel.Text = "Z: 0" zLabel.TextColor3 = Color3.fromRGB(100, 100, 255) zLabel.TextScaled = true zLabel.Font = Enum.Font.Gotham zLabel.TextXAlignment = Enum.TextXAlignment.Left zLabel.Parent = mainFrame -- Create Z copy button local zCopyButton = Instance.new("TextButton") zCopyButton.Name = "ZCopyButton" zCopyButton.Size = UDim2.new(0, 60, 0, 20) zCopyButton.Position = UDim2.new(0, 210, 0, 82) zCopyButton.BackgroundColor3 = Color3.fromRGB(80, 80, 200) zCopyButton.BorderSizePixel = 0 zCopyButton.Text = "Copy" zCopyButton.TextColor3 = Color3.fromRGB(255, 255, 255) zCopyButton.TextScaled = true zCopyButton.Font = Enum.Font.GothamBold zCopyButton.Parent = mainFrame local zCopyCorner = Instance.new("UICorner") zCopyCorner.CornerRadius = UDim.new(0, 3) zCopyCorner.Parent = zCopyButton -- Create copy all button local copyAllButton = Instance.new("TextButton") copyAllButton.Name = "CopyAllButton" copyAllButton.Size = UDim2.new(0, 130, 0, 25) copyAllButton.Position = UDim2.new(0, 5, 0, 110) copyAllButton.BackgroundColor3 = Color3.fromRGB(60, 140, 60) copyAllButton.BorderSizePixel = 0 copyAllButton.Text = "Copy All" copyAllButton.TextColor3 = Color3.fromRGB(255, 255, 255) copyAllButton.TextScaled = true copyAllButton.Font = Enum.Font.GothamBold copyAllButton.Parent = mainFrame -- Add corner rounding to copy all button local copyAllCorner = Instance.new("UICorner") copyAllCorner.CornerRadius = UDim.new(0, 4) copyAllCorner.Parent = copyAllButton -- Create copy position button local copyPosButton = Instance.new("TextButton") copyPosButton.Name = "CopyPosButton" copyPosButton.Size = UDim2.new(0, 130, 0, 25) copyPosButton.Position = UDim2.new(0, 140, 0, 110) copyPosButton.BackgroundColor3 = Color3.fromRGB(60, 100, 140) copyPosButton.BorderSizePixel = 0 copyPosButton.Text = "Copy Vector3" copyPosButton.TextColor3 = Color3.fromRGB(255, 255, 255) copyPosButton.TextScaled = true copyPosButton.Font = Enum.Font.GothamBold copyPosButton.Parent = mainFrame local copyPosCorner = Instance.new("UICorner") copyPosCorner.CornerRadius = UDim.new(0, 4) copyPosCorner.Parent = copyPosButton local feedbackLabel = Instance.new("TextLabel") feedbackLabel.Name = "FeedbackLabel" feedbackLabel.Size = UDim2.new(1, -10, 0, 15) feedbackLabel.Position = UDim2.new(0, 5, 0, 140) feedbackLabel.BackgroundTransparency = 1 feedbackLabel.Text = "" feedbackLabel.TextColor3 = Color3.fromRGB(100, 255, 100) feedbackLabel.TextScaled = true feedbackLabel.Font = Enum.Font.Gotham feedbackLabel.TextXAlignment = Enum.TextXAlignment.Center feedbackLabel.Parent = mainFrame -- Variables for toggle functionality local isVisible = true local connection local currentPosition = Vector3.new(0, 0, 0) -- Function to show feedback message local function showFeedback(message) feedbackLabel.Text = message feedbackLabel.TextColor3 = Color3.fromRGB(100, 255, 100) spawn(function() wait(0.1) for i = 1, 0, -0.1 do feedbackLabel.TextTransparency = 1 - i wait(0.05) end feedbackLabel.Text = "" feedbackLabel.TextTransparency = 0 end) end -- Function to copy text to clipboard local function copyToClipboard(text) if setclipboard then setclipboard(text) return true else -- Fallback: print to console if setclipboard is not available print("Coordinates copied: " .. text) return false end end local function updateCoordinates() if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local position = player.Character.HumanoidRootPart.Position currentPosition = position xLabel.Text = string.format("X: %.2f", position.X) yLabel.Text = string.format("Y: %.2f", position.Y) zLabel.Text = string.format("Z: %.2f", position.Z) else currentPosition = Vector3.new(0, 0, 0) xLabel.Text = "X: --" yLabel.Text = "Y: --" zLabel.Text = "Z: --" end end -- Function to toggle GUI visibility local function toggleGui() isVisible = not isVisible screenGui.Enabled = isVisible end -- Start updating coordinates connection = RunService.Heartbeat:Connect(updateCoordinates) -- Copy button functionality copyAllButton.MouseButton1Click:Connect(function() local coordsText = string.format("X: %.2f, Y: %.2f, Z: %.2f", currentPosition.X, currentPosition.Y, currentPosition.Z) if copyToClipboard(coordsText) then showFeedback("Copied coordinates!") else showFeedback("Printed to console") end end) copyPosButton.MouseButton1Click:Connect(function() local vectorText = string.format("Vector3.new(%.2f, %.2f, %.2f)", currentPosition.X, currentPosition.Y, currentPosition.Z) if copyToClipboard(vectorText) then showFeedback("Copied Vector3!") else showFeedback("Printed to console") end end) -- Individual coordinate copy functionality xCopyButton.MouseButton1Click:Connect(function() local xValue = string.format("%.2f", currentPosition.X) if copyToClipboard(xValue) then showFeedback("Copied X: " .. xValue) else showFeedback("Printed X to console") end end) yCopyButton.MouseButton1Click:Connect(function() local yValue = string.format("%.2f", currentPosition.Y) if copyToClipboard(yValue) then showFeedback("Copied Y: " .. yValue) else showFeedback("Printed Y to console") end end) zCopyButton.MouseButton1Click:Connect(function() local zValue = string.format("%.2f", currentPosition.Z) if copyToClipboard(zValue) then showFeedback("Copied Z: " .. zValue) else showFeedback("Printed Z to console") end end) -- Toggle with F3 key (like Minecraft) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F3 then toggleGui() end end) --effects local function addHoverEffect(button, normalColor, hoverColor) button.MouseEnter:Connect(function() button.BackgroundColor3 = hoverColor end) button.MouseLeave:Connect(function() button.BackgroundColor3 = normalColor end) end addHoverEffect(copyAllButton, Color3.fromRGB(60, 140, 60), Color3.fromRGB(70, 160, 70)) addHoverEffect(copyPosButton, Color3.fromRGB(60, 100, 140), Color3.fromRGB(70, 120, 160)) addHoverEffect(xCopyButton, Color3.fromRGB(200, 80, 80), Color3.fromRGB(220, 100, 100)) addHoverEffect(yCopyButton, Color3.fromRGB(80, 200, 80), Color3.fromRGB(100, 220, 100)) addHoverEffect(zCopyButton, Color3.fromRGB(80, 80, 200), Color3.fromRGB(100, 100, 220)) -- Make the frame draggable local dragging = false local dragStart = nil local startPos = nil mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) mainFrame.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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) mainFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) Players.PlayerRemoving:Connect(function(leavingPlayer) if leavingPlayer == player then if connection then connection:Disconnect() end end end)