Universal Coordinates Finder UCF
Key RequiredUniversal

Universal Coordinates Finder UCF

Universal Scriptliarosliaros 1.9K views 59 executesUpdated Sep 26, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•347 lines (11132 chars)
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)

Features & Information

Features: This is basically a script for your ingame location, coordinates however you wanna call it. Added the function to copy each coordinates individually or all of them together.
#coordinates#find xyz#xyz#find place#location numbers

Community Comments (4)

ZERETETZERETETSep 26, 2025

ai

Replying to @ZERETET
liarosliarosSep 26, 2025(edited)

@ZERETET no * its ai, like i could script like this. figured i would upload this here cause i didnt seem to find any other similar script. i didnt make this to get views or likes i made it to help other that were looking for the same thing i did.

Replying to @liaros
ZERETETZERETETSep 26, 2025

@idonotcondonemolly there's like over 100 coordinates finder scripts what do you mean

Replying to @liaros
vxstyvxstySep 26, 2025

@idonotcondonemolly its literally just HumanoidRootPart.Position 🥹

More Scripts for Universal Scripts