Steamworks ドキュメンテーション
Steamインベントリアイテムタグ
アイテムタグを使用すると、Steamが、インベントリやマーケット検索ビューを含むアイテムの「詳細なフィルタ」
ダイアログをユーザーに表示することができます。 プレイヤーは特定の希少性のあるアイテムや、自分のキャラクタークラスに合ったアイテムのみに、表示を簡単に絞り込むことができます。

inventory_tag_filtering.png
タグを使用するには、まず最初にアイテム定義内にカテゴリーとタグを直接定義して、
次にユーザーに表示されるローカライズされた文字列を、英語およびあなたがサポートする予定のその他の言語で提供します。 英語にローカライズされた文字列が 1 つもない場合、
そのタグはインベントリ機能で無視されます。

アイテム定義内で使用する値は、短くてシンプルなテキストトークンです。 これらのトークンは、各言語のローカライズされた文字列を識別するキーとして使用されます。 トークンがユーザーに直接表示されることはありません。

アイテムタグのローカライゼーション

アイテムのタグを定義した後、ユーザーに表示するには、ユーザーが読むことのできるテキストを少なくとも英語で、
可能であればサポートするすべての言語で提供する必要があります。 これは、アプリケーションのインベントリサービスページ内での 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"

アイテムごとのタグ


アイテムが generatorplaytimegenerator、または bundleから作成される場合、タグを割り当てることができ、その設定はアイテムの所有者が変わっても維持されます。

これらのタグは他のアイテム属性と共にSteam クライアントに自動的に送信され、プロパティ名 "tags" で ISteamInventory::GetResultItemProperty() を呼び出すことで取得できます。 タグは提供された文字列バッファ内に返され、;で区切られます。

タグを割り当てる簡単な方法は、アイテム定義の生成時に定義することです -- 基本的に generator または playtimegenerator アイテム定義の tags フィールドの内容は、作成されるすべてのアイテムにまとめてコピーされます。


Generator A は 10% の確率で Generator Legendary からのアイテムを生成し、90% の確率で Generator Common からのアイテムを生成します。 Generator A はまた、赤色の color:red タグを適用する可能性もあります。 Generator Legendary は quality:legendary タグを適用して剣や盾のアイテムを作成し、その一方で、Generator Common も 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 アイテム定義タイプを使用することです。 この特別なアイテム定義 (実際にアイテムは生成しない) では、選択するタグのセットとその確率を定義します。 generatorplaytimegenerator または bundle アイテム定義内で、 tag_generators フィールドにすべてのタグジェネレータのアイテム定義 Id を指定する必要があります。 これらのタグジェネレータは、派生するすべてのアイテムにも適用されます。

タグジェネレータの例


Generator A は剣または盾を作成し、color:red タグを適用します。その後、Tag Generator Quality および Tag Generator FX をその新アイテムに適用します。 Tag Generator Quality は 10% の確率で quality:legendary タグを追加し、90% の確率で quality:common タグを適用します。 Tag Generator FX は、fx:flamesfx:sparks または fx:lasers を同じ確率で適用します。 最終的に「Legendary Red Shield with Flame (レジェンダリーの炎付き赤い盾)」や「Common Red Sword with 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_name フィールド、および tag_generator_values フィールドの定義が必要です。

tag_generator_name フィールドは、上記で定義したカテゴリトークンと同じです。

tag_generator_values フィールドは、「;」で区切られた tag_token:chance のリストです。 確率が省略された場合、デフォルトで 1 が設定されます。