배지

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

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

Example badges in a player's inventory
플레이어의 인벤토리에 있는 예시 배지

배지 생성

보유각 경험에 대해 24시간(GMT) 무료로 최대 5개의 배지를 만들 수 있습니다.24시간 기간 내에 더 많은 것을 만들고 싶다면 각 추가 배지는 100 Robux 비용이 듭니다.

배지를 생성하려면:

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

  2. 경험의 썸네일 섬네일이동하고 버튼을 클릭하고 배지 생성 을 선택합니다.

  3. 생성 페이지에서 이미지 업로드 버튼을 클릭하고 배지의 아이콘으로 사용하려는 이미지를 선택하고 확인합니다.배지에 사용할 이미지를 생성할 때 팔로잉사항을 고려하십시오:

    • Use a template of 512×512 픽셀 템플릿을 사용합니다.

    • 업로드 프로세스는 배지 이미지를 원형 아이콘으로 잘라내고 자르기 때문에 원형 경계 밖에 중요한 세부 정보를 배치하지 마십시오.

      Good circular trimming
      Bad circular trimming
  4. 다음 필드를 완료하십시오:

    • 이름 — 배지의 타이틀.
    • 설명 — 플레이어가 배지를 획득하기 위해 수행할 수 있는 작업의 설명.
    • 배지가 활성화되었습니다 — 배지가 생성될 때 활성화될지 여부.비활성 배지는 경험의 메인 페이지에 있는 배지 섹션에 표시되지 않으며 플레이어가 획득할 수 없습니다.
  5. 클릭하십시오 배지 생성 버튼.새로운 배지는 크리에이터 대시보드의 참여 > 배지 섹션에 표시됩니다.새 배지가 활성화되면 경험의 메인 페이지에 있는 배지 섹션에도 표시됩니다.

    경험의 메인 페이지에 배지

배지 재정렬

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

배지 재정렬:

  1. 관련 경험으로 이동합니다.

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

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

    Badge reorder button
  4. 재정렬 페이지에서 배지를 원하는 순서로 끌어서 놓으세요.

    Badge drag-and-drop to reorder
  5. 이 순서를 저장하려면 저장 을 선택하십시오. 지정된 순서는 이제 경험 세부 정보 페이지에 나타납니다.

스크립트 배지

일반적인 배지 스크립트 워크플로에는 배지 수여 , 플레이어가 이전에 경험에서 배지를 획득했는지 확인하고, 배지 정보 가져오기 가 포함됩니다.

배지 ID 찾기

배지의 ID는 고유 식별자입니다. 배지를 플레이어에게 수여하는 워크플로를 구현할 때 이 ID가 필요합니다. 배지 수여와 같은 작업을 수행할 때.

  1. 크리에이터 대시보드에서 참여 아래에 있는 연관된 경험의 배지 섹션으로 이동합니다.On the 크리에이터 대시보드 , navigate to the 배지 section under 참여 .

  2. 배지의 썸네일 섬네일마우스를 이동하고 버튼을 클릭하고 컨텍스트 메뉴에서 자산 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 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