
KeylessUniversal

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)No comments yet for this script.



