local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local MarketplaceService = game:GetService("MarketplaceService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "GameInfoGUI" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Main Frame local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 380, 0, 260) frame.Position = UDim2.new(0, 20, 0, 20) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) frame.BorderSizePixel = 0 frame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 12) frameCorner.Parent = frame -- Title Bar (Drag Handle) local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 40) titleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35) titleBar.BorderSizePixel = 0 titleBar.Active = true -- Enable dragging on titlebar only titleBar.Parent = frame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 12) titleCorner.Parent = titleBar -- Title Label local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -50, 1, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Game Info" titleLabel.TextColor3 = Color3.new(1, 1, 1) titleLabel.TextScaled = true titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = titleBar -- Toggle Button (X) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -40, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.TextScaled = true closeBtn.Font = Enum.Font.GothamBold closeBtn.Parent = titleBar local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 8) closeCorner.Parent = closeBtn -- Content Frame for Rows local contentFrame = Instance.new("Frame") contentFrame.Size = UDim2.new(1, 0, 1, -45) contentFrame.Position = UDim2.new(0, 0, 0, 40) contentFrame.BackgroundTransparency = 1 contentFrame.Parent = frame local listLayout = Instance.new("UIListLayout") listLayout.Parent = contentFrame listLayout.Padding = UDim.new(0, 8) listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.FillDirection = Enum.FillDirection.Vertical listLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center -- Function to create a copyable row local function createRow(parent, labelText, valueText, layoutOrder) local row = Instance.new("Frame") row.Name = labelText .. "Row" row.Size = UDim2.new(1, -20, 0, 35) row.BackgroundTransparency = 1 row.LayoutOrder = layoutOrder row.Parent = parent local rowLabel = Instance.new("TextLabel") rowLabel.Size = UDim2.new(1, -70, 1, 0) rowLabel.Position = UDim2.new(0, 10, 0, 0) rowLabel.BackgroundTransparency = 1 rowLabel.Text = labelText .. ": " .. valueText rowLabel.TextColor3 = Color3.new(1, 1, 1) rowLabel.TextScaled = true rowLabel.TextWrapped = true rowLabel.Font = Enum.Font.Gotham rowLabel.TextXAlignment = Enum.TextXAlignment.Left rowLabel.TextYAlignment = Enum.TextYAlignment.Center rowLabel.Parent = row local copyBtn = Instance.new("TextButton") copyBtn.Size = UDim2.new(0, 55, 0, 25) copyBtn.Position = UDim2.new(1, -65, 0.5, -12.5) copyBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) copyBtn.Text = "Copy" copyBtn.TextColor3 = Color3.new(1, 1, 1) copyBtn.TextScaled = true copyBtn.Font = Enum.Font.GothamBold copyBtn.Parent = row local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = copyBtn -- Hover effects copyBtn.MouseEnter:Connect(function() copyBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 0) end) copyBtn.MouseLeave:Connect(function() copyBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) end) -- Copy to clipboard copyBtn.MouseButton1Click:Connect(function() setclipboard(tostring(valueText)) copyBtn.Text = "Copied!" wait(1) copyBtn.Text = "Copy" end) end -- Enhanced Dragging (TitleBar Only - PC + Mobile) local dragging = false local dragInput = nil local dragStart = nil local startPos = nil local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input == dragInput) then update(input) end end) -- Toggle with X or Insert key local visible = true local function toggle() visible = not visible frame.Visible = visible end closeBtn.MouseButton1Click:Connect(toggle) -- Hover for close button closeBtn.MouseEnter:Connect(function() closeBtn.BackgroundColor3 = Color3.fromRGB(220, 70, 70) end) closeBtn.MouseLeave:Connect(function() closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) UserInputService.InputBegan:Connect(function(input, gp) if not gp and input.KeyCode == Enum.KeyCode.Insert then toggle() end end) -- Load Game Info and Create Rows spawn(function() local placeId = game.PlaceId local universeId = game.GameId local jobId = game.JobId or "N/A" local success, productInfo = pcall(function() return MarketplaceService:GetProductInfo(placeId) end) local gameName = success and productInfo.Name or "Failed to load" -- Clear any existing rows (safety) for _, child in pairs(contentFrame:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end -- Create rows createRow(contentFrame, "Game Name", gameName, 1) createRow(contentFrame, "Place ID", tostring(placeId), 2) createRow(contentFrame, "Universe ID", tostring(universeId), 3) createRow(contentFrame, "Job ID", tostring(jobId), 4) end)