徽章

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

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

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

創建徽章

您可以在每個擁有的遊戲中,每 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:GetUserBadgesAsync() 方法批量驗證徽章擁有權。

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,請使用 徽章 ID 調用 BadgeService:GetBadgeInfoAsync() 方法。例如:

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 是我們在美國及其他國家地區的部分註冊與未註冊商標。