Steamworks 文獻庫
Steam 物品庫物品標籤
利用物品標籤,Steam 便可向使用者顯示「進階篩選」的對話方塊,在物品庫
與市場搜尋檢視中皆可使用。 玩家可以迅速將檢視收縮至特定稀有度,或僅適用於特定角色種類的物品。

inventory_tag_filtering.png
使用標籤之前,須先在物品定義中設定類型與標籤,然後提供供使用者閱讀的
英文以及您計畫支援的語言的在地化字串。 標籤必須至少有
英語的字串,否則將被物品庫功能忽略。

物品定義中的值應為簡短的文字權杖, 用來當作分辨各語言在地化字串的索引碼。 權杖不會直接出現在使用者眼前。

物品標籤在地化

為物品定義標籤之後,您必須提供給使用者閱讀的標籤翻譯。
至少需要翻譯成英文,但最好有所有支援的語言。 您可在 Steamworks 設定中,於應用程式的物品庫服務頁面進行設定。

inventory_tag_localize.png

物品標籤格式

tag 欄位應為分類後的權杖列表,由「;」分隔。
每個權杖皆包含類型權杖和值權杖,由「:」分隔。

<tag_list>: <tag_pair> { ";" <tag_pair> } <tag_pair>: <category_token> ":" <tag_token>

物品標籤範例

"tags":"class:elf;farms:potato;rarity:legendary;type:character;handed:ambi" ... "tags":"class:troll;farms:gold;rarity:common;type:character;handed:left"

物品別標籤


generatorplaytimegeneratorbundle 建立一項物品時,您可以指定標籤,在物品的整段使用期間都適用,而且不會因為所有權的轉換而變更。

這些標籤與其他的物品屬性會自動傳送至 Steam 用戶端,使用「tag」的屬性名稱呼叫 ISteamInventory::GetResultItemProperty() 即可取得。 標籤則會隨同所產生的字串緩衝區傳回,以「;」分隔。

指定標籤的一個簡易方法,是在物品定義產生的階段指定——基本上,在 generatorplaytimegenerator 物品定義的 tags 欄位中的所有定義皆可全面複製到任何新建立的物品。

範例


A 產生器(Generator A)有 10% 的機率從傳奇產生器(Generator Legendary)建立物品,另外 90% 的機率則是從普通產生器(Generator Common)建立 。 A 產生器剛好也套用了 color:red 標籤。 傳奇產生器會套用 quality:legendary 標籤,建立劍或是盾牌等物品,而普通產生器則是套用 quality:common 標籤,並且也會建立劍或是盾牌等物品。

itemdefid: 10 type: item name: Sword itemdefid: 11 type: item name: Shield itemdefid: 100 type: generator name: Generator A bundle: 101x1;102x9 tags: color:red itemdef: 101 type: generator name: Generator Legendary bundle: 10;11 tags: quality:legendary itemdef: 102 type: generator name: Generator Common bundle: 10;11 tags: quality:common

另一個指定標籤的方法,是使用 tag_generator 物品定義類型。 在此特定的物品定義中(並不會產生物品),您可以定義一組可選取的標籤以及它們產生的概率。 在 generatorplaytimegeneratorbundle 物品定義中,使用所有標籤產生器的物品定義 ID 來設定 tag_generators 欄位。 這些標籤產生器將會套用於所有下游物品。

標籤產生器範例


A 產生器將建立一把劍或是一面盾牌,套用 color:red 標籤,然後將品質標籤產生器(Tag Generator Quality)和特效標籤產生器(Tag Generator FX)套用於新的物品。 品質標籤產生器有 10% 的機率加上 quality:legendary 標籤,套用 quality:common 標籤的機率則是 90%。 特效標籤產生器套用 fx:flamesfx:sparksfx:lasers 等標籤的機率是相同的。 最後您便可能得到「傳奇火焰紅盾」或是「普通雷射紅劍」。

itemdefid: 10 type: item name: Sword itemdefid: 11 type: item name: Shield itemdefid: 100 type: generator name: Generator A bundle: 10;11 tags: color:red tag_generators: 101;102 itemdefid: 101 type: tag_generator name: Tag Generator Quality tag_generator_name: quality tag_generator_values: legendary:1;common:9 itemdefid: 102 type: tag_generator name: Tag Generator FX tag_generator_name: fx tag_generator_values: flames;sparks;lasers

tag_generators 欄位的格式是一個列表,列出您欲套用的所有標籤產生器的物品定義 ID,以「;」分隔。

至於 tag_generator 物品定義,您需要定義 tag_generator_nametag_generator_values 兩個欄位。

tag_generator_name 欄位和上方定義的類型權杖是相同的。

tag_generator_values 欄位為 tag_token:chance 的列表,以「;」分隔。 若省略機率,預設值為 1。