A 배지 는 플레이어가 경험 내에서 목표를 달성하거나 특정 시간 동안 플레이하는 등의 상황에서 선물할 수 있는 특별 상입니다.플레이어가 배지를 받으면 즉시 인벤토리의 배지 카테고리에 표시됩니다.

배지 생성
보유각 경험에 대해 24시간(GMT) 무료로 최대 5개의 배지를 만들 수 있습니다.24시간 기간 내에 더 많은 것을 만들고 싶다면 각 추가 배지는 100 Robux 비용이 듭니다.
배지를 생성하려면:
탐색하여 크리에이터 대시보드로 이동합니다.
경험의 썸네일 섬네일이동하고 ⋯ 버튼을 클릭하고 배지 생성 을 선택합니다.
생성 페이지에서 이미지 업로드 버튼을 클릭하고 배지의 아이콘으로 사용하려는 이미지를 선택하고 확인합니다.배지에 사용할 이미지를 생성할 때 팔로잉사항을 고려하십시오:
Use a template of 512×512 픽셀 템플릿을 사용합니다.
업로드 프로세스는 배지 이미지를 원형 아이콘으로 잘라내고 자르기 때문에 원형 경계 밖에 중요한 세부 정보를 배치하지 마십시오.
다음 필드를 완료하십시오:
- 이름 — 배지의 타이틀.
- 설명 — 플레이어가 배지를 획득하기 위해 수행할 수 있는 작업의 설명.
- 배지가 활성화되었습니다 — 배지가 생성될 때 활성화될지 여부.비활성 배지는 경험의 메인 페이지에 있는 배지 섹션에 표시되지 않으며 플레이어가 획득할 수 없습니다.
클릭하십시오 배지 생성 버튼.새로운 배지는 크리에이터 대시보드의 참여 > 배지 섹션에 표시됩니다.새 배지가 활성화되면 경험의 메인 페이지에 있는 배지 섹션에도 표시됩니다.
경험의 메인 페이지에 배지
배지 재정렬
배지가 처음 생성될 때, 배지 목록의 끝에 배치됩니다. 드래그 앤 드롭 인터페이스를 사용하여 최대 50개의 배지를 한 번에 재정렬할 수 있습니다.
배지 재정렬:
관련 경험으로 이동합니다.
참여 헤더 아래의 사이드 패널에서, 배지 페이지로 이동합니다.
재정렬 을 선택 하여 재정렬 페이지로 이동합니다.
재정렬 페이지에서 배지를 원하는 순서로 끌어서 놓으세요.
이 순서를 저장하려면 저장 을 선택하십시오. 지정된 순서는 이제 경험 세부 정보 페이지에 나타납니다.
스크립트 배지
일반적인 배지 스크립트 워크플로에는 배지 수여 , 플레이어가 이전에 경험에서 배지를 획득했는지 확인하고, 배지 정보 가져오기 가 포함됩니다.
배지 ID 찾기
배지의 ID는 고유 식별자입니다. 배지를 플레이어에게 수여하는 워크플로를 구현할 때 이 ID가 필요합니다. 배지 수여와 같은 작업을 수행할 때.
크리에이터 대시보드에서 참여 아래에 있는 연관된 경험의 배지 섹션으로 이동합니다.On the 크리에이터 대시보드 , navigate to the 배지 section under 참여 .
배지의 썸네일 섬네일마우스를 이동하고 ⋯ 버튼을 클릭하고 컨텍스트 메뉴에서 자산 ID 복사 를 선택합니다.
보상 배지
서버 사이드 BadgeService:AwardBadge()에서 Script 메서드를 호출하여 경험 내내 플레이어에게 배지를 수여할 수 있습니다.BadgeService:GetBadgeInfoAsync() 는 배지의 속성을 반환하며, 플레이어에게 배지를 수여할 수 있는지 여부를 확인하는 IsEnabled 을 포함합니다.크리에이터 대시보드의 배지 구성 폼에서 배지를 활성화하거나 비활성화할 수 있습니다.
다음은 플레이어에게 배지를 수여하는 안전한 함수의 예입니다.
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- 배지 정보 가져오기
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- 배지가 수여될 수 있는지 확인
if badgeInfo.IsEnabled then
-- 보상 배지
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
획득한 배지 확인
다음 스크립트는 플레이어가 경험에 들어갈 때 확인하고, 변수에서 메서드를 사용하여 해당 플레이어가 변수에서 일치하는 ID 로 배지를 소유하고 있는지 확인합니다.배치를 사용하여 배지 소유권을 확인할 수도 있습니다(BadgeService:CheckUserBadgesAsync() 메서드).
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("Error while checking if player has badge")
return
end
if hasBadge then
-- 필요에 따라 플레이어의 배지 소유권 처리
end
end
-- Connect "PlayerAdded" 이벤트를 "onPlayerAdded()" 함수에 연결
Players.PlayerAdded:Connect(onPlayerAdded)
배지 정보 가져오기
배지에 대한 정보(설명 또는 아이콘 자산 ID 등)를 가져오려면 BadgeService:GetBadgeInfoAsync() 방법에 배지 ID를 사용하십시오. 예를 들어:
local BadgeService = game:GetService("BadgeService")local BADGE_ID = 00000000 -- 이를 배지 ID로 변경-- 배지 정보 가져오기local success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- 정보 출력if 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