local UIS = game:GetService("UserInputService") local PLRS = game:GetService("Players") local WSP = game:GetService("Workspace") local lp = PLRS.LocalPlayer local parent = (gethui and gethui()) or lp:WaitForChild("PlayerGui") local cam = WSP.CurrentCamera local sw, sh = math.floor(cam.ViewportSize.X), math.floor(cam.ViewportSize.Y) local sg = Instance.new("ScreenGui") sg.Name = "CoordGrabber_Pro" sg.ResetOnSpawn = false sg.IgnoreGuiInset = true sg.DisplayOrder = 999 sg.Parent = parent local shield = Instance.new("TextButton") shield.Size = UDim2.new(1, 0, 1, 0) shield.BackgroundTransparency = 1 shield.Text = "" shield.Visible = false shield.Active = true shield.ZIndex = 5 shield.Parent = sg local mf = Instance.new("Frame") mf.Size = UDim2.new(0, 240, 0, 110) mf.Position = UDim2.new(0.5, -120, 0, 50) mf.BackgroundColor3 = Color3.fromRGB(15, 15, 15) mf.BorderSizePixel = 0 mf.ZIndex = 10 mf.Active = true mf.Parent = sg local mfC = Instance.new("UICorner") mfC.CornerRadius = UDim.new(0, 12) mfC.Parent = mf local close = Instance.new("TextButton") close.Size = UDim2.new(0, 28, 0, 28) close.Position = UDim2.new(1, -33, 0, 5) close.BackgroundColor3 = Color3.fromRGB(200, 40, 40) close.TextColor3 = Color3.fromRGB(255, 255, 255) close.Font = Enum.Font.SourceSansBold close.TextSize = 16 close.Text = "×" close.ZIndex = 12 close.Parent = mf Instance.new("UICorner", close).CornerRadius = UDim.new(0, 8) local resL = Instance.new("TextLabel") resL.Size = UDim2.new(1, 0, 0, 20) resL.Position = UDim2.new(0, 0, 0, 8) resL.BackgroundTransparency = 1 resL.TextColor3 = Color3.fromRGB(100, 100, 100) resL.Font = Enum.Font.Code resL.TextSize = 12 resL.Text = "RES: " .. sw .. "x" .. sh resL.ZIndex = 11 resL.Parent = mf local disp = Instance.new("TextLabel") disp.Size = UDim2.new(1, 0, 0, 30) disp.Position = UDim2.new(0, 0, 0, 28) disp.BackgroundTransparency = 1 disp.TextColor3 = Color3.fromRGB(255, 255, 255) disp.Font = Enum.Font.GothamBold disp.TextSize = 18 disp.Text = "X: -- | Y: --" disp.ZIndex = 11 disp.Parent = mf local btn1 = Instance.new("TextButton") btn1.Size = UDim2.new(0, 105, 0, 38) btn1.Position = UDim2.new(0, 10, 0, 65) btn1.BackgroundColor3 = Color3.fromRGB(220, 60, 60) btn1.TextColor3 = Color3.fromRGB(255, 255, 255) btn1.Font = Enum.Font.GothamBold btn1.TextSize = 12 btn1.Text = "START GRAB" btn1.ZIndex = 11 btn1.Parent = mf Instance.new("UICorner", btn1) local btn2 = Instance.new("TextButton") btn2.Size = UDim2.new(0, 105, 0, 38) btn2.Position = UDim2.new(1, -115, 0, 65) btn2.BackgroundColor3 = Color3.fromRGB(30, 30, 30) btn2.TextColor3 = Color3.fromRGB(200, 200, 200) btn2.Font = Enum.Font.GothamBold btn2.TextSize = 12 btn2.Text = "COPY" btn2.ZIndex = 11 btn2.Parent = mf Instance.new("UICorner", btn2) local dot = Instance.new("Frame") dot.Size = UDim2.new(0, 14, 0, 14) dot.AnchorPoint = Vector2.new(0.5, 0.5) dot.BackgroundColor3 = Color3.fromRGB(0, 255, 255) dot.BackgroundTransparency = 1 dot.Visible = false dot.ZIndex = 100 dot.Parent = sg Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0) local cur = "" local function toggle(s) shield.Visible = s btn1.Text = s and "TAP SCREEN" or "START GRAB" btn1.BackgroundColor3 = s and Color3.fromRGB(60, 220, 60) or Color3.fromRGB(220, 60, 60) end btn1.MouseButton1Click:Connect(function() toggle(true) end) shield.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then local p = UIS:GetMouseLocation() local x, y = math.floor(p.X), math.floor(p.Y) disp.Text = "X: " .. x .. " | Y: " .. y cur = x .. ", " .. y dot.Position = UDim2.new(0, x, 0, y) dot.Visible = true dot.BackgroundTransparency = 0 btn2.BackgroundColor3 = Color3.fromRGB(0, 120, 255) btn2.TextColor3 = Color3.fromRGB(255, 255, 255) task.spawn(function() task.wait(1.5) for i = 0, 1, 0.1 do dot.BackgroundTransparency = i task.wait(0.05) end dot.Visible = false end) toggle(false) end end) btn2.MouseButton1Click:Connect(function() if setclipboard and cur ~= "" then setclipboard(cur) btn2.Text = "COPIED!" task.wait(1) btn2.Text = "COPY" end end) close.MouseButton1Click:Connect(function() sg:Destroy() end) local d, ds, sp mf.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.Touch then d = true ds = i.Position sp = mf.Position i.Changed:Connect(function() if i.UserInputState == Enum.UserInputState.End then d = false end end) end end) UIS.InputChanged:Connect(function(i) if d and i.UserInputType == Enum.UserInputType.Touch then local dl = i.Position - ds mf.Position = UDim2.new(sp.X.Scale, sp.X.Offset + dl.X, sp.Y.Scale, sp.Y.Offset + dl.Y) end end)