Una insignia es un premio especial que puedes otorgar a los jugadores cuando alcanzan un objetivo dentro de tu juego, como completar un objetivo difícil o jugar durante un cierto período de tiempo. Tan pronto como un jugador recibe una insignia, se muestra dentro de la categoría de Insignias de su inventario.

Crear insignias
Puedes crear hasta 5 insignias de forma gratuita en un período de 24 horas (GMT) para cada juego que poseas. Si deseas crear más dentro del período de 24 horas, cada insignia adicional cuesta 100 Robux.
Para crear una insignia:
Navega al Tablero del Creador.
Pasa el cursor sobre la miniatura de un juego, haz clic en el botón ⋯ y selecciona Crear Insignia.

En la página de creación, haz clic en el botón Subir Imagen y luego selecciona/confirma la imagen que deseas usar como el ícono de la insignia. Al crear una imagen para usar en una insignia, considera lo siguiente:
Usa una plantilla de 512×512 píxeles.
El proceso de carga recorta y recorta la imagen de la insignia en un ícono circular, así que evita poner detalles importantes fuera de los límites circulares.


Completa los siguientes campos:
- Nombre — Un título para la insignia.
- Descripción — Una descripción de lo que el jugador puede hacer para ganar la insignia.
- La insignia está habilitada — Si la insignia estará habilitada cuando se cree. Las insignias deshabilitadas no se muestran en la sección de Insignias de la página principal del juego y no pueden ser ganadas por los jugadores.
Haz clic en el botón Crear Insignia. La nueva insignia se mostrará en la sección de Compromiso ⟩ Insignias en el Tablero del Creador. Si la nueva insignia está habilitada, también se mostrará en la sección de Insignias de la página principal del juego.

Insignia en la página principal del juego
Reordenar insignias
Cuando se crea una insignia por primera vez, se coloca al final de la lista de insignias. Puedes reordenar hasta 50 insignias a la vez utilizando la interfaz de arrastrar y soltar.
Para reordenar insignias:
Navega al juego asociado.
En el panel lateral bajo el encabezado de Compromiso, navega a la página de Insignias.
Selecciona Reordenar para navegar a la página de reordenamiento.

En la página de reordenamiento, arrastra y suelta las insignias en el orden preferido.

Selecciona Guardar para guardar este orden. El orden especificado ahora debería aparecer en la página de detalles del juego.
Insignias de script
Los flujos de trabajo comunes de scripting de insignias incluyen otorgar insignias, verificar si un jugador ha ganado previamente una insignia en tu juego, y obtener información de la insignia.
Localizar IDs de insignias
El ID de una insignia es su identificador único. Necesitarás este ID al implementar flujos de trabajo como otorgar la insignia a un jugador.
En el Tablero del Creador, navega a la sección de Insignias del juego asociado bajo Compromiso.
Pasa el cursor sobre la miniatura de una insignia, haz clic en el botón ⋯ y selecciona Copiar ID de Activo del menú contextual.

Otorgar insignias
Puedes otorgar insignias a los jugadores a lo largo de tu juego llamando al método BadgeService:AwardBadgeAsync() en un Script del lado del servidor. BadgeService:GetBadgeInfoAsync() devuelve propiedades de la insignia, incluyendo IsEnabled, que confirma si la insignia puede ser otorgada a un jugador. Puedes habilitar o deshabilitar una insignia desde el formulario de Configurar Insignia en el Tablero del Creador.
El siguiente es un ejemplo de una función segura para otorgar insignias a los jugadores.
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Obtener información de la insignia
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- Confirmar que la insignia puede ser otorgada
if badgeInfo.IsEnabled then
-- Otorgar insignia
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Error al otorgar la insignia:", errorMessage)
end
end
else
warn("Error al obtener información de la insignia: " .. badgeInfo)
end
endVerificar insignias ganadas
El siguiente script verifica cuando cualquier jugador entra al juego, luego utiliza el método BadgeService:UserHasBadgeAsync() para verificar si ese jugador posee la insignia con el ID coincidente establecido en la variable BADGE_ID. También puedes verificar la propiedad de la insignia en lotes utilizando el método BadgeService:GetUserBadgesAsync().
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Cambia esto a tu ID de insignia
local function onPlayerAdded(player)
-- Verificar si el jugador tiene la insignia
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Si hay un error, emitir una advertencia y salir de la función
if not success then
warn("Error al verificar si el jugador tiene la insignia")
return
end
if hasBadge then
-- Manejar la propiedad de la insignia del jugador según sea necesario
end
end
-- Conectar eventos "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)Obtener información de la insignia
Para obtener información sobre una insignia, como su descripción o ID de activo de ícono, llama al método BadgeService:GetBadgeInfoAsync() con un ID de insignia. Por ejemplo:
local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Cambia esto a tu ID de insignia
-- Obtener información de la insignia
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Mostrar la información
if success then
print("Insignia:", result.Name)
print("Habilitada:", result.IsEnabled)
print("Descripción:", result.Description)
print("Ícono:", "rbxassetid://" .. result.IconImageId)
else
warn("Error al obtener información de la insignia:", result)
end