Game info gui v4 :D (solo agregue una cosa)
Key RequiredUniversal

Game info gui v4 :D (solo agregue una cosa)

Universal ScriptMateoscripsMateoscrips 1.1K views 8.6K executesUpdated Sep 12, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•717 lines (18656 chars)
local Players = game:GetService("Players")
local MarketplaceService = game:GetService("MarketplaceService")
local UserInputService = game:GetService("UserInputService")
local GroupService = game:GetService("GroupService")

local player = Players.LocalPlayer

--==================================================
-- CONVERTIR CODIGOS UNICODE
--==================================================

local function decode(text)
	return (text:gsub("{(%x+)}", function(hex)
		return utf8.char(tonumber(hex, 16))
	end))
end

--==================================================
-- INFORMACION DEL JUEGO
--==================================================

local placeId = game.PlaceId

local success, info = pcall(function()
	return MarketplaceService:GetProductInfo(placeId)
end)

if not success or not info then
	warn("No se pudo obtener la informacion del juego.")
	return
end

local gameName = info.Name or "Desconocido"

local creatorName = "Desconocido"
local creatorId = "Desconocido"
local communityName = "Desconocido"

--==================================================
-- DETECTAR CREADOR / COMUNIDAD
--==================================================

if game.CreatorType == Enum.CreatorType.Group then

	local groupId = game.CreatorId

	-- Nombre de la comunidad
	if info.Creator then
		communityName = info.Creator.Name or "Desconocido"
	end

	-- Obtener informacion de la comunidad
	local groupSuccess, groupInfo = pcall(function()
		return GroupService:GetGroupInfoAsync(groupId)
	end)

	if groupSuccess and groupInfo then

		if groupInfo.Owner then

			local ownerId = groupInfo.Owner.Id

			if ownerId then
				creatorId = tostring(ownerId)

				-- Obtener nombre del propietario
				local nameSuccess, ownerName = pcall(function()
					return Players:GetNameFromUserIdAsync(ownerId)
				end)

				if nameSuccess and ownerName then
					creatorName = ownerName
				else
					creatorName = groupInfo.Owner.Name or "Desconocido"
				end
			end
		end
	end

elseif game.CreatorType == Enum.CreatorType.User then

	creatorId = tostring(game.CreatorId)

	local nameSuccess, ownerName = pcall(function()
		return Players:GetNameFromUserIdAsync(game.CreatorId)
	end)

	if nameSuccess and ownerName then
		creatorName = ownerName
	elseif info.Creator then
		creatorName = info.Creator.Name or "Desconocido"
	end

end

--==================================================
-- IDIOMAS
--==================================================

local languages = {

	{
		flag = "{1F1EA}{1F1F8}",
		name = "Espa{00F1}ol",

		message = [[
Hola %PLAYER% {1F44B}

Te voy a ense{00F1}ar c{00F3}mo copiar el nombre del juego que est{00E1} jugando y tambi{00E9}n el nombre del creador si es que lo necesitas y tambi{00E9}n los IDs.

Tambi{00E9}n te voy a ense{00F1}ar c{00F3}mo cambiarle de idioma a tu GUI.

Habr{00E1} una peque{00F1}a ventana en la parte de arriba con una bandera. Le das click hasta encontrar tu idioma y listo.

Y si en algunos juegos no aparece traducido es que el juego no tiene configurada una opci{00F3}n para traducirlo.

Al terminar de leerlo solamente presiona el bot{00F3}n {00A1}Ok! :D]],

		ok = "{00A1}Ok!",
		game = "{1F3AE} Juego: ",
		creator = "{1F464} Creador: ",
		creatorId = "{1F194} Creador ID: ",
		community = "{1F465} Comunidad: ",
		placeId = "{1F194} Juego ID: ",
		players = "{1F465} Jugadores: ",
		title = "{1F3AE} GAME INFO. :D",
		messageTitle = "Mensaje."
	},

	{
		flag = "{1F1FA}{1F1F8}",
		name = "English",

		message = [[
Hello %PLAYER% {1F44B}

I'm going to show you how to copy the name of the game you are playing and also the creator's name if you need it, as well as the IDs.

I'm also going to show you how to change the language of your GUI.

There will be a small window at the top with a flag. Click it until you find your language and that's it.

If some games are not translated, it is because the game does not have a translation option configured.

When you finish reading, just press the OK button :D]],

		ok = "OK!",
		game = "{1F3AE} Game: ",
		creator = "{1F464} Creator: ",
		creatorId = "{1F194} Creator ID: ",
		community = "{1F465} Community: ",
		placeId = "{1F194} Game ID: ",
		players = "{1F465} Players: ",
		title = "{1F3AE} GAME INFO. :D",
		messageTitle = "Message."
	},

	{
		flag = "{1F1E7}{1F1F7}",
		name = "Portugu{00EA}s",

		message = [[
Ol{00E1} %PLAYER% {1F44B}

Vou mostrar como copiar o nome do jogo que voc{00EA} est{00E1} jogando e tamb{00E9}m o nome do criador, caso voc{00EA} precise, al{00E9}m dos IDs.

Tamb{00E9}m vou mostrar como mudar o idioma da sua GUI.

Haver{00E1} uma pequena janela na parte superior com uma bandeira. Clique nela at{00E9} encontrar seu idioma e pronto.

Se alguns jogos n{00E3}o aparecerem traduzidos, {00E9} porque o jogo n{00E3}o tem uma op{00E7}{00E3}o de tradu{00E7}{00E3}o configurada.

Quando terminar de ler, basta pressionar o bot{00E3}o OK :D]],

		ok = "OK!",
		game = "{1F3AE} Jogo: ",
		creator = "{1F464} Criador: ",
		creatorId = "{1F194} ID do Criador: ",
		community = "{1F465} Comunidade: ",
		placeId = "{1F194} ID do Jogo: ",
		players = "{1F465} Jogadores: ",
		title = "{1F3AE} GAME INFO. :D",
		messageTitle = "Mensagem."
	},

	{
		flag = "{1F1EB}{1F1F7}",
		name = "Fran{00E7}ais",

		message = [[
Bonjour %PLAYER% {1F44B}

Je vais vous montrer comment copier le nom du jeu auquel vous jouez et aussi le nom du cr{00E9}ateur si vous en avez besoin, ainsi que les IDs.

Je vais {00E9}galement vous montrer comment changer la langue de votre GUI.

Une petite fen{00EA}tre avec un drapeau se trouvera en haut. Cliquez dessus jusqu'{00E0} trouver votre langue et voil{00E0}.

Si certains jeux ne sont pas traduits, c'est parce que le jeu n'a pas configur{00E9} d'option de traduction.

Lorsque vous avez termin{00E9} de lire, appuyez simplement sur le bouton OK :D]],

		ok = "OK !",
		game = "{1F3AE} Jeu : ",
		creator = "{1F464} Cr{00E9}ateur : ",
		creatorId = "{1F194} ID du cr{00E9}ateur : ",
		community = "{1F465} Communaut{00E9} : ",
		placeId = "{1F194} ID du jeu : ",
		players = "{1F465} Joueurs : ",
		title = "{1F3AE} GAME INFO. :D",
		messageTitle = "Message."
	},

	{
		flag = "{1F1E9}{1F1EA}",
		name = "Deutsch",

		message = [[
Hallo %PLAYER% {1F44B}

Ich zeige dir, wie du den Namen des Spiels, das du spielst, und bei Bedarf auch den Namen des Erstellers sowie die IDs kopieren kannst.

Ich zeige dir au{00DF}erdem, wie du die Sprache deiner GUI {00E4}ndern kannst.

Oben befindet sich ein kleines Fenster mit einer Flagge. Klicke darauf, bis du deine Sprache gefunden hast.

Wenn einige Spiele nicht {00FC}bersetzt werden, bedeutet das, dass das Spiel keine {00DC}bersetzungsoption eingerichtet hat.

Wenn du mit dem Lesen fertig bist, dr{00FC}cke einfach die OK-Taste :D]],

		ok = "OK!",
		game = "{1F3AE} Spiel: ",
		creator = "{1F464} Ersteller: ",
		creatorId = "{1F194} Ersteller-ID: ",
		community = "{1F465} Community: ",
		placeId = "{1F194} Spiel-ID: ",
		players = "{1F465} Spieler: ",
		title = "{1F3AE} GAME INFO. :D",
		messageTitle = "Nachricht."
	}
}

local languageIndex = 1

--==================================================
-- ESTADO DEL MENSAJE
--==================================================

local messageFinished = false

--==================================================
-- GUI
--==================================================

local gui = Instance.new("ScreenGui")
gui.Name = "GameInfoGUI"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Name = "Main"
frame.Size = UDim2.new(0, 330, 0, 250)
frame.Position = UDim2.new(0.5, -165, 0.5, -125)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = gui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 9)
frameCorner.Parent = frame

--==================================================
-- TITULO
--==================================================

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -140, 0, 36)
title.Position = UDim2.new(0, 10, 0, 3)
title.BackgroundTransparency = 1
title.Text = "Mensaje."
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 17
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame

--==================================================
-- BOTON DE IDIOMA
--==================================================

local languageButton = Instance.new("TextButton")
languageButton.Size = UDim2.new(0, 32, 0, 30)
languageButton.Position = UDim2.new(1, -109, 0, 6)

languageButton.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
languageButton.Text = decode(languages[languageIndex].flag)
languageButton.TextColor3 = Color3.fromRGB(255, 255, 255)
languageButton.TextSize = 17
languageButton.Font = Enum.Font.GothamBold

languageButton.Parent = frame

local languageCorner = Instance.new("UICorner")
languageCorner.CornerRadius = UDim.new(0, 6)
languageCorner.Parent = languageButton

--==================================================
-- BOTON MINIMIZAR
--==================================================

local minimize = Instance.new("TextButton")
minimize.Size = UDim2.new(0, 32, 0, 30)
minimize.Position = UDim2.new(1, -73, 0, 6)

minimize.BackgroundColor3 = Color3.fromRGB(190, 50, 50)
minimize.Text = decode("{2796}")
minimize.TextColor3 = Color3.fromRGB(255, 255, 255)
minimize.TextSize = 16
minimize.Font = Enum.Font.GothamBold

minimize.Parent = frame

local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 6)
minCorner.Parent = minimize

--==================================================
-- BOTON CERRAR
--==================================================

local close = Instance.new("TextButton")
close.Size = UDim2.new(0, 32, 0, 30)
close.Position = UDim2.new(1, -37, 0, 6)

close.BackgroundColor3 = Color3.fromRGB(75, 75, 75)
close.Text = decode("{2715}")
close.TextColor3 = Color3.fromRGB(255, 255, 255)
close.TextSize = 16
close.Font = Enum.Font.GothamBold

close.Parent = frame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = close

--==================================================
-- MENSAJE DESPLAZABLE
--==================================================

local messageBox = Instance.new("ScrollingFrame")
messageBox.Name = "MessageBox"

messageBox.Size = UDim2.new(1, -20, 0, 155)
messageBox.Position = UDim2.new(0, 10, 0, 43)

messageBox.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
messageBox.BorderSizePixel = 0

messageBox.CanvasSize = UDim2.new(0, 0, 0, 480)
messageBox.CanvasPosition = Vector2.new(0, 0)

messageBox.ScrollBarThickness = 6
messageBox.ScrollingDirection = Enum.ScrollingDirection.Y
messageBox.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar

messageBox.Active = true
messageBox.Selectable = true

messageBox.Parent = frame

local messageCorner = Instance.new("UICorner")
messageCorner.CornerRadius = UDim.new(0, 6)
messageCorner.Parent = messageBox

--==================================================
-- TEXTO DEL MENSAJE
--==================================================

local message = Instance.new("TextLabel")

message.Name = "MessageText"
message.Size = UDim2.new(1, -20, 0, 450)
message.Position = UDim2.new(0, 10, 0, 10)

message.BackgroundTransparency = 1

message.TextColor3 = Color3.fromRGB(235, 235, 235)
message.TextTransparency = 0

message.TextSize = 14
message.Font = Enum.Font.Code

message.TextXAlignment = Enum.TextXAlignment.Left
message.TextYAlignment = Enum.TextYAlignment.Top
message.TextWrapped = true

message.Visible = true
message.Parent = messageBox

--==================================================
-- BOTON OK
--==================================================

local okButton = Instance.new("TextButton")

okButton.Size = UDim2.new(1, -20, 0, 38)
okButton.Position = UDim2.new(0, 10, 1, -47)

okButton.BackgroundColor3 = Color3.fromRGB(55, 150, 75)

okButton.TextColor3 = Color3.fromRGB(255, 255, 255)
okButton.TextSize = 15
okButton.Font = Enum.Font.GothamBold

okButton.Parent = frame

local okCorner = Instance.new("UICorner")
okCorner.CornerRadius = UDim.new(0, 6)
okCorner.Parent = okButton

--==================================================
-- GAME INFO
--==================================================

local infoBox = Instance.new("ScrollingFrame")

infoBox.Name = "InfoBox"
infoBox.Size = UDim2.new(1, -20, 0, 202)
infoBox.Position = UDim2.new(0, 10, 0, 43)

infoBox.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
infoBox.BorderSizePixel = 0

infoBox.CanvasSize = UDim2.new(0, 0, 0, 270)
infoBox.CanvasPosition = Vector2.new(0, 0)

infoBox.ScrollBarThickness = 6
infoBox.ScrollingDirection = Enum.ScrollingDirection.Y
infoBox.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar

infoBox.Active = true
infoBox.Selectable = true

infoBox.Visible = false
infoBox.Parent = frame

local infoCorner = Instance.new("UICorner")
infoCorner.CornerRadius = UDim.new(0, 6)
infoCorner.Parent = infoBox

--==================================================
-- INFORMACION
--==================================================

local function createInfo(text, position)

	local label = Instance.new("TextLabel")

	label.Size = UDim2.new(1, -16, 0, 34)
	label.Position = UDim2.new(0, 8, 0, position)

	label.BackgroundTransparency = 1
	label.Text = text

	label.TextColor3 = Color3.fromRGB(235, 235, 235)
	label.TextSize = 14
	label.Font = Enum.Font.Code

	label.TextXAlignment = Enum.TextXAlignment.Left
	label.TextYAlignment = Enum.TextYAlignment.Center
	label.TextWrapped = true

	label.Parent = infoBox

	return label
end

local function createCopyableInfo(text, position)

	local box = Instance.new("TextBox")

	box.Size = UDim2.new(1, -16, 0, 34)
	box.Position = UDim2.new(0, 8, 0, position)

	box.BackgroundTransparency = 1
	box.BorderSizePixel = 0

	box.Text = text
	box.TextColor3 = Color3.fromRGB(235, 235, 235)
	box.TextSize = 14
	box.Font = Enum.Font.Code

	box.TextXAlignment = Enum.TextXAlignment.Left
	box.TextYAlignment = Enum.TextYAlignment.Center
	box.TextWrapped = true

	box.ClearTextOnFocus = false
	box.TextEditable = false
	box.Selectable = true

	box.Parent = infoBox

	return box
end

local gameLabel
local creatorLabel
local creatorIdLabel
local communityLabel
local placeIdLabel
local playersLabel

gameLabel = createCopyableInfo("", 5)
creatorLabel = createCopyableInfo("", 43)
creatorIdLabel = createCopyableInfo("", 81)
communityLabel = createCopyableInfo("", 119)
placeIdLabel = createCopyableInfo("", 157)

playersLabel = createInfo("", 195)

--==================================================
-- ACTUALIZAR JUGADORES
--==================================================

local function updatePlayers()

	local currentPlayers = #Players:GetPlayers()
	local maxPlayers = Players.MaxPlayers

	playersLabel.Text =
		decode(languages[languageIndex].players) ..
		tostring(currentPlayers) ..
		"/" ..
		tostring(maxPlayers)
end

--==================================================
-- ACTUALIZAR IDIOMA
--==================================================

local function updateLanguage()

	local lang = languages[languageIndex]

	languageButton.Text = decode(lang.flag)

	if messageFinished then
		title.Text = decode(lang.title)
	else
		title.Text = decode(lang.messageTitle)
	end

	message.Text =
		decode(lang.message):gsub("%%PLAYER%%", player.Name)

	okButton.Text = decode(lang.ok)

	gameLabel.Text =
		decode(lang.game) .. gameName

	creatorLabel.Text =
		decode(lang.creator) .. creatorName

	creatorIdLabel.Text =
		decode(lang.creatorId) .. creatorId

	communityLabel.Text =
		decode(lang.community) .. communityName

	placeIdLabel.Text =
		decode(lang.placeId) .. tostring(placeId)

	updatePlayers()

	messageBox.CanvasPosition = Vector2.new(0, 0)
	infoBox.CanvasPosition = Vector2.new(0, 0)
end

updateLanguage()

Players.PlayerAdded:Connect(updatePlayers)
Players.PlayerRemoving:Connect(updatePlayers)

--==================================================
-- CAMBIAR IDIOMA
--==================================================

languageButton.MouseButton1Click:Connect(function()

	languageIndex = languageIndex + 1

	if languageIndex > #languages then
		languageIndex = 1
	end

	updateLanguage()
end)

--==================================================
-- BOTON OK
--==================================================

okButton.MouseButton1Click:Connect(function()

	messageFinished = true

	messageBox.Visible = false
	okButton.Visible = false

	title.Text = decode(languages[languageIndex].title)

	infoBox.Visible = true
end)

--==================================================
-- MINIMIZAR
--==================================================

local minimized = false

minimize.MouseButton1Click:Connect(function()

	minimized = not minimized

	if minimized then

		messageBox.Visible = false
		infoBox.Visible = false
		okButton.Visible = false

		frame.Size = UDim2.new(0, 330, 0, 44)

		minimize.Text = decode("{2795}")

	else

		frame.Size = UDim2.new(0, 330, 0, 250)

		minimize.Text = decode("{2796}")

		if messageFinished then

			infoBox.Visible = true
			messageBox.Visible = false
			okButton.Visible = false

			title.Text = decode(languages[languageIndex].title)

		else

			messageBox.Visible = true
			okButton.Visible = true
			infoBox.Visible = false

			title.Text = decode(languages[languageIndex].messageTitle)
		end
	end
end)

--==================================================
-- CERRAR
--==================================================

close.MouseButton1Click:Connect(function()
	gui:Destroy()
end)

--==================================================
-- ARRASTRAR EN PC Y CELULAR
--==================================================

local dragging = false
local dragStart
local startPosition

frame.InputBegan:Connect(function(input)

	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then

		dragging = true
		dragStart = input.Position
		startPosition = frame.Position
	end
end)

UserInputService.InputChanged:Connect(function(input)

	if not dragging then
		return
	end

	if input.UserInputType == Enum.UserInputType.MouseMovement
		or input.UserInputType == Enum.UserInputType.Touch then

		local delta = input.Position - dragStart

		frame.Position = UDim2.new(
			startPosition.X.Scale,
			startPosition.X.Offset + delta.X,

			startPosition.Y.Scale,
			startPosition.Y.Offset + delta.Y
		)
	end
end)

UserInputService.InputEnded:Connect(function(input)

	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then

		dragging = false
	end
end)

Features & Information

Con ese script puedes saber el nombre del creador y del juego y sus ids y el límite del jugador es de servidor y cuántos jugadores hay en el servidor y también puedes copiar los ids y los nombres y antes de ejecutarlo recomendable borrar la advertencia de la scriptblox para que el script funcione correctamente El script se adapta al idioma que tú la hayas puesto a tu cuenta :D

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts