エンジンクラス
BadgeService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
概要
方法
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)