배지

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

A 배지는 사용자가 게임 내에서 어려운 목표를 완료하거나 특정 시간 동안 플레이하는 등의 목표를 달성했을 때 선물할 수 있는 특별한 상입니다. 사용자가 배지를 받으면, 해당 배지는 그들의 인벤토리의 배지 카테고리 내에 표시됩니다.

플레이어의 인벤토리에 있는 배지 예시
플레이어의 인벤토리에 있는 배지 예시

배지 만들기

각 게임에 대해 24시간(그리니치 표준시) 동안 무료로 최대 5개의 배지를 만들 수 있습니다. 24시간 이내에 더 많은 배지를 만들고 싶다면, 추가 배지 하나당 100 로벅스가 필요합니다.

배지를 만들려면:

  1. 크리에이터 대시보드로 이동합니다.

  2. 게임의 썸네일 위에 마우스를 올리고, 버튼을 클릭한 후 배지 만들기를 선택합니다.

  3. 생성 페이지에서 이미지 업로드 버튼을 클릭한 후 배지 아이콘으로 사용할 이미지를 선택/확인합니다. 배지에 사용할 이미지를 만들 때는 다음 사항을 고려하세요:

    • 512×512 픽셀의 템플릿을 사용합니다.

    • 업로드 과정에서 배지 이미지는 원형 아이콘으로 잘리므로, 중요한 세부 사항이 원형 경계 밖에 위치하지 않도록 주의하세요.

      좋은 원형 잘림
      나쁜 원형 잘림
  4. 다음 필드를 작성합니다:

    • 이름 — 배지의 제목.
    • 설명 — 플레이어가 배지를 얻기 위해 할 수 있는 일에 대한 설명.
    • 배지 활성화 — 배지가 생성될 때 활성화될지 여부. 비활성화된 배지는 게임의 메인 페이지의 배지 섹션에 표시되지 않으며, 플레이어가 획득할 수 없습니다.
  5. 배지 만들기 버튼을 클릭합니다. 새 배지는 크리에이터 대시보드참여배지 섹션에 표시됩니다. 새 배지가 활성화되면, 게임의 메인 페이지의 배지 섹션에도 표시됩니다.

    게임의 메인 페이지에 있는 배지

배지 재정렬

배지가 처음 생성되면, 배지 목록의 끝에 배치됩니다. 드래그 앤 드롭 인터페이스를 사용하여 한 번에 최대 50개의 배지를 재정렬할 수 있습니다.

배지를 재정렬하려면:

  1. 관련 게임으로 이동합니다.

  2. 사이드 패널의 참여 헤더 아래에서 배지 페이지로 이동합니다.

  3. 재정렬을 선택하여 재정렬 페이지로 이동합니다.

    배지 재정렬 버튼
  4. 재정렬 페이지에서 배지를 원하는 순서로 드래그 앤 드롭합니다.

    배지 드래그 앤 드롭으로 재정렬
  5. 저장을 선택하여 이 순서를 저장합니다. 지정된 순서는 이제 게임 세부 정보 페이지에 표시되어야 합니다.

스크립트 배지

일반적인 배지 스크립팅 워크플로우에는 배지 수여, 플레이어가 이전에 획득한 배지를 확인하는 것, 그리고 배지 정보 가져오기가 포함됩니다.

배지 ID 찾기

배지의 ID는 고유 식별자입니다. 이 ID는 플레이어에게 배지를 수여하는 워크플로우를 구현할 때 필요합니다.

  1. 크리에이터 대시보드에서 관련 게임의 배지 섹션으로 이동합니다.

  2. 배지의 썸네일 위에 마우스를 올리고, 버튼을 클릭한 후 컨텍스트 메뉴에서 자산 ID 복사를 선택합니다.

배지 수여

게임 전반에 걸쳐 플레이어에게 배지를 수여하려면 서버 측 Script에서 BadgeService:AwardBadgeAsync() 메서드를 호출합니다. BadgeService:GetBadgeInfoAsync()는 배지의 속성을 반환하며, 여기에는 배지를 플레이어에게 수여할 수 있는지 여부를 확인하는 IsEnabled가 포함됩니다. 배지는 크리에이터 대시보드배지 구성 양식에서 활성화하거나 비활성화할 수 있습니다.

다음은 플레이어에게 배지를 수여하기 위한 안전한 함수의 예입니다.

local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- 배지 정보 가져오기
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- 배지를 수여할 수 있는지 확인
if badgeInfo.IsEnabled then
-- 배지 수여
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("배지 수여 중 오류 발생:", errorMessage)
end
end
else
warn("배지 정보 가져오는 중 오류 발생: " .. badgeInfo)
end
end

획득한 배지 확인

다음 스크립트는 플레이어가 게임에 들어올 때마다 확인한 후, BadgeService:UserHasBadgeAsync() 메서드를 사용하여 해당 플레이어가 변수 BADGE_ID에 설정된 일치하는 ID를 가진 배지를 소유하고 있는지 확인합니다. BadgeService:GetUserBadgesAsync() 메서드를 사용하여 배지 소유권을 일괄적으로 확인할 수도 있습니다.

local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- 이 값을 배지 ID로 변경하세요
local function onPlayerAdded(player)
-- 플레이어가 배지를 가지고 있는지 확인
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- 오류가 발생하면 경고를 발행하고 함수를 종료
if not success then
warn("플레이어가 배지를 가지고 있는지 확인하는 중 오류 발생")
return
end
if hasBadge then
-- 필요에 따라 플레이어의 배지 소유권 처리
end
end
-- "PlayerAdded" 이벤트를 "onPlayerAdded()" 함수에 연결
Players.PlayerAdded:Connect(onPlayerAdded)

배지 정보 가져오기

배지에 대한 정보(설명 또는 아이콘 자산 ID 등)를 가져오려면, 배지 ID와 함께 BadgeService:GetBadgeInfoAsync() 메서드를 호출합니다. 예를 들어:

local BadgeService = game:GetService("BadgeService")
local BADGE_ID = 00000000 -- 이 값을 배지 ID로 변경하세요
-- 배지 정보 가져오기
local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)
-- 정보 출력
if success then
print("배지:", result.Name)
print("활성화됨:", result.IsEnabled)
print("설명:", result.Description)
print("아이콘:", "rbxassetid://" .. result.IconImageId)
else
warn("배지 정보 가져오는 중 오류 발생:", result)
end
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.