アイテムタグを使用すると、Steamが、インベントリやマーケット検索ビューを含むアイテムの「詳細なフィルタ」
ダイアログをユーザーに表示することができます。 プレイヤーは特定の希少性のあるアイテムや、自分のキャラクタークラスに合ったアイテムのみに、表示を簡単に絞り込むことができます。
タグを使用するには、まず最初にアイテム定義内にカテゴリーとタグを直接定義して、
次にユーザーに表示されるローカライズされた文字列を、英語およびあなたがサポートする予定のその他の言語で提供します。 英語にローカライズされた文字列が 1 つもない場合、
そのタグはインベントリ機能で無視されます。
アイテム定義内で使用する値は、短くてシンプルなテキストトークンです。 これらのトークンは、各言語のローカライズされた文字列を識別するキーとして使用されます。 トークンがユーザーに直接表示されることはありません。
アイテムタグのローカライゼーション
アイテムのタグを定義した後、ユーザーに表示するには、ユーザーが読むことのできるテキストを少なくとも英語で、
可能であればサポートするすべての言語で提供する必要があります。 これは、アプリケーションの
インベントリサービスページ内での Steamworks 設定の一部として設定可能です。
アイテムタグのフォーマット
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"
アイテムごとのタグ
アイテムが
generator
、
playtimegenerator
、または
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
アイテム定義タイプを使用することです。 この特別なアイテム定義 (実際にアイテムは生成しない) では、選択するタグのセットとその確率を定義します。
generator
、
playtimegenerator
または
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:flames
、
fx: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 が設定されます。