バッジは、プレイヤーがエクスペリエンス内の目標に到達すると、プレゼントする特別な報酬です。たとえば、難しい目標を完了するか、特定の期間プレイするなど、プレイヤーがバッジを受け取ると、インベントリの バッジ カテゴリに表示されます。
バッジの作成
24時間(GMT)の期間に無料で最大5つのバッジを作成できます。24時間(GMT)以内に作成するバッジは、100 Robuxごとに 100 Robux の追加費用がかかります。
バッジを作成するには:
ナビゲート to the クリエイターダッシュボード。
関連するエクスペリエンスを探し、サムネイルの隅にある ⋯ をクリックし、バッジを作成する を選択します。
クリエートページで、 画像をアップロードする ボタンをクリックし、バッジのアイコンとして使用する画像を選択/確認します。バッジを作成するときは、フォロー中のことを考慮してください:
Use a template of 512×512ピクセル .
アップロードプロセスは、バッジ画像を円形のアイコンにトリミングおよびトリミングするため、円形の境界の外に重要な詳細を入れないでください。
次のフィールドに記入してください:
- 名前 — バッジのタイトル。
- 説明 — プレイヤーがバッジを獲得するためにできることの説明。
- バッジが有効化されましたかどうか — バッジが有効化されるかどうかは、バッジが作成されるときに有効化されるかどうかにかかります。有効化されていないバッジは、エクスペリエンスのメインページの バッジ セクションの下に表示され、プレイヤーには獲得できません。
クリックする ボタン 。新しいバッジは、 エンゲージメント → バッジ セクションの 1>クリエイターダッシュボード1> 内の表示に表示されます。新しいバッジが有効になっている場合、メインページの4>バッジ4>セクションの下
スクリプトバッジ
コモンバッジスクリプトワークフローには、バッジを授与する、プレイヤーがエクスペリエンスで以前に 獲得 したバッジをチェックし、バッジ情報を取得などがあります。
バッジID を見つける
バッジのIDは、そのユニークな識別子です。バッジをプレイヤーに授与するなどのワークフローを実装するときに必要になります。
On the クリエイターダッシュボード , navigate to the associates' experience's バッジ section under エンゲージメント .
クリックする⋯ボタンでバッジを入手し、アセット ID をコピー を選択します。
バッジを授与する
サーバー側の BadgeService:AwardBadge() で Script メソッドを呼び出すと、バッジをプレイヤーに授与できるかどうかを含むバッジのプロパ
以下は、プレイヤーにバッジを授与するための安全な関数の例です。
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- バッジ情報を取得する
local success, badgeInfo = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, badgeId)
if success then
-- バッジを授与できることを確認
if badgeInfo.IsEnabled then
-- アワードバッジ
local awarded, errorMessage = pcall(BadgeService.AwardBadge, BadgeService, player.UserId, badgeId)
if not awarded then
warn("Error while awarding badge:", errorMessage)
end
end
else
warn("Error while fetching badge info!")
end
end
獲得したバッジをチェック
次のスクリプトは、任意のプレイヤーがエクスペリエンスに入ったときにチェックし、BadgeService:UserHasBadgeAsync() メソッドを使用して、そのプレイヤーがバッジを所有しているかどうかを確認します。BadGE_ID 変数に設定され
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- 変更このをバッジ ID に
local function onPlayerAdded(player)
-- プレイヤーがバッジを持っているかどうかをチェック
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- エラーが発生した場合、警告を発行し、関数を終了します
if not success then
warn("Error while checking if player has badge")
return
end
if hasBadge then
-- 必要に応じてプレイヤーのバッジ所有済みを取り扱う
end
end
-- 「PlayerAdded」イベントを「onPlayerAdded()」関数に接続する
Players.PlayerAdded:Connect(onPlayerAdded)
バッジ情報を取得する
バッジの説明やアイコンアセット ID などの情報を取得するには、BadgeService:GetBadgeInfoAsync() メソッドを呼び出し、バッジ ID を含む。たとえば:
local BadgeService = game:GetService("BadgeService")local BADGE_ID = 00000000 -- 変更このをバッジ ID に-- バッジ情報を取得するlocal success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- 情報を出力するif success thenprint("Badge:", result.Name)print("Enabled:", result.IsEnabled)print("Description:", result.Description)print("Icon:", "rbxassetid://" .. result.IconImageId)elsewarn("Error while fetching badge info:", result)end