Insignias

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un emblema es un premio especial que puedes regalar a los jugadores cuando completan un objetivo dentro de tu experiencia, como completar un objetivo difícil o jugar por un cierto tiempo. Tan pronto como un jugador recibe un emblema, se muestra dentro de la emblemas categoría de su inventario.

Example badges in a player's inventory
Ejemplos de insignias en el inventario de un jugador

Creando Insignias

Puedes crear hasta 5 insignias gratis en un período de 24 horas (GMT) para 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 un emblema:

  1. Navegar al Panel del Creador .

  2. Ubique la experiencia asociada, haga clic en el en la esquina de su miniatura y seleccione Crear un emblema .

    Create Badge option from Creator Dashboard
  3. 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 íconodel emblema. Cuando crees una imagen para usar para un emblema, considera lo siguiendo:

    • Usa un modelo de 512×512 píxeles .

    • El proceso de subida recorta y ajusta el icono de la insignia a un ícono circular, por lo que evita poner detalles importantes fuera de los límites circulares.

      Good circular trimming
      Bad circular trimming
  4. 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 el emblema.
    • El emblema está habilitado — Si el emblema se habilitará cuando se cree. Los emblemas desactivados no se mostrarán en la sección emblemas de la página principal de la experiencia y no se pueden ganar por los jugadores.
  5. Haga clic en el botón Crear una insignia . La nueva insignia se muestra dentro de la sección ComportamientoInsignias en la página principal del 1>Creador1>. Si la nueva insignia está habilitada, también se mostrará debajo de la sección 4>Insignias4> de la página principal del experiencia.

    Insignia en la página principal de la experiencia

Insignias de Script

Los flujos de trabajo comunes de la industria incluyen otorgar insignias , verificar si un jugador ha obtenido previamente una insignia en tu experiencia y obtener información de la insignia .

Localizando ID de insignia

La ID de una emblemaes su identificador único. Necesitarás esta ID al implementar flujos de trabajo como otorgar el premio a un jugador.

  1. En la Crear página de inicio, navega a la sección Insignias de la experiencia asociada bajo Compromiso.

    Badges button indicated for an experience on the Creator Dashboard
  2. Haga clic en el botón para obtener una insignia y seleccione Copiar ID de activo .

Otorgando Insignias

Puedes otorgar insignias a los jugadores en toda tu experiencia al llamar el método BadgeService:AwardBadge() en un servidor-side Script . Class.BadgeService:GetBadgeInfoAsync()</

A continuación, se muestra 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
-- Confirmar que el emblema se puede otorgar
if badgeInfo.IsEnabled then
-- Otorgar emblema
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

Revisando las insignias ganadas

El siguiente script comprueba cuando cualquier jugador ingresa a la experiencia, luego usa el método BadgeService:UserHasBadgeAsync() para verificar si ese jugador posee el emblema con el ID de correspondencia establecido en la variable ADGE_ID . También puedes verificar la propiedad del emblema en lotes usando el método Class.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, emita un aviso y salga de la función
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- Manipula la propiedad de la insignia del jugador cuando sea necesario
end
end
-- Conecta los eventos "PlayerAdded" a la función "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Obteniendo información de la insignia

Para obtener información sobre una emblema, como su descripción o el ID de su icono, llame el 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)
-- Extrae la información
if success then
print("Badge:", result.Name)
print("Enabled:", result.IsEnabled)
print("Description:", result.Description)
print("Icon:", "rbxassetid://" .. result.IconImageId)
else
warn("Error while fetching badge info:", result)
end