エンジンクラス
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)