Un distintivo mal es un premio especial que puedes regalar a los jugadores cuando cumplan un objetivo dentro de tu experiencia, como completar un objetivo difícil o jugar por una cierta cantidad de tiempo.Tan pronto como un jugador recibe una emblema, se muestra dentro de la categoría insignias de su inventario.

Crear insignias
Puedes crear hasta 5 insignias gratis en un período de 24 horas (GMT) por cada experiencia que en posesión.Si quieres crear más dentro del período de 24 horas, cada insignia adicional cuesta 100 Robux.
Para crear una emblema:
Navegue hasta el Panel del creador.
Pase el cursor sobre una miniatura de experiencia, haga clic en el botón ⋯ y seleccione Crear insignia .
En la página de creación, haz clic en el botón Subir imagen y luego selecciona/confirma la imagen que quieres usar como íconode la emblema.Al crear una imagen para usar en una emblema, tenga en cuenta lo siguiendo:
Usa una plantilla de 512×512 píxeles .
El proceso de subida 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 emblema.
- Descripción — Una descripción de lo que el jugador puede hacer para ganar la emblema.
- La insignia está habilitada — Si la insignia se habilitará o no cuando se cree.Las insignias deshabilitadas no se muestran en la sección Insignias de la página principal de la experiencia y no pueden ser ganadas por los jugadores.
Haga clic en el botón Crear insignia .La nueva insignia se muestra dentro de la sección de compromiso ⟩ insignias en el tablero de creación del creador.Si la nueva insignia está habilitada, también se mostrará en la sección insignias de la página principal de la experiencia.
Insignia en la página principal de la experiencia
Reordenar insignias
Cuando se crea un emblema por primera vez, se coloca al final de la lista de emblemas. Puedes reordenar hasta 50 emblemas a la vez usando la interfaz de arrastrar y soltar.
Para reordenar insignias:
Navegue a la experiencia asociada.
En el panel lateral debajo de la cabecera de compromiso , navegue hasta la página de insignias .
Seleccione Reorganizar para navegar a la página de reorganización.
En la página de reorganización, arrastra y suelta insignias en el orden preferido.
Seleccione Guardar para guardar este orden. El orden especificado debería aparecer ahora en la página de detalles de la experiencia.
Insignias de script
Los flujos de trabajo de escritura de insignias comunes incluyen otorgar insignias , verificar si un jugador ha ganado previamente una insignia en tu experiencia y obtener información de insignia .
Localizar ID de insignia
La identificación de un emblema es su identificador único. Necesitarás esta identificación al implementar flujos de trabajo como otorgar el emblema a un jugador.
En el tablero de creación del creador, navegue por la sección insignias de la experiencia asociada bajo compromiso .
Pase el cursor sobre la miniatura de un emblema, haga clic en el botón ⋯ y seleccione Copiar ID de activo del menú contextual.
Insignias de premio
Puedes otorgar insignias a los jugadores a lo largo de tu experiencia llamando al método BadgeService:AwardBadge() en un lado del servidor Script.BadgeService:GetBadgeInfoAsync() devuelve las propiedades de la emblema, incluyendo IsEnabled que confirma si la insignia se puede otorgar o no a un jugador.Puedes habilitar o deshabilitar una insignia desde el formulario Configurar insignia en el tablero de creación 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(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Confirma que se puede otorgar la insignia
if badgeInfo.IsEnabled then
-- emblemade premio
local awarded, errorMessage = pcall(BadgeService.AwardBadge, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Error while awarding badge:", errorMessage)
end
end
else
warn("Error while fetching badge info!")
end
end
Compruebe las insignias ganadas
El siguiente script comprueba cuando cualquier jugador ingresa a la experiencia, luego usa el método para verificar si ese jugador posee la insignia con el ID coincidente establecido en la variable >.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)
-- Compruebe si el jugador tiene la emblema
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Si hay un error, emite una advertencia y sal de la función
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- Manipule la propiedad de la insignia del jugador según sea necesario
end
end
-- Conecta eventos "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
Obtener información de la insignia
Para obtener información sobre una emblema, como su descripción o ID de recurso de icono, llame al método 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)-- Imprimir la informaciónif success thenprint("Badge:", result.Name)print("Enabled:", result.IsEnabled)print("Description:", result.Description)print("Icon:", "rbxassetid://" .. result.IconImageId)elsewarn("Error while fetching badge info:", result)end