Emblemas

Um emblema é uma recompensa especial que você pode oferecer aos jogadores quando eles cumprirem um objetivo dentro da sua experiência, como concluir um objetivo difícil ou jogar por um certo tempo. Assim que o jogador receber um emblema, ele é exibido na categoria Emblemas no inventário dele.

Criação de emblemas

Quando você criar uma imagem para usar no seu emblema, considere os seguintes requisitos:

  • Use um modelo de 512×512 pixels.
  • Salve a imagem em um dos seguintes formatos: .jpg, .png, .tga, ou .bmp.
  • Não inclua detalhes importantes fora dos limites, pois o processo de upload corta o emblema final numa imagem em formato de círculo.
Corte circular adequado
Corte circular inadequado

Você pode criar até 5 emblemas de graça em 24 horas (GMT) para cada experiência que você tiver. Se você quiser criar mais emplemas dentro do período de 24 horas, custa 100 Robux por emblema adicional.

Para criar um emblema:

  1. Navegue até o Painel de Criações.

  2. Clique na experiência para a qual deseja criar um Emblema. A Visão Geral da experiência é exibida.

  3. Do lado esquerdo da tela, selecione itens associados. A página Itens associados é exibida para essa experiência específica com a seção Emblemas aberta por padrão.

  4. Clique no botão CRIAR EMBLEMA. A página Criar um emblema é exibida.

  5. Clique no botão CARREGAR IMAGEM. Será exibido um navegador de arquivos.

  6. Selecione a imagem que deseja exibir como ícone e, em seguida, clique no botão Abrir.

  7. Preencha os seguintes campos:

    • Nome: um título para o seu emblema.
    • Descrição: uma descrição do que o jogador precisa fazer para ganhar o emblema.
  8. Clique no botão CRIAR EMBLEMA ou no botão Comprar por 100 Robux se você já criou 5 emblemas em 24 horas. O emblema é exibido dentro da seção Emblemas da página Itens associados, bem como a seção Emblemas da página principal da experiência.

Localização de IDs de emblema

Um ID de emblema é o identificador exclusivo de um emblema. Você precisa desse ID quando está fazendo scripting de emblemas.

Para localizar um ID de emblema:

  1. Navegue até a seção Emblemas de uma página de Itens Associados de uma experiência.

  2. Passe o mouse sobre a miniatura de um emblema e clique no botão . Um menu contextual é exibido.

  3. Selecione Copiar ID do ativo. O ID do emblema é copiado para a sua área de transferência.

Script de emblemas

Use scripts para dar e acompanhar os Emblemas nas suas experiências. Os casos comuns de script de emblema incluem a atribuição de emblemas, a verificação se o jogador já ganhou um emblema anteriormente na sua experiência e a obtenção de informações de um emblema.

Atribuição de emblemas

Você pode atribuir emblemas ao longo da sua experiência acionando a função BadgeService:AwardBadge() em um BadgeService:AwardBadge() do lado do servidor. Class. BadgeService:GetBadgeInfoAsync() devolve as propriedades do emblema, incluindo IsEnabled, que confirma se o emblema pode ou não ser atribuído ao jogador. Você pode acionar isso para verificar antes de atribuir um emblema.

O seguinte script contém um exemplo de uma função segura para atribuir emblemas aos jogadores.


local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- Fetch Badge information
local success, badgeInfo = pcall(BadgeService. GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- Confirm that badge can be awarded
if badgeInfo. IsEnabled then
-- Award badge
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
end
end

Verificar emblemas ganhos

O script a seguir verifica quando jogador entra na experiência e, em seguida, verifica se ele possui algum emblema com o ID correspondente definido na variável badgeID.


local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- Change this to your Badge ID
local function onPlayerAdded(player)
-- Check if the player has the Badge
local success, hasBadge = pcall(BadgeService. UserHasBadgeAsync, BadgeService, player. UserId, badgeID)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has Badge!")
return
end
if hasBadge then
-- Handle player's Badge ownership as needed
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
return
end
if hasBadge then
-- Handle player's Badge ownership as needed
end
end
-- Connect "PlayerAdded" events to the "onPlayerAdded()" function
Players.PlayerAdded:Connect(onPlayerAdded)

Obtenção de informações de emblema

Para obter informações sobre um emblema, como a sua descrição ou um ID de ativo de ícone, use a função Class. BadgeService:GetBadgeInfoAsync() com um badge ID. Por exemplo:


local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- Change this to your Badge ID
-- Fetch Badge information
local success, result = pcall(BadgeService. GetBadgeInfoAsync, BadgeService, BADGE_ID)
print(success, result)
-- Output the information
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