ItemDefスキーマ概要
コアスキーマとアイテムタイプ
以下のコアプロパティはSteamによって理解・解釈され、エコノミー、トレード、インベントリ表示を正しく動作させるために必要です。 これらのプロパティの多くは
ISteamEconomy/GetAssetClassInfo Web APIで返されるものと同じです。
ItemDefは以下のタイプのいずれかである必要があります。
| 名前 | 説明 |
| item | プレイヤーのインベントリ内にあるアイテムタイプ |
| bundle | 各タイプに関連するquantity(数量)を備えたItemDefの集合を表します。 このアイテムが付与されるとbundleプロパティ内に設定された一連のアイテムへと自動的に展開されます。 |
| generator | ランダムアイテムを表します。 このアイテムを付与すると、bundleプロパティから1つのアイテムタイプをランダムに選択して、そのタイプのインスタンスを作成します (例えば、宝箱が解除されたときに受け取る可能性のあるアイテムが1つ作成されます)。 |
| playtimegenerator | これは特別な形式のgeneratorで、アプリケーションからのISteamInventory::TriggerItemDrop呼び出しによって付与されます。 |
| tag_generator | アイテムインスタンスにタグを適用する特別なアイテム定義(詳細はSteamインベントリアイテムタグを参照)。 |
複雑なアイテムタイプの指定に関する詳細は、
以下をご覧ください。
ItemDefプロパティ
| 名前 | 説明 |
| appid | アプリケーションID |
| name | アイテムの英語名。 アイテムにローカライズされた名前を付ける際は、以下の例を参考にしてください: name_english: "Hat"
name_french: "Chapeau"
サフィックスに使用可能な言語名については、ローカリゼーションと言語をご覧ください。 |
| description | アイテムの英語の説明。 アイテムにローカライズされた説明を付ける際は、以下の例を参考にしてください。 description_english: "This is a tall hat"
description_french: "Ceci est un chapeau haut de forme"
サフィックスに使用可能な言語名については、ローカリゼーションと言語をご覧ください。 |
| display_type | アイテム「タイプ」の英語の説明。 アイテムのタイプのローカライズされたバージョンを提供する際は、以下の例を参考にしてください。 display_type_english: "Weapon"
display_type_french: "Arme"
サフィックスに使用可能な言語名については、ローカリゼーションと言語をご覧ください。 |
| itemdefid | このItemDefのID。 ワークショップアイテムでない場合、これは1,000,000未満かつ2,147,483,647より小さい値である必要があります。 |
| type | 内部値 ('item' | 'bundle' | 'generator' | 'playtimegenerator' | 'tag_generator')。 |
| bundle | (bundleまたはgeneratorアイテムを参照) |
| promo | (以下のプロモーションフォーマットを参照) |
| drop_start_time | UTC timestamp-この時間より前のプロモーションの付与を防ぎます。Promo = manualのときのみ適用可能。(以下のプロモーションフォーマットを参照) |
| exchange | (以下のexchangeフォーマットを参照) |
| price | (以下のpriceフォーマットを参照) |
| price_category | 弊社がさまざまな通貨値を取り扱うためのプリセット価格。 (以下のpriceフォーマットを参照) |
| background_color | インベントリの背景に表示する色で、6桁の16進数です。 |
| name_color | インベントリで名前を表示する色で、6桁の16進数です。 |
| icon_url | アイテムの小アイコンへのURL。 Steamサーバーがダウンロードしてキャッシュできるように、URLは全体に公開される必要があります。 これらの画像は、アクセス可能な状態を維持できるように、共有画像ホスティングサイトからではなく、独自の公開Webサーバーからホストすることを推奨します。 推奨サイズは200 x 200です。 |
| icon_url_large | アイテムの大きな画像へのURL。 Steamサーバーがダウンロードしてキャッシュできるように、URLは全体に公開される必要があります。 これらの画像は、アクセス可能な状態を維持できるように、共有画像ホスティングサイトからではなく、独自の公開Webサーバーからホストすることを推奨します。 推奨サイズは2048 x 2048です。 |
| marketable | false / trueの値をとり、 コミュニティマーケットでこのアイテムを他のユーザーに販売できるかどうかを示します。 |
| tradable | false / trueの値をとり、 Steamトレーディングでこのアイテムを他のユーザーとトレードできるかどうかを示します。 |
| tags | (Steamインベントリアイテムタグを参照) |
| tag_generators | 適用するtag_generatorアイテム定義IDのリスト(Steamインベントリアイテムタグを参照) |
| tag_generator_name | タグカテゴリートークン名 (Steamインベントリアイテムタグを参照) |
| tag_generator_values | タグの値、および選択される確率(Steamインベントリアイテムタグを参照) |
| container_contents_generator | アイテムの説明に表示される、このアイテムの内容を表すタイプ「generator」を持つアイテムのitemdefid。 たとえば、このアイテムがクレートを表す場合、このフィールドは、クレートに含まれるアイテムの生成に対応するgeneratorに設定できます。 これにより、アイテムの説明にドロップされる可能性のあるアイテムが、ドロップされる確率が最も高い順に表示されます。 bundleまたはgeneratorアイテムのセクションを参照してください。 |
| store_tags | セミコロン「;」で区切られた「タグ」の文字列。 Steamアイテムストアで、アプリのアイテムの分類や並べ替えに使用されます。 |
| store_images | セミコロン「;」で区切られた画像のURL。 これらの画像はプロキシ処理され、アプリのSteamアイテムストアの詳細ページに使われます。 |
| game_only | false / trueの値をとり、 trueの場合は、アイテムがユーザーのSteamバックパック内や新アイテム通知内で表示されることはありません。 一般的な使用法は、付与したアイテムが即時に消費される場合です。 |
| hidden | false / trueの値をとり、 trueの場合、アイテム定義はクライアントに表示されず、購入できません。 使用していないitemdefや、開発中のitemdefを非表示にする際使用します。 |
| store_hidden | false / trueの値をとり、 trueの場合、このアイテムはアプリのSteamアイテムストアに表示されません。 デフォルトでは、価格付きのアイテムはすべてストアに表示されます。 |
| use_drop_limit | false / trueの値をとり、 trueの場合、drop_limitに応じてISteamInventory::TriggerItemDropによるアイテムの付与を制限します。 (以下のプレイ時間アイテムドロップを参照) |
| drop_limit | 整数。 ISteamInventory::TriggerItemDropにより特定のユーザーに対してこのアイテムがドロップする回数を制限します。 ゼロに設定すると、以降このアイテムがドロップしなくなります。 (以下のプレイ時間アイテムドロップを参照) |
| drop_interval | 整数。 アイテムがユーザーに付与されるのに必要なプレイ時間(分単位)。 (以下のプレイ時間アイテムドロップを参照) |
| use_drop_window | false / trueの値をとり、 trueの場合、このitemdefに「drop_window」を使用します。 (以下のプレイ時間アイテムドロップを参照) |
| drop_window | 整数。 アイテムを付与するまでのクールダウン期間の分単位での経過時間。 (以下のプレイ時間アイテムドロップを参照) |
| drop_max_per_window | 整数。 期間内のクールダウンの適用までに許可される付与数。 既定値は1です。 各期間の最大数は10。 (以下のプレイ時間アイテムドロップを参照) |
| granted_manually | false / trueの値をとります。 trueの場合、明示的なアイテム定義idと共にAddPromoItem()またはAddPromoItems()が呼び出されたときのみに付与されます。 それ以外は、GrantPtomoItems()呼び出しで付与されます。 デフォルトはfalseです。 |
| use_bundle_price | false / trueの値をとります。 以下のバンドルアイテムの販売を参照。 デフォルトはfalseです。 |
| auto_stack | false / trueの値をとり、 trueの場合は、指定のタイプの一つのスタックに、付与アイテムが自動で追加されます。 数量の変更に伴い、インベントリコールバック内に付与アイテムが表示されるようになります。 デフォルトはfalseです。 |
| purchase_limit | 整数。 ユーザーがすでにアイテムをN個所有している場合、アイテムストアからそのアイテムを購入できないようにします。 消費/トレード/マーケットへの出品が可能なアイテムの再購入は阻止しません。 このタグは、ItemDefタイプが「item」の場合にのみ機能します。 |
拡張スキーマ
ゲーム特有の必要な追加プロパティを定義することもできます。
複雑なアイテム定義の使用
BundleまたはGeneratorアイテムタイプ
Bundle、generator、playtimegeneratorのルールは
bundleフィールドで定義されます。
Bundleの場合、含まれるアイテムのタイプと数量を記述します。
generatorとplaytimegeneratorには、生成される可能性のあるアイテムのタイプと、各タイプの比重を記述します。 比重合計を100にする必要はありませんが、その方が便利な場合があります。
bundleフィールドはセミコロン「;」で区切られた一連のアイテムレシピとして表現されます。 各レシピは1つのitemdef IDで構成され、任意で「x」セパレーターと必要な数量(整数)が後に続きます。
数量が明記されていない場合、デフォルトで「1」が使用されます。
Bundleフォーマット
bundle_def : item_recipe , { ";" , item_recipe }
item_recipe : item_def , [ "x" , quantity ]
Bundleの例
- itemdef 201、itemdef 202、itemdef 203をそれぞれ1つずつ付与:
type: bundle
bundle: 201;202;203
- itemdef 101のインスタンスを1つとitemdef 102のインスタンスを5つ付与:
type: bundle
bundle: 101x1;102x5
- itemdef 501を90%の確率、itemdef 502を9%の確率、item 503を1%の確率でランダムに付与:
type: generator
bundle: 501x90;502x9;503x1
- コモンアイテムを90%の確率、スペシャルアイテムを10%の確率で付与:
itemdefid: 600
name: Common generator
type: generator
bundle: 601;602;603;604;605
itemdefid: 700
name: Special generator
type: generator
bundle: 701;702;703;704;705
itemdefid: 800
name: Master generator
type: generator
bundle: 600x9;700x1
最後の例のように、bundleとgeneratorの定義を連結することができます。 付与する時点で、複雑なアイテムタイプは、シンプルなitemdefsだけが残るまで繰り返し展開されます。
アイテムの説明におけるコンテンツの表示
generatorはプレイヤーのインベントリに直接表示することはできませんが、generatorにリンクできるアイテムがあります。 例えば、プレイヤーが持っているクレートを開くと、上記の例にある「Master generator」を使用してアイテムが生成されます。 この関係性は
container_contents_generatorフィールドで表現することができます。
itemdefid: 801
name: Everything Crate
type: item
container_contents_generator: 800
Steamコミュニティでは、アイテムの説明にはgenerator 800(上記の「Master generator」)によって生成される可能性のあるアイテムのリストが、レアリティの高い順に表示されます。 リストには、ドロップされる可能性が最も高い5つのコモンアイテムが最初に表示され、次に5つのスペシャルアイテムが表示されます。
換算式
ExchangeItems APIでアイテム生成/変換レシピを定義できるようになり、クライアントから安全に呼び出し可能となります。 Steamサーバーはプレイヤーのインベントリを確認し、条件が満たされていれば、提供された素材を分解して消費し、目標とするアイテムを付与します。
目標となるアイテムは、bundleやgeneratorタイプです。
目標アイテムの
exchange欄で式が提供されます。 式はセミコロンで区切られた1つ以上の
レシピのセットとして指定されます。
各レシピは必須となる
materialアイテム(コンマ区切り)を必要とします。
必須の素材は、タグまたはitemdefidで明確に示されます。 数量が指定されない場合、1が想定されます。
ExchangeItemsを使用する際、呼び出し側は、目標アイテムと交換される素材アイテムのリストを提供します。 サーバーが各レシピを確認して、提供された素材が条件を満たす1つ目のレシピを選択します。
交換には柔軟性があります。鍵でクレートを開ける、部品を集めて派手なアイテムを作る、アイテムの再利用、アイテムのアップグレードなどのアクションが、これらの式を利用することで達成できます。
換算フォーマット
<exchange>: <recipe> { ";" <recipe> }
<recipe>: <material> { "," <material> }
<material>: <item_def_descriptor> / <item_tag_descriptor>
<item_def_descriptor>: <itemdefid> [ "x" <quantity> ]
<item_tag_descriptor>: <tag_name> ":" <tag_value> [ "*" <quantity> ]
明示的に指定されていない場合、必須の数量は1です。
換算の例
// 次のいずれかが必要です:
// -item#100が1個とitem#101が1個
// -item#102が5個
// -item#103が3個とitem#104が3個
"exchange":"100,101;102x5;103x3,104x3"
// 左手袋が1個と右手袋が1個必要です:
"exchange":"handed:left,handed:right"
// 木が3本と派手なアイテムが必要です:
"exchange":"type:tree*3,quality:fancy"
// 次のどちらかが必要です:
// -item#201とitem#202
// -バナナ風味のアイテムが1個と重いオブジェクトが1個
"exchange":"201x1,202x1;flavor:banana,mass:heavy"
// 5個の「コモン」アーティファクトを1個の「スペシャル」アーティファクトにリサイクルします:
{
"name":"special_generator",
"type":"generator",
"tags":"rarity:special",
"bundle":....,
"exchange":"rarity:common*5",
...
}
プロモーションアイテム
プロモーションアイテムは、いくつかの異なる基準に基づいて、プレイヤーに付与できます。
- AppIDの所有権(DLC AppID含む)
- 実績
- AppIDのプレイ時間
- 手動付与-クライアントは特定のitem def idでAddPromoItemを呼び出す必要があります。
Steamがプロモーションアイテムのチェックをするため、これらのアイテムをクライアントから安全にリクエストできます。
ISteamInventory::AddPromoItemおよび
ISteamInventory::GrantPromoItemsを参照してください。 プロモーションアイテムを定義するには、アイテムを付与するためのひとつ以上のルールを、アイテム定義内の「promo」プロパティに設定してください。
プロモーションアイテムはバンドルにすることも可能です。
手動で付与されるプロモーションアイテムにも、ドロップ間隔を設定できます。 例えば、(ゲーム内クエストなどの)プレイヤーが完了したタスクに応じて、毎週いくつかのアイテムを付与することが可能です。 この機能を使うには、Itemdefの
drop_start_timeと
drop_intervalの値を設定してください。
プロモーションアイテムは、無料タイトルを(無料ウィークエンド、ファミリーシェアリング経由などで)一時的に所有している場合には付与されません。
プロモーションルールのフォーマット
<promo>: <rule> { ";" <rule> }
<rule>: app_rule / ach_rule / played_rule / manual_rule
<app_rule>: "owns:" <appid>
<ach_rule>: "ach:" <achievement name>
<played_rule>: "played:" <appid>/<minutes played, defaults to 1>
<manual>: "manual"
プロモーションの例
// シンプルなプロモーションルールの定義:
"promo":"owns:440;owns:480"
// AppID 570で少なくとも15分間プレイ済み:
"promo":"played:570/15"
// 毎週1回付与できる消費アイテム:
"itemdefid": 404,
"type": "item",
"name": "Weekly Quest Item",
"promo": "manual",
"drop_start_time": "20170801T120000Z",
"drop_interval": 10080,
...
ドロップ開始時間
プロモーションアイテムのドロップ開始時間を設定することで、この時間より前にそのアイテムが付与されることを防止します。 これによって、アイテムの利用開始時間より前に、そのアイテムを付与するコードを配置できます。 タイムスタンプはISO8601フォーマットのUTCタイムゾーンで指定する必要があります:
YYYYMMDDTHHMMSSZ。
例:
20050515T171151Zプレイ時間アイテムドロップ
プレイ時間アイテムドロップ機能により、Steamサーバーでユーザーのプレイ時間に応じたアイテムドロップの追跡、管理が可能になります。 ゲーム側で
ISteamInventory::TriggerItemDropを呼び出す必要があるのは、付与が必要だと思われる場合のみです。 ドロップを実行するには、「playtimegenerator」タイプのアイテムを作成する必要があります。
プレイ時間による付与は、アプリケーションによって制御されます。 ユーザーのプレイ時間のみに基づいた自動的な付与に対するサポートはありません。 言い換えれば、プレイ時間は付与に必要な条件であり、アプリケーションが付与検証のトリガーです。
アイテムドロップの頻度はアプリケーションレベルで、コミュニティ>インベントリサービス>プレイ時間でのアイテム付与のセクションから制御できます。 カスタマイズを可能にするコントロールは3つあります。
(1) アイテムがドロップするまでの時間
(2) 一定期間内のアイテムドロップの数
(3) 次のアイテムドロップが可能になるまでのクールダウン期間の長さ
同じコントロールがitemdefごとに存在します。 アイテムに対して設定した値は、指定のアイテムに対するアプリケーションのあらゆる設定をオーバーライドします。 この方法で、各アイテムにそれぞれのドロップ率、期間内の最大数、クールダウン期間を設定できるようになります。
いずれかのドロップ設定(drop_interval、use_drop_window、drop_window、drop_max_per_window)の指定があれば、それぞれのプレイ時間generatorによる付与は別々に追跡されます。 言い換えれば、itemdefがドロップ設定を
指定しない場合、ドロップ設定を持たない他のすべてのプレイ時間generatorとドロップが共有され、制限はアプリケーションのドロップ間隔によって行われます。 itemdefが明示的にいずれかのドロップ設定を
指定した場合、そのドロップはアプリケーションや他のitemdefプレイ時間generatorから独立し、generatorレベルで個別に付与または追跡されます。
プレイ時間ItemDef付与の例
- プレイ時間が30分を超えると、ユーザーにアイテムをひとつ付与することを許可します。 この設定を単独で使用することの欠点は、30分おきにプレイ時間による付与を受けられることから、アイテムのファーミングが可能になることです。 ドロップ期間設定を追加することを強く推奨します:
"drop_interval" : 30
- プレイ時間が30分経過後のドロップを1日1回に制限します。 これにより、あなたのタイトルのプレイヤーは、プレイするために戻ってくると、毎日報酬がもらえます。
"drop_interval" : 30,
"use_drop_window" : "true",
"drop_window" : "1440"
- 90分以上プレイするユーザーに対し、1日あたり3つのアイテムを取得させます。 このプレイ時間は連続している必要はありません。 これによりゲームを長くプレイすることにメリットが生まれます。
"drop_interval" : 30,
"use_drop_window" : "true",
"drop_window" : "1440",
"drop_max_per_window" : "3"
特定のitemdef設定が見つからない場合は、アプリケーションで定義された設定がデフォルト値になります。
ドロップ制限
drop_limit変数を使用すると、特定のgeneratorに最大プレイ時間を設定できます。
これはアイテムの生成回数の制限に使用できます(例:
レジェンダリー難易度でゲームを初めてクリアしたときのみ)。
それ以外にも、値をゼロに設定することで、廃止したアイテムがそれ以上ドロップしないようにするためにも使えます。 この設定は、
use_drop_limitに「true」が指定されている場合のみ認識されます。
アイテムの販売
特定のゲームアイテムを販売するには、適切なitemdefs内で価格や価格カテゴリーを定義してください。
ストアページの有効化やカスタマイズについての詳細は、Steam
アイテムストアを参照してください。
価格の設定
アイテムの価格は以下のいずれかの方法で定義できます。両方で定義することはできません。
| 名前 | 説明 |
| price | 各通貨ごとに価格を指定します。 定義のない通貨は、購入時に自動的に変換されます。 |
| price_category | 価格をひとつ定義すると、Valveが管理する価格設定テーブルを使用して、すべての対応通貨で表示されます。 |
price_categoryフィールドは特別な「VLV」通貨で指定されます。 VLV100は$0.99 USDと等しく、Valveの換算率を使ってすべての対応通貨に変換されます。
VLV換算率は、時間の経過に伴う通貨の動きに適応するように注意深く管理されています。 弊社は変動幅を低く抑えつつも必要に応じて価格を更新することで、顧客に安定した価格と快適なユーザー体験を提供します。
価格のフォーマット
Price: <version>;<pricelist>
Version: "1"
<pricelist> : <originalprice>(;<price>)*
<originalprice>: <currency><integer>(,<currency><integer)*
<price>: (<daterange>)<currency><integer>(,<currency><integer)*
<currency> 3 letters like "USD"
<integer> amount in currency-specific units
<daterange>: YYYYMMDDTHHMMSSZ-YYYYMMDDTHHMMSSZ
<daterange> 33文字ちょうどでなければなりません。
daterangeのリストは降順でなければなりません(将来の日付が先)。
価格の例
-
price_category: 1;VLV100
Valveが管理する価格設定テーブルを使ったプリセットの価格カテゴリー。
-
price: 1;USD100
($1.00米ドル)
-
price: 1;USD100,EUR080
($1.00米ドルまたは0.80ユーロ)
-
price: 1;USD100,EUR080;20130607T080000Z-20130606T080000ZUSD50,EUR40
($1.00米ドルまたは0.80ユーロ。ただし、価格が$0.50米ドル/0.40ユーロに下げられた2013年6月6日以降の期間を除く)
-
price: 1;USD100,EUR080;20130609T080000Z-20130606T080000ZUSD50,EUR40
($1.00米ドルまたは0.80ユーロ。ただし、価格が$0.50米ドル/0.40ユーロに下げられた2013年6月6日から2013年6月9日までの期間を除く)
バンドルの販売
バンドルしたアイテムをアイテムストアで販売できます。 バンドル内のアイテムはチェックアウトの過程で展開され、ユーザーには付与されるアイテムのリストが表示されます。 Steamの返金ポリシーでは、購入に対する返金を一定期間許可していますが、含まれるアイテムすべてがプレイヤーのインベントリ内にあり、改変されていない必要があります。
バンドル価格
バンドル価格を決める際には、追加の手順がいくつかあります。 Steamはバンドル価格を決定する際にバンドル内の各アイテムの価格を使用し、比率に応じてバンドルの収益を配分します。 この配分はワークショップ貢献者への支払額を決定します。 ひとつのバンドルに異なるワークショップ貢献者からのコンテンツを混合することや、ワークショップコンテンツに独自のファーストパーティーコンテンツを含むことも容易です。
バンドル内アイテムの価格設定方法:
- バンドル内の各アイテムの価格情報を指定します。
- 含まれるアイテムに個別のセールに利用すべきでないものがあれば、
store_hiddenをtrueに設定してください。
-
priceまたはprice_categoryフィールドを、単一の価格(例えばVLV0)に設定してください。
この価格はストア内では使用されませんが、販売可能なアイテムであることをアイテムストアに通知するのに必要です。
- 必要に応じて、バンドルの割引率を
purchase_bundle_discountに設定します。
お好みで、各通貨ごとにバンドル価格を指定することもできます。 バンドル価格オーバーライドは、指定されたすべての
purchase_bundle_discountを無視します。 ただし、バンドルの収益配分比率を計算する必要があるため、各アイテム価格は必ず提供してください。
自動バンドル価格のオーバーライド方法:
- バンドルの
priceまたはprice_categoryフィールドに希望価格を指定します。
- バンドルアイテムの
use_bundle_priceをtrueに設定します。
Generatorアイテムの販売
アイテムストアでは
generatorタイプのアイテムを直接販売しないでください。
(宝箱などの)ランダムなコンポーネントのアイテムを販売するには、アイテムはシンプルな
itemタイプとして定義する必要があります。 そして、交換レシピへのインプットとして宝箱を受け入れるgeneratorアイテムを作成してください。
購入後、プレイヤーが宝箱を「開く」ことを選択した際に、generatorを実行するために
ISteamInventory::ExchangeItemsを呼び出します。 いったん開封された宝箱に対する返金は不可能です。
VLVプリセット価格テーブル
現時点でアイテムのprice_category の指定に使用可能な値は以下のとおりです。
| 名前 | 米ドル価格 |
| VLV25 | $0.25 USD |
| VLV50 | $0.49 USD |
| VLV75 | $0.75 USD |
| VLV100 | $0.99 USD |
| VLV150 | $1.49 USD |
| VLV200 | $1.99 USD |
| VLV250 | $2.49 USD |
| VLV300 | $2.99 USD |
| VLV350 | $3.49 USD |
| VLV400 | $3.99 USD |
| VLV450 | $4.49 USD |
| VLV500 | $4.99 USD |
| VLV550 | $5.49 USD |
| VLV600 | $5.99 USD |
| VLV650 | $6.49 USD |
| VLV700 | $6.99 USD |
| VLV750 | $7.49 USD |
| VLV800 | $7.99 USD |
| VLV850 | $8.49 USD |
| VLV900 | $8.99 USD |
| VLV950 | $9.49 USD |
| VLV1000 | $9.99 USD |
| VLV1100 | $10.99 USD |
| VLV1200 | $11.99 USD |
| VLV1300 | $12.99 USD |
| VLV1400 | $13.99 USD |
| VLV1500 | $14.99 USD |
| VLV1600 | $15.99 USD |
| VLV1700 | $16.99 USD |
| VLV1800 | $17.99 USD |
| VLV1900 | $18.99 USD |
| VLV2000 | $19.99 USD |
| VLV2500 | $24.99 USD |
| VLV3000 | $29.99 USD |
| VLV3500 | $34.99 USD |
| VLV4000 | $39.99 USD |
| VLV4500 | $44.99 USD |
| VLV5000 | $49.99 USD |
| VLV6000 | $59.99 USD |
| VLV7000 | $69.99 USD |
| VLV8000 | $79.99 USD |
| VLV9000 | $89.99 USD |
| VLV10000 | $99.99 USD |
ItemDefスキーマの例:
{
"appid": 480,
"items": [
{
"itemdefid": 10,
"type": "playtimegenerator",
"bundle": "100x100;101x50;102x25;103x2;110x20;111x20;120x5;121x3",
"name": "Drop Generator",
"name_color": "7D6D00",
"background_color": "3C352E",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": false,
"marketable": false
},
{
"itemdefid": 100,
"type": "item",
"name": "Hat decoration",
"description": "Hat decoration description",
"price": "1;USD99",
"name_color": "7D6D00",
"background_color": "3C352E",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": true,
"marketable": true
},
{
"itemdefid": 200,
"type": "item",
"price": "1;VLV100",
"name_english": "Red Hat",
"name_german": "Roter Hut",
"description_english": "Red Hat",
"description_german": "Roter Hut",
"store_tags": "hat;featured",
"icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png",
"tradable": true,
"marketable": true
}
]
}