NAV
GS2-Deploy

GS2-Inventory

GS2-Deploy のテンプレートで使用できるリソース定義のリファレンス

エンティティ

Namespace

Namespace

Type: GS2::Inventory::Namespace
Properties:
  Name: namespace1
  Description: null
  AcquireScript: null
  OverflowScript: null
  ConsumeScript: null
  LogSetting: 
    LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

必須 デフォルト 値の制限 説明
name string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
acquireScript ScriptSetting アイテム入手したときに実行するスクリプト
overflowScript ScriptSetting 入手上限に当たって入手できなかったときに実行するスクリプト
consumeScript ScriptSetting アイテム消費するときに実行するスクリプト
logSetting LogSetting ログの出力設定

InventoryModelMaster

InventoryModelMaster

Type: GS2::Inventory::InventoryModelMaster
Properties:
  NamespaceName: namespace1
  Name: item
  Description: null
  Metadata: null
  InitialCapacity: 50
  MaxCapacity: 100
  ProtectReferencedItem: null

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

インベントリの容量は拡張することができます。 スタンプシートの報酬に設定ができますので、スタンプシートで報酬を付与できる手段であれば、拡張の方法は問いません。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
name string ~ 128文字 インベントリの種類名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
initialCapacity int ~ 9223372036854775807 インベントリの初期サイズ
maxCapacity int ~ 9223372036854775807 インベントリの最大サイズ
protectReferencedItem bool false 参照元が登録されているアイテムセットは削除できなくする

ItemModelMaster

ItemModelMaster

Type: GS2::Inventory::ItemModelMaster
Properties:
  NamespaceName: namespace1
  InventoryName: item
  Name: item-master-0001
  Description: null
  Metadata: null
  StackingLimit: 99
  AllowMultipleStacks: false
  SortValue: 10

アイテムの種類を定義するエンティティです。

アイテムは ポーション×99 のようにインベントリの1容量に対して複数所有できます。 1容量で複数所有している状態を アイテムをスタック する。と呼び、アイテムごとにスタックできる最大数量を指定できます。

スタックできる最大数量に達したとき、新しくインベントリの容量を確保して所有することができるか、入手することが出来なくなるかをアイテムごとに設定できます。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
inventoryName string ~ 128文字 アイテムの種類名
name string ~ 128文字 アイテムモデルの種類名
description string ~ 1024文字 説明文
metadata string ~ 128文字 メタデータ
stackingLimit long 1 ~ 9223372036854775807 スタック可能な最大数量
allowMultipleStacks bool スタック可能な最大数量を超えた時複数枠にアイテムを保管することを許すか
sortValue int ~ 9223372036854775807 表示順番

CurrentItemModelMaster

CurrentItemModelMaster

Type: GS2::Inventory::CurrentItemModelMaster
Properties:
  NamespaceName: namespace1
  Settings: {\n  "version": "2019-02-05",\n  "inventoryModels": [\n    {\n      "name": "item",\n      "metadata": "INVENTORY_ITEM",\n      "initialCapacity": 100,\n      "maxCapacity": 999,\n      "itemModels": [\n        {\n          "name": "item-0001",\n          "metadata": "ITEM_0001",\n          "stackingLimit": 99,\n          "allowMultipleStacks": false,\n          "sortValue": 1\n        },\n        {\n          "name": "item-0002",\n          "metadata": "ITEM_0002",\n          "stackingLimit": 49,\n          "allowMultipleStacks": true,\n          "sortValue": 2\n        },\n        {\n          "name": "item-0003",\n          "metadata": "ITEM_0003",\n          "stackingLimit": 9,\n          "allowMultipleStacks": false,\n          "sortValue": 3\n        }\n      ]\n    },\n    {\n      "name": "character",\n      "metadata": "INVENTORY_CHARACTER",\n      "initialCapacity": 50,\n      "maxCapacity": 99,\n      "itemModels": [\n        {\n          "name": "character-0001",\n          "metadata": "CHARACTER_0001",\n          "stackingLimit": 99,\n          "allowMultipleStacks": false,\n          "sortValue": 1\n        },\n        {\n          "name": "character-0002",\n          "metadata": "CHARACTER_0002",\n          "stackingLimit": 49,\n          "allowMultipleStacks": true,\n          "sortValue": 2\n        },\n        {\n          "name": "character-0003",\n          "metadata": "CHARACTER_0003",\n          "stackingLimit": 9,\n          "allowMultipleStacks": false,\n          "sortValue": 3\n        }\n      ]\n    }\n  ]\n}

GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

JSONファイルの形式についてはドキュメントを参照ください。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
settings string ~ 5242880文字 マスターデータ