GS2-Inventory マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス

マスターデータのフォーマット

{
  "version": "2019-02-05",
  "inventoryModels": [
    {
      "name": "[string]インベントリモデル名",
      "metadata": "[string?]メタデータ",
      "initialCapacity": "[int]初期サイズ",
      "maxCapacity": "[int]最大サイズ",
      "protectReferencedItem": "[bool?]参照元保護",
      "itemModels": [
        {
          "itemModelId": "[string]アイテムモデルGRN",
          "name": "[string]アイテムモデル名",
          "metadata": "[string?]メタデータ",
          "stackingLimit": "[long]スタック可能な最大数量",
          "allowMultipleStacks": "[bool]複数スタック許可",
          "sortValue": "[int]表示順番"
        }
      ]
    }
  ],
  "simpleInventoryModels": [
    {
      "name": "[string]シンプルインベントリモデル名",
      "metadata": "[string?]メタデータ",
      "simpleItemModels": [
        {
          "itemModelId": "[string]シンプルアイテムモデルGRN",
          "name": "[string]シンプルアイテムモデル名",
          "metadata": "[string?]メタデータ"
        }
      ]
    }
  ],
  "bigInventoryModels": [
    {
      "name": "[string]巨大インベントリモデル名",
      "metadata": "[string?]メタデータ",
      "bigItemModels": [
        {
          "itemModelId": "[string]巨大アイテムモデルGRN",
          "name": "[string]巨大アイテムモデル名",
          "metadata": "[string?]メタデータ"
        }
      ]
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2019-02-05マスターデータのフォーマットバージョン
inventoryModelsList<InventoryModel>~ 50 itemsインベントリモデル
インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。
インベントリには容量が設定でき、容量を超えては所有できません。
simpleInventoryModelsList<SimpleInventoryModel>~ 50 itemsシンプルインベントリモデル
通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。
しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。

ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。
bigInventoryModelsList<BigInventoryModel>~ 50 items巨大インベントリモデル
通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。
インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。

巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。

モデル

InventoryModel

インベントリモデル

インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。
インベントリには容量が設定でき、容量を超えては所有できません。

有効化条件必須デフォルト値の制限説明
inventoryModelIdstring
~ 1024文字インベントリモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字インベントリモデル名
インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
initialCapacityint
0 ~ 2147483646初期サイズ
インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。
maxCapacityint
0 ~ 2147483646最大サイズ
ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。
protectReferencedItembool?false参照元保護
有効にすると、(referenceOf メカニズムで)参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム(例:装備中のギア、編成にバインドされたアイテム)が誤って削除されることを防ぎます。
itemModelsList<ItemModel>[]1 ~ 1000 itemsアイテムモデル一覧
このインベントリに格納可能なアイテムの種類です。各アイテムモデルは1種類のアイテムのスタックおよび入手動作を定義します。インベントリモデルあたり最大1000アイテムモデルです。

ItemModel

アイテムモデル

アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。
このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。

スタック上限に達した場合の挙動もアイテムごとに設定できます。
具体的には、以下のどちらかを選べます:

  • 新しいインベントリ枠を追加して、さらに所持できるようにする
  • 上限に達したため、これ以上入手できないようにする
有効化条件必須デフォルト値の制限説明
itemModelIdstring
~ 1024文字アイテムモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字アイテムモデル名
アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。
詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。
stackingLimitlong
1 ~ 9223372036854775805スタック可能な最大数量
1つのインベントリ枠(スタック)に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。
allowMultipleStacksbool
複数スタック許可
有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します(追加の容量を消費します)。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。
sortValueint
0 ~ 2147483646表示順番
インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。

SimpleInventoryModel

シンプルインベントリモデル

通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。
しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。

ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。

有効化条件必須デフォルト値の制限説明
inventoryModelIdstring
~ 1024文字シンプルインベントリモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字シンプルインベントリモデル名
シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
simpleItemModelsList<SimpleItemModel>[]1 ~ 1000 itemsシンプルアイテムモデル一覧
このシンプルインベントリに格納可能なアイテムの種類です。通常のインベントリと異なり、シンプルアイテムにはスタック上限や容量制約がありません。シンプルインベントリモデルあたり最大1000アイテムモデルです。

SimpleItemModel

シンプルアイテムモデル

ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。
シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。

有効化条件必須デフォルト値の制限説明
itemModelIdstring
~ 1024文字シンプルアイテムモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字シンプルアイテムモデル名
シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。

BigInventoryModel

巨大インベントリモデル

通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。
インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。

巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。

有効化条件必須デフォルト値の制限説明
inventoryModelIdstring
~ 1024文字巨大インベントリモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字巨大インベントリモデル名
巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
bigItemModelsList<BigItemModel>[]1 ~ 1000 items巨大アイテムモデル一覧
この巨大インベントリに格納可能なアイテムの種類です。各巨大アイテムモデルは最大1024桁の整数文字列として表される数量を保持できます。巨大インベントリモデルあたり最大1000アイテムモデルです。

BigItemModel

巨大アイテムモデル

巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。
巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。

有効化条件必須デフォルト値の制限説明
itemModelIdstring
~ 1024文字巨大アイテムモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字巨大アイテムモデル名
巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。