学习
引擎类
BadgeService
无法创建
服务

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处


概要
方法
AwardBadge(userId: User,badgeId: number):boolean
已弃用
IsDisabled(badgeId: number):boolean
已弃用
IsLegal(badgeId: number):boolean
已弃用
UserHasBadge(userId: User,badgeId: number):boolean
已弃用
继承成员

API 参考
方法
AwardBadge
已弃用

AwardBadgeAsync
暂停
功能: AssetManagement
BadgeService:AwardBadgeAsync(
userId:User, badgeId:number
参数
userId:User
badgeId:number
返回
代码示例
授予徽章
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
暂停
功能: AssetManagement
BadgeService:CheckUserBadgesAsync(
userId:User, badgeIds:{any}
参数
userId:User
badgeIds:{any}
返回
代码示例
批量检查获得的徽章
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
暂停
功能: AssetManagement
BadgeService:GetBadgeInfoAsync(badgeId:number):Dictionary
参数
badgeId:number
代码示例
获取徽章信息
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)
end

IsDisabled
已弃用

IsLegal
已弃用

UserHasBadge
已弃用

UserHasBadgeAsync
暂停
功能: AssetManagement
BadgeService:UserHasBadgeAsync(
userId:User, badgeId:number
参数
userId:User
badgeId:number
返回
代码示例
检查已获得的勋章
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)

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。