Insígnias

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Um emblema é um prêmio especial que você pode presentear os jogadores quando eles atingem um objetivo dentro de sua experiência, como completar um objetivo difícil ou jogar por um determinado tempo. Assim que um jogador receber um emblema, ele será exibido na categoria Emblemas do seu inventário.

Example badges in a player's inventory
Exemplos de insígnias no inventário de um jogador

Criando Insígnias

Você pode criar até 5 insígnias gratuitas em um período de 24 horas (GMT) para cada experiência que você possuir. Se você quiser criar mais dentro do período de 24 horas, cada insígnia adicional custa 100 Robux.

Para criar uma emblema:

  1. Navegue até o Painel do Criador.

  2. Localize a experiência associada, clique no no canto de sua miniatura e selecione Criar Badge .

    Create Badge option from Creator Dashboard
  3. Na página de criação, clique no botão Carregar Imagem e selecione/confirme a imagem que você deseja usar como ícone do emblema. Ao criar uma imagem para usar em um emblema, considere o seguindo:

    • Use a template of 512×512 pixels .

    • O processo de upload corta e ajusta a imagem do emblema em um ícone circular, para que você não coloque detalhes importantes fora dos limites circulares.

      Good circular trimming
      Bad circular trimming
  4. Complete os seguintes campos:

    • Nome — Um título para o emblema.
    • Descrição — Uma descrição do que o jogador pode fazer para ganhar o emblema.
    • O emblema está ativado — Se o emblema for ativado ou não quando for criado. Emblemas desativados não são mostrados na seção Emblemas da página principal da experiência e não podem ser ganhos por jogadores.
  5. Clique no botão Criar Badge. O novo badge será exibido na seção Engajamento → Badges na seção 2>Criador Dashboard2>. Se o novo badge for ativado, ele também será mostrado sob a seção 5>Badges5> da página principal da experiência.

    Emblema na página principal da experiência

Insígnias de Script

Os fluxos de trabalho de script de emblema comum incluem concedendo emblemas, verificando se um jogador já ganhou um emblema em sua experiência e obtendo informações de emblema.

Localizando IDs de Emblemas

O ID de um emblema é seu identificador exclusivo. Você precisará desse ID ao implementar fluxos de trabalho, como conceder o emblema a um jogador.

  1. Na Painel do Criador, navegue até a seção Emblemas da experiência associada sob Engajamento.

    Badges button indicated for an experience on the Creator Dashboard
  2. Clique no botão para uma insígnia e selecione Copiar ID do Recurso .

Atribuindo Insígnias

Você pode conceder insígnias aos jogadores em toda sua experiência ao chamar o método BadgeService:AwardBadge() em um Script do lado do servidor. BadgeService:GetBadgeInfoAsync()

A seguir, um exemplo de uma função segura para conceder insígnias aos jogadores.


local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Obter informações do emblema
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Confirme que a insígnia pode ser concedida
if badgeInfo.IsEnabled then
-- Award 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

Verificando Insígnias Ganhas

O seguinte script verifica quando qualquer jogador entra na experiência, então usa o método BadgeService:UserHasBadgeAsync() para verificar se esse jogador possui o emblema com o ID correspondente definido na variável ADGE_ID. Você também pode verificar a propriedade do emblema em lotes usando o método Class.BadgeService:CheckUserBadges


local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Altere isso para o seu ID de emblema
local function onPlayerAdded(player)
-- Verifique se o jogador possui o emblema
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- Se houver um erro, emita um aviso e saia da função
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- Gerencie a propriedade do emblema do jogador conforme necessário
end
end
-- Conecte eventos "PlayerAdded" à função "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)

Obtendo informações do emblema

Para obter informações sobre um emblema, como sua descrição ou ID do recurso de ícone, chame o método Class.BadgeService:GetBadgeInfoAsync() com um ID de emblema . Por exemplo:


local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Altere isso para o seu ID de emblema
-- Obter informações do emblema
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- Exibir a informação
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