요약
메서드
AwardBadge(userId: User,badgeId: number):boolean |
AwardBadgeAsync(userId: User,badgeId: number):boolean |
CheckUserBadgesAsync(userId: User,badgeIds: {any}):{any} |
GetBadgeInfoAsync(badgeId: number):Dictionary |
IsDisabled(badgeId: number):boolean |
UserHasBadge(userId: User,badgeId: number):boolean |
UserHasBadgeAsync(userId: User,badgeId: number):boolean |
상속된 멤버
API 참조
메서드
AwardBadge
AwardBadgeAsync
반환
코드 샘플
배지를 수여하기
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 0
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
local function onPlayerAdded(player)
awardBadge(player, BADGE_ID)
end
Players.PlayerAdded:Connect(onPlayerAdded)CheckUserBadgesAsync
반환
코드 샘플
배지를 일괄적으로 확인하기
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeIds = { 0000000000, 1111111111, 2222222222 } -- 이것을 당신의 배지 ID 목록으로 변경하세요
local function onPlayerAdded(player)
-- 플레이어가 배지를 소유하고 있는지 확인합니다
local success, result = pcall(function()
return BadgeService:CheckUserBadgesAsync(player.UserId, badgeIds)
end)
-- 오류가 발생하면 경고를 발행하고 함수를 종료합니다
if not success then
warn("플레이어", player.Name, "의 배지 확인 중 오류 발생:", result)
return
end
local ownedBadgeIds = result
if #ownedBadgeIds == 0 then
print(player.Name, "는 배지를 소유하지 않고 있습니다")
else
print(player.Name, "는 다음 배지를 소유하고 있습니다:", table.concat(ownedBadgeIds, ", "))
end
end
Players.PlayerAdded:Connect(onPlayerAdded)GetBadgeInfoAsync
매개 변수
코드 샘플
배지 정보 가져오기
local BadgeService = game:GetService("BadgeService")
-- 배지 정보 가져오기
local success, result = pcall(function()
return BadgeService:GetBadgeInfoAsync(00000000) -- 원하는 배지 ID로 변경하세요
end)
-- 정보 출력하기
if success then
print("배지:", result.Name)
print("활성화:", result.IsEnabled)
print("설명:", result.Description)
print("아이콘:", "rbxassetid://" .. result.IconImageId)
else
warn("배지 정보를 가져오는 중 오류 발생:", result)
endIsDisabled
IsLegal
UserHasBadge
UserHasBadgeAsync
반환
코드 샘플
획득한 배지 확인
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local badgeId = 00000000 -- 배지 ID를 여기에 변경하세요
local function onPlayerAdded(player)
-- 플레이어가 배지를 소유하고 있는지 확인하십시오
local success, hasBadge = pcall(function()
return BadgeService:UserHasBadgeAsync(player.UserId, badgeId)
end)
-- 오류가 발생하면 경고 메시지를 출력하고 함수를 종료합니다
if not success then
warn("플레이어가 배지를 소유하고 있는지 확인하는 중 오류 발생!")
return
end
if hasBadge then
-- 플레이어의 배지 소유권을 필요에 따라 처리합니다
print(player.Name, "는 배지를 소유하고 있습니다", badgeId)
end
end
-- "PlayerAdded" 이벤트를 "onPlayerAdded()" 함수에 연결합니다
Players.PlayerAdded:Connect(onPlayerAdded)