跳轉到主要內容
本主題說明為何通常應該將欄位名稱 (而非欄位值) 新增至統計資料規則。

事件值會新增至統計資料名稱

統計資料範本功能強大且富有彈性,但若未正確設定,有時可能會產生非預期的結果。統計資料範本會建立可變的統計資料路徑,也就是統計資料執行個體。統計資料範本產生的統計資料名稱,是根據來源事件中所選欄位的名稱_與值_衍生出的變數。 這就是您擷取諸如玩家在每張地圖中賺取_多少_金幣之類資料的方式。 不只事件的_名稱_會新增至統計資料名稱,事件的_值_也會。這經常造成混淆與非預期的結果。

單一統計資料規則的範例

假設您的遊戲會傳送名為 GameEnd 的事件。此事件有一個名為 Map 的 int 欄位,以及一個名為 Gold 的 int 欄位。 若要使用單一統計資料規則依地圖擷取最高分,您可以為統計資料命名,例如 GoldByMap,並將 Map 欄位新增至統計資料規則。在此範例中,Map 值是數字 ID。 您的參數 (包含要用來遞增統計資料之值的欄位) 會是 GameEnd 事件上的 Gold 欄位。 假設您的遊戲將 GameEnd 事件傳送至 XBOX 服務。事件的 Map 欄位值為 1,Gold 欄位值為 100。 結果是統計資料會寫入統計資料路徑:GoldByMap.Map.1。此統計資料路徑的新值為 100。 下表顯示目前為止的內容。 統計資料路徑包含下表所示的部分。 如果下一個事件傳入的 Map 值為 2,該事件的 Gold 欄位會新增至新的統計資料路徑:GoldByMap.Map.2。 假設事件上的 Gold 欄位值為 200。 現在我們還會有下表所示的內容。 如此一來,您就可以將統計資料值分開保存,而不需要為每個 Map 定義一個統計資料。

誤將欄位名稱 (而非欄位值) 新增至統計資料規則的範例

沿用上一個範例,我們來看看如果您也將 Gold 欄位名稱新增至 Map 統計資料規則,而不是只新增 Gold 參數值,會發生什麼不良結果。這會產生下列統計資料名稱:GoldByMap.Map.1.Gold.100。 請注意,玩家賺取的金幣值 (100) 也出現在統計資料名稱中。 這表示在地圖 1 賺取 100 金幣的玩家,此統計資料的值會是 100:GoldByMap.Map.1.Gold.100。 如果玩家在該地圖賺取了 101 金幣,此設定會產生不同的統計資料名稱:GoldByMap.Map.1.Gold.101。結果是這些統計資料只有在玩家賺取統計資料名稱中所定義的特定金幣數量時才會遞增,而這很可能不是原本的用意。
最後修改於 2026年10月8日