概要
方法
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)