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 tiempo determinado. 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 a el Tablero del Creador.
Coloca 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 o no. 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 reordenación.

En la página de reordenación, arrastra y suelta las insignias en su orden preferido.

Selecciona Guardar para guardar este orden. El orden especificado ahora debería aparecer en la página de detalles del juego.
Script de insignias
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 sobre 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.
Coloca el cursor sobre la miniatura de una insignia, haz clic en el botón ⋯ y selecciona Copiar ID de Activo en el 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 o no a un jugador. Puedes habilitar o deshabilitar una insignia desde el formulario de Configurar Insignia en el Tablero del Creador.
Lo 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
end
Comprobar insignias ganadas
El siguiente script comprueba cuándo entra un jugador en el juego, y luego utiliza el método BadgeService:UserHasBadgeAsync() para verificar si ese jugador posee la insignia con el ID correspondiente establecido en la variable BADGE_ID. También puedes verificar la propiedad de la insignia en lotes usando el método BadgeService:CheckUserBadgesAsync().
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, emite una advertencia y sale 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 los eventos "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Obtener información sobre la insignia
Para obtener información sobre una insignia, como su descripción o el ID de activo del í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 insignialocal success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- Salida de la informaciónif success thenprint("Insignia:", result.Name)print("Habilitada:", result.IsEnabled)print("Descripción:", result.Description)print("Ícono:", "rbxassetid://" .. result.IconImageId)elsewarn("Error al obtener información de la insignia:", result)end