배지는 플레이어가 경험 내에서 목표를 달성할 때 플레이어에게 줄 수 있는 특별한 보상입니다. 플레이어가 배지를 받을 때, 배지는 인벤토리의 배지 카테고리에 표시됩니다.
배지 생성
24시간(GMT) 기간 동안 무료로 최대 5개의 배지를 만들 수 있습니다. 24시간 기간 동안 더 많은 배지를 만들려면 각 추가 배지마다 100 Robux입니다.
배지를 만들려면:
크리에이터 대시보드로 moves.
연관된 경험을 찾고, 썸네일의 섬네일있는 ⋯ 버튼을 클릭하고, 배지 생성을 선택합니다.
생성 페이지에서 이미지 업로드 버튼을 클릭한 다음 배지 아이콘으로 사용할 이미지를 선택/확인하십시오. 배지를 생성하려면 팔로잉고려하십시오.
Use a template of 512×512 픽셀 .
업로드 과정에서 배지 이미지를 원형 아이콘으로 트리밍하고 자르기 때문에 원형 경계 밖에 중요한 세부 사항을 넣지 마십시오.
다음 필드를 완료하세요:
- 이름 — 배지의 타이틀.
- 설명) — 플레이어가 배지를 획득하도록 할 수 있는 일의 설명.
- 배지가 활성화되었습니다 — 배지가 생성될 때 배지가 활성화되는지 여부를 설정합니다. 배지가 비활성화되면 경험 메인 페이지의 배지 섹션에 표시되지 않으며 플레이어가 획득할 수 없습니다.
클릭하십시오 배지 생성하기 버튼. 새로운 배지는 영입 → 배지 섹션에 표시됩니다. 새로운 배지가 활성화되면 경험의 메인 페이지에 표시됩니다.
스크립트 배지
일반적인 배지 스크립트 워크플로에는 다음이 포함됩니다 배지 보상, 플레이어가 이전에 배지를 획득했는지 확인하고, 배지 정보를 가져오는 등이 있습니다.
배지 ID 찾기
배지의 ID는 고유한 식별자입니다. 배지 수여와 같은 워크플로를 플레이어에게 구현할 때 이 ID가 필요합니다.
크리에이터 대시보드에서 배지 섹션으로 연결된 경험의 배지 섹션을 탐색하십시오.
배지에 대한 ⋯ 버튼을 클릭하고 자산 ID 복사를 선택합니다.
배지 수여
서버 사이드 BadgeService:AwardBadge() 에서 Script 메서드를 호출하여 플레이어에게 배지를 수여하십시오. Class.BadgeService:GetBadge
다음은 플레이어에게 배지를 수여하는 안전한 함수의 예입니다.
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
획득한 배지 확인
다음 스크립트는 플레이어가 경험에 들어갈 때 확인하고 BadgeService:UserHasBadgeAsync() 메서드를 사용하여 해당 플레이어가 변수 Badge_ID 에 설정된 일치하는 ID로 배지를 소유하고 있는지 확인합니다.
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
-- PlayerAdded 이벤트를 "onPlayerAdded()" 함수에 연결하십시오
Players.PlayerAdded:Connect(onPlayerAdded)
배지 정보 얻기
배지, 설명 및 아이콘 자산 ID와 같은 배지에 대한 정보를 가져오려면 BadgeService:GetBadgeInfoAsync() 메서드를 호출하십시오. 예를 들어:
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