徽章

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

A 徽章 是當玩家在您的遊戲中達成目標時,您可以贈送給他們的特殊獎勵,例如完成一個困難的任務或玩了一定的時間。當玩家獲得徽章時,徽章會顯示在他們的庫存中的徽章類別內。

玩家庫存中的徽章範例
玩家庫存中的徽章範例

創建徽章

您可以在每個擁有的遊戲中,每24小時(GMT)免費創建最多5個徽章。如果您想在24小時內創建更多,每個額外徽章需要100 Robux。

要創建徽章:

  1. 導航到 創作者儀表板

  2. 將鼠標懸停在遊戲的縮略圖上,點擊 按鈕,然後選擇 創建徽章

  3. 在創建頁面上,點擊 上傳圖片 按鈕,然後選擇/確認您想用作徽章圖標的圖片。創建徽章圖標時,請考慮以下事項:

    • 使用 512×512 像素 的模板。

    • 上傳過程中徽章圖片會裁剪成圓形圖標,因此請避免將重要的細節放在圓形邊界之外。

      良好的圓形裁剪
      不良的圓形裁剪
  4. 填寫以下字段:

    • 名稱 — 徽章的標題。
    • 描述 — 玩家獲得徽章所需的描述。
    • 徽章已啟用 — 徽章創建時是否啟用。禁用的徽章不會顯示在遊戲主頁的徽章部分,並且無法由玩家獲得。
  5. 點擊 創建徽章 按鈕。新的徽章將顯示在 創作者儀表板參與度徽章 部分中。如果新的徽章已啟用,則它也會顯示在遊戲主頁的徽章部分。

    遊戲主頁上的徽章

重新排序徽章

當徽章首次創建時,它將放置在徽章列表的末尾。您可以使用拖放界面一次重新排序最多50個徽章。

要重新排序徽章:

  1. 導航到相關的遊戲。

  2. 在側邊面板的參與度標題下,導航到徽章頁面。

  3. 選擇重新排序以導航到重新排序頁面。

    徽章重新排序按鈕
  4. 在重新排序頁面上,將徽章拖放到所需的順序中。

    徽章拖放以重新排序
  5. 選擇 保存 以保存此順序。指定的順序現在應顯示在遊戲詳細頁面上。

腳本徽章

常見的徽章腳本工作流包括 授予徽章、檢查玩家是否之前 獲得 遊戲中的徽章,以及 獲取徽章信息

找到徽章 ID

徽章的 ID 是其唯一標識符。您在實施工作流時需要這個 ID,例如 授予徽章 給玩家。

  1. 創作者儀表板 上,導航到相關遊戲的 徽章 部分,位於參與度下。

  2. 將鼠標懸停在徽章的縮略圖上,點擊 按鈕,並從上下文菜單中選擇 複製資產 ID

授予徽章

您可以通過在服務器端的 Script 中調用 BadgeService:AwardBadgeAsync() 方法,在遊戲中授予玩家徽章。BadgeService:GetBadgeInfoAsync() 返回徽章的屬性,包括 IsEnabled,它確認徽章是否可以授予玩家。您可以在 創作者儀表板徽章配置 表單中啟用或禁用徽章。

以下是一個安全的函數示例,用於授予玩家徽章。


local BadgeService = game:GetService("BadgeService")
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

檢查獲得的徽章

以下腳本在任何玩家進入遊戲時檢查,然後使用 BadgeService:UserHasBadgeAsync() 方法驗證該玩家是否擁有與變量 BADGE_ID 設定的 匹配 ID 的徽章。您還可以使用 BadgeService:CheckUserBadgesAsync() 方法批量驗證徽章擁有權。


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("檢查玩家是否擁有徽章時出錯")
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 then
print("徽章:", result.Name)
print("啟用:", result.IsEnabled)
print("描述:", result.Description)
print("圖標:", "rbxassetid://" .. result.IconImageId)
else
warn("獲取徽章信息時出錯:", result)
end
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。