> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Inventory トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様




## Verify Action

検証アクション

### Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId

ユーザーIDを指定してインベントリの最大容量を検証<br>

指定されたユーザーの現在の最大インベントリ容量が指定された条件を満たすことを検証します。<br>
6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。<br>
検証にはバフ適用後の容量値（GS2-Buff からのアクティブなバフ効果を反映）が使用されます。

**数量指定可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 |
| verifyType | 文字列列挙型<br>enum {<br>"less",<br>"lessEqual",<br>"greater",<br>"greaterEqual",<br>"equal",<br>"notEqual"<br>}<br> |  | ✓|  |  | 検証の種類"less": 現在のインベントリの最大容量が指定値未満であること / "lessEqual": 現在のインベントリの最大容量が指定値以下であること / "greater": 現在のインベントリの最大容量が指定値超過であること / "greaterEqual": 現在のインベントリの最大容量が指定値以上であること / "equal": 現在のインベントリの最大容量が指定値と一致すること / "notEqual": 現在のインベントリの最大容量が指定値と一致しないこと /  |
| currentInventoryMaxCapacity | int |  | ✓|  | 0 ~ 2147483646 | 現在のインベントリの最大容量 |
| multiplyValueSpecifyingQuantity | bool |  | | true |  | 数量指定した際に、検証に使用する値も乗算するか |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "inventoryName": "[string]インベントリモデル名",
        "verifyType": "[string]検証の種類",
        "currentInventoryMaxCapacity": "[int]現在のインベントリの最大容量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  inventoryName: "[string]インベントリモデル名"
  verifyType: "[string]検証の種類"
  currentInventoryMaxCapacity: "[int]現在のインベントリの最大容量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").verify.verify_inventory_current_max_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    inventoryName="[string]インベントリモデル名",
    verifyType="[string]検証の種類",
    currentInventoryMaxCapacity="[int]現在のインベントリの最大容量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:VerifyItemSetByUserId

ユーザーIDを指定してアイテムセットの所持数量の検証<br>

指定されたユーザーの合計アイテム数量が指定された条件を満たすことを検証します。<br>
数量は指定されたアイテムタイプのすべてのアイテムセットを合算して計算されます。<br>
6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。

**数量指定可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| verifyType | 文字列列挙型<br>enum {<br>"less",<br>"lessEqual",<br>"greater",<br>"greaterEqual",<br>"equal",<br>"notEqual"<br>}<br> |  | ✓|  |  | 検証の種類"less": 所持数量が指定値未満であること / "lessEqual": 所持数量が指定値以下であること / "greater": 所持数量が指定値超過であること / "greaterEqual": 所持数量が指定値以上であること / "equal": 所持数量が指定値と一致すること / "notEqual": 所持数量が指定値と一致しないこと /  |
| itemSetName | string |  | |  |  ~ 36文字 | アイテムセットを識別する名前 |
| count | long |  | ✓|  | 0 ~ 9223372036854775805 | 所持数量 |
| multiplyValueSpecifyingQuantity | bool |  | | true |  | 数量指定した際に、検証に使用する値も乗算するか |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:VerifyItemSetByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "inventoryName": "[string]インベントリモデル名",
        "itemName": "[string]アイテムモデル名",
        "verifyType": "[string]検証の種類",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "count": "[long]所持数量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:VerifyItemSetByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  inventoryName: "[string]インベントリモデル名"
  itemName: "[string]アイテムモデル名"
  verifyType: "[string]検証の種類"
  itemSetName: "[string]アイテムセットを識別する名前"
  count: "[long]所持数量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").verify.verify_item_set_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    inventoryName="[string]インベントリモデル名",
    itemName="[string]アイテムモデル名",
    verifyType="[string]検証の種類",
    itemSetName="[string]アイテムセットを識別する名前",
    count="[long]所持数量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:VerifyReferenceOfByUserId

ユーザーIDを指定してアイテムの参照元を検証<br>

指定ユーザーのアイテムセット上の参照元の状態を検証します。<br>
4つの検証タイプをサポート: not_entry（参照元が未登録）、already_entry（参照元が登録済み）、empty（参照元がゼロ）、not_empty（参照元が1つ以上存在）。<br>
条件が満たされない場合はエラーが返されます。

**数量指定可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| itemSetName | string |  | ✓| UUID |  ~ 36文字 | アイテムセットを識別する名前<br>アイテムセットの一意な名前を保持します。<br>名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 |
| referenceOf | string |  | ✓|  |  ~ 1024文字 | 参照元<br>装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 |
| verifyType | 文字列列挙型<br>enum {<br>"not_entry",<br>"already_entry",<br>"empty",<br>"not_empty"<br>}<br> |  | ✓|  |  | 検証の種類"not_entry": 指定した参照元がまだ登録されていないこと / "already_entry": 指定した参照元が既に登録されていること / "empty": 参照元として登録されている要素がゼロであること / "not_empty": 参照元として登録されている要素が1以上であること /  |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:VerifyReferenceOfByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]アイテムモデル名",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "referenceOf": "[string]参照元",
        "verifyType": "[string]検証の種類",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:VerifyReferenceOfByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]アイテムモデル名"
  itemSetName: "[string]アイテムセットを識別する名前"
  referenceOf: "[string]参照元"
  verifyType: "[string]検証の種類"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").verify.verify_reference_of_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]アイテムモデル名",
    itemSetName="[string]アイテムセットを識別する名前",
    referenceOf="[string]参照元",
    verifyType="[string]検証の種類",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:VerifySimpleItemByUserId

ユーザーIDを指定してシンプルアイテムの所持数量を検証<br>

指定されたユーザーのシンプルアイテムの数量が指定された条件を満たすことを検証します。<br>
6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。

**数量指定可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | シンプルインベントリモデル名<br>シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| itemName | string |  | ✓|  |  ~ 128文字 | シンプルアイテムモデル名<br>このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 |
| verifyType | 文字列列挙型<br>enum {<br>"less",<br>"lessEqual",<br>"greater",<br>"greaterEqual",<br>"equal",<br>"notEqual"<br>}<br> |  | ✓|  |  | 検証の種類"less": 所持数量が指定値未満であること / "lessEqual": 所持数量が指定値以下であること / "greater": 所持数量が指定値超過であること / "greaterEqual": 所持数量が指定値以上であること / "equal": 所持数量が指定値と一致すること / "notEqual": 所持数量が指定値と一致しないこと /  |
| count | long |  | ✓|  | 0 ~ 9223372036854775805 | 所持数量 |
| multiplyValueSpecifyingQuantity | bool |  | | true |  | 数量指定した際に、検証に使用する値も乗算するか |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:VerifySimpleItemByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "inventoryName": "[string]シンプルインベントリモデル名",
        "itemName": "[string]シンプルアイテムモデル名",
        "verifyType": "[string]検証の種類",
        "count": "[long]所持数量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:VerifySimpleItemByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  inventoryName: "[string]シンプルインベントリモデル名"
  itemName: "[string]シンプルアイテムモデル名"
  verifyType: "[string]検証の種類"
  count: "[long]所持数量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").verify.verify_simple_item_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    inventoryName="[string]シンプルインベントリモデル名",
    itemName="[string]シンプルアイテムモデル名",
    verifyType="[string]検証の種類",
    count="[long]所持数量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:VerifyBigItemByUserId

ユーザーIDを指定して巨大アイテムの所持数量を検証<br>

指定ユーザーの巨大アイテム数量が指定された条件を満たすかどうかを検証します。<br>
6つの比較演算子をサポート: less, lessEqual, greater, greaterEqual, equal, notEqual。<br>
比較は文字列ベースの数量に対して任意精度演算で実行されます。<br>
条件が満たされない場合はエラーが返され、満たされる場合はリクエストが成功します。

**数量指定可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | 巨大インベントリモデル名<br>巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| itemName | string |  | ✓|  |  ~ 128文字 | 巨大アイテムモデル名<br>このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 |
| verifyType | 文字列列挙型<br>enum {<br>"less",<br>"lessEqual",<br>"greater",<br>"greaterEqual",<br>"equal",<br>"notEqual"<br>}<br> |  | ✓|  |  | 検証の種類"less": 所持数量が指定値未満であること / "lessEqual": 所持数量が指定値以下であること / "greater": 所持数量が指定値超過であること / "greaterEqual": 所持数量が指定値以上であること / "equal": 所持数量が指定値と一致すること / "notEqual": 所持数量が指定値と一致しないこと /  |
| count | string |  | ✓|  |  ~ 1024文字 | 所持数量<br>最大1024桁までの整数値文字列 |
| multiplyValueSpecifyingQuantity | bool |  | | true |  | 数量指定した際に、検証に使用する値も乗算するか |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:VerifyBigItemByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "inventoryName": "[string]巨大インベントリモデル名",
        "itemName": "[string]巨大アイテムモデル名",
        "verifyType": "[string]検証の種類",
        "count": "[string]所持数量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:VerifyBigItemByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  inventoryName: "[string]巨大インベントリモデル名"
  itemName: "[string]巨大アイテムモデル名"
  verifyType: "[string]検証の種類"
  count: "[string]所持数量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").verify.verify_big_item_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    inventoryName="[string]巨大インベントリモデル名",
    itemName="[string]巨大アイテムモデル名",
    verifyType="[string]検証の種類",
    count="[string]所持数量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Consume Action

消費アクション

### Gs2Inventory:ConsumeItemSetByUserId

ユーザーIDを指定してアイテムセットを消費<br>

指定されたユーザーのインベントリ内の特定アイテムの数量を減少させます。<br>
itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。<br>
アイテムセットの数量がゼロになると、自動的に削除されます。<br>
十分なアイテムがない場合、Insufficient エラーが返されます。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| consumeCount | long |  | ✓|  | 1 ~ 9223372036854775805 | 消費する量 |
| itemSetName | string |  | |  |  ~ 36文字 | アイテムセットを識別する名前 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:ConsumeItemSetByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]アイテムモデル名",
        "consumeCount": "[long]消費する量",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:ConsumeItemSetByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]アイテムモデル名"
  consumeCount: "[long]消費する量"
  itemSetName: "[string]アイテムセットを識別する名前"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").consume.consume_item_set_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]アイテムモデル名",
    consumeCount="[long]消費する量",
    itemSetName="[string]アイテムセットを識別する名前",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:ConsumeSimpleItemsByUserId

ユーザーIDを指定してシンプルアイテムを消費<br>

消費数量のバッチを使用して、指定されたユーザーのシンプルインベントリ内のアイテム数量を減少させます。<br>
単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | シンプルインベントリモデル名<br>シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| consumeCounts | List&lt;ConsumeCount&gt; |  | ✓|  | 1 ~ 100 items | シンプルアイテムの消費数量のリスト |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:ConsumeSimpleItemsByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]シンプルインベントリモデル名",
        "userId": "[string]ユーザーID",
        "consumeCounts": [
            {
                "itemName": "[string]シンプルアイテムモデル名",
                "count": "[long]消費する量"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:ConsumeSimpleItemsByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]シンプルインベントリモデル名"
  userId: "[string]ユーザーID"
  consumeCounts: 
    - itemName: "[string]シンプルアイテムモデル名"
      count: "[long]消費する量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").consume.consume_simple_items_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]シンプルインベントリモデル名",
    userId="[string]ユーザーID",
    consumeCounts={
        {
            itemName="[string]シンプルアイテムモデル名",
            count="[long]消費する量"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:ConsumeBigItemByUserId

ユーザーIDを指定して巨大アイテムを消費<br>

任意精度演算を使用して、指定ユーザーの巨大アイテム数量から指定された数量を減算します。<br>
consumeCount は最大1024桁の有効な整数文字列でなければなりません。<br>
現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。<br>
ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | 巨大インベントリモデル名<br>巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | 巨大アイテムモデル名<br>巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| consumeCount | string |  | ✓|  |  ~ 1024文字 | 巨大アイテムの消費数量<br>最大1024桁までの整数値文字列 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:ConsumeBigItemByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]巨大インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]巨大アイテムモデル名",
        "consumeCount": "[string]巨大アイテムの消費数量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:ConsumeBigItemByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]巨大インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]巨大アイテムモデル名"
  consumeCount: "[string]巨大アイテムの消費数量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").consume.consume_big_item_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]巨大インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]巨大アイテムモデル名",
    consumeCount="[string]巨大アイテムの消費数量",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Acquire Action

入手アクション

### Gs2Inventory:AddCapacityByUserId

ユーザーIDを指定してインベントリのキャパシティサイズを加算<br>

指定された量だけユーザーのインベントリ容量を増加させます。<br>
結果の容量はインベントリモデルの maxCapacity を超えることはできません。<br>
インベントリがまだ存在しない場合、initialCapacity で自動的に作成された後、指定された値が加算されます。

**数量指定可能なアクション：はい**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| addCapacityValue | int |  | ✓|  | 1 ~ 2147483646 | 加算するキャパシティサイズ |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AddCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "addCapacityValue": "[int]加算するキャパシティサイズ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AddCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  addCapacityValue: "[int]加算するキャパシティサイズ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.add_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    addCapacityValue="[int]加算するキャパシティサイズ",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:SetCapacityByUserId

ユーザーIDを指定してインベントリのキャパシティサイズを設定<br>

ユーザーのインベントリ容量を指定された絶対値に設定します。<br>
更新前後のインベントリ状態を両方返すため、新旧の容量値を比較できます。<br>
新しい容量値はインベントリモデルの maxCapacity を超えることはできません。

**数量指定可能なアクション：はい**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| newCapacityValue | int |  | ✓|  | 1 ~ 2147483646 | インベントリの新しい最大キャパシティ |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:SetCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "newCapacityValue": "[int]インベントリの新しい最大キャパシティ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:SetCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  newCapacityValue: "[int]インベントリの新しい最大キャパシティ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.set_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    newCapacityValue="[int]インベントリの新しい最大キャパシティ",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:AcquireItemSetByUserId

ユーザーIDを指定してアイテムセットを入手<br>

ユーザーのインベントリにアイテムを追加します。既存のアイテムセットに空き（スタック制限未満）がある場合はそこに追加され、そうでない場合は複数スタックが許可されていれば新しいアイテムセットが作成されます。<br>
オプションの expiresAt で、新しく作成されるアイテムセットの有効期限を設定できます。有効期限が既に過去のアイテムは空として扱われます。<br>
createNewItemSet が true の場合、既存のセットに空きがあっても常に新しいアイテムセットが作成されます。<br>
合計数量がインベントリ容量を超える場合、オーバーフロー数量が返され、ネームスペースの設定に応じてオーバーフロー分が GS2-Inbox に転送される場合があります。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| acquireCount | long |  | ✓|  | 1 ~ 9223372036854775805 | 入手する量 |
| expiresAt | long |  | | 0 |  | 有効期限<br>UNIX 時間・ミリ秒 |
| createNewItemSet | bool |  | | false |  | 既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか |
| itemSetName | string |  | |  |  ~ 36文字 | アイテムセットを識別する名前 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AcquireItemSetByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "itemName": "[string]アイテムモデル名",
        "userId": "[string]ユーザーID",
        "acquireCount": "[long]入手する量",
        "expiresAt": "[long]有効期限",
        "createNewItemSet": "[bool]既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AcquireItemSetByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  itemName: "[string]アイテムモデル名"
  userId: "[string]ユーザーID"
  acquireCount: "[long]入手する量"
  expiresAt: "[long]有効期限"
  createNewItemSet: "[bool]既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか"
  itemSetName: "[string]アイテムセットを識別する名前"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.acquire_item_set_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    itemName="[string]アイテムモデル名",
    userId="[string]ユーザーID",
    acquireCount="[long]入手する量",
    expiresAt="[long]有効期限",
    createNewItemSet="[bool]既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか",
    itemSetName="[string]アイテムセットを識別する名前",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:AcquireItemSetWithGradeByUserId

ユーザーIDを指定して GS2-Grade にグレードを設定しつつ、アイテムセットを1つ入手<br>

アイテムを1つ入手すると同時に、GS2-Grade を通じてグレード値を設定します。<br>
各アイテムが異なるグレード値を持つ品質/ランクシステム（例：異なるステータスの装備）を持つアイテムに使用されます。<br>
常に新しいアイテムセットが作成され（createNewItemSet の動作）、アイテム入手後に GS2-Grade の SetGradeByUserId を通じてグレードが設定されます。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| gradeModelId | string |  | ✓|  |  ~ 1024文字 | グレードモデルGRN |
| gradeValue | long |  | ✓|  | 1 ~ 9223372036854775805 | 設定するグレード値 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AcquireItemSetWithGradeByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "itemName": "[string]アイテムモデル名",
        "userId": "[string]ユーザーID",
        "gradeModelId": "[string]グレードモデルGRN",
        "gradeValue": "[long]設定するグレード値",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AcquireItemSetWithGradeByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  itemName: "[string]アイテムモデル名"
  userId: "[string]ユーザーID"
  gradeModelId: "[string]グレードモデルGRN"
  gradeValue: "[long]設定するグレード値"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.acquire_item_set_with_grade_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    itemName="[string]アイテムモデル名",
    userId="[string]ユーザーID",
    gradeModelId="[string]グレードモデルGRN",
    gradeValue="[long]設定するグレード値",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:AddReferenceOfByUserId

ユーザーIDを指定してアイテムに参照元を追加<br>

指定ユーザーの指定されたアイテムセットに参照元文字列を登録します。<br>
参照元はアイテムセットを外部エンティティ（装備スロットやキャラクターなど）に関連付けます。<br>
インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなり、装備中のアイテムの誤消費を防止できます。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| itemSetName | string |  | ✓| UUID |  ~ 36文字 | アイテムセットを識別する名前<br>アイテムセットの一意な名前を保持します。<br>名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 |
| referenceOf | string |  | ✓|  |  ~ 1024文字 | 参照元<br>装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AddReferenceOfByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]アイテムモデル名",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "referenceOf": "[string]参照元",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AddReferenceOfByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]アイテムモデル名"
  itemSetName: "[string]アイテムセットを識別する名前"
  referenceOf: "[string]参照元"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.add_reference_of_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]アイテムモデル名",
    itemSetName="[string]アイテムセットを識別する名前",
    referenceOf="[string]参照元",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:DeleteReferenceOfByUserId

ユーザーIDを指定してアイテムの参照元を削除<br>

指定ユーザーの指定されたアイテムセットから特定の参照元文字列を削除します。<br>
削除後、protectReferencedItem が有効で他の参照元が残っていない場合、アイテムは再び消費・削除が可能になります。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | インベントリモデル名<br>このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | アイテムモデル名<br>このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 |
| itemSetName | string |  | ✓| UUID |  ~ 36文字 | アイテムセットを識別する名前<br>アイテムセットの一意な名前を保持します。<br>名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 |
| referenceOf | string |  | ✓|  |  ~ 1024文字 | 参照元<br>装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:DeleteReferenceOfByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]アイテムモデル名",
        "itemSetName": "[string]アイテムセットを識別する名前",
        "referenceOf": "[string]参照元",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:DeleteReferenceOfByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]アイテムモデル名"
  itemSetName: "[string]アイテムセットを識別する名前"
  referenceOf: "[string]参照元"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.delete_reference_of_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]アイテムモデル名",
    itemSetName="[string]アイテムセットを識別する名前",
    referenceOf="[string]参照元",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:AcquireSimpleItemsByUserId

ユーザーIDを指定してシンプルアイテムを入手<br>

入手数量のバッチを使用して、ユーザーのシンプルインベントリにアイテムを追加します。<br>
単一のアトミック操作で複数のアイテムを入手できます。acquireCounts 配列で各アイテムの名前と数量を指定します。<br>
通常のアイテムセットとは異なり、シンプルアイテムには容量制限、スタック制限、有効期限がありません。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | シンプルインベントリモデル名<br>シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| acquireCounts | List&lt;AcquireCount&gt; |  | ✓|  | 1 ~ 100 items | シンプルアイテムの入手数量リスト |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AcquireSimpleItemsByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]シンプルインベントリモデル名",
        "userId": "[string]ユーザーID",
        "acquireCounts": [
            {
                "itemName": "[string]シンプルアイテムモデル名",
                "count": "[long]入手する量"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AcquireSimpleItemsByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]シンプルインベントリモデル名"
  userId: "[string]ユーザーID"
  acquireCounts: 
    - itemName: "[string]シンプルアイテムモデル名"
      count: "[long]入手する量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.acquire_simple_items_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]シンプルインベントリモデル名",
    userId="[string]ユーザーID",
    acquireCounts={
        {
            itemName="[string]シンプルアイテムモデル名",
            count="[long]入手する量"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:SetSimpleItemsByUserId

ユーザーIDを指定してシンプルアイテムを設定<br>

単一のアトミック操作で複数のシンプルアイテムの絶対数量を設定します。<br>
counts 配列で各アイテムの名前とターゲット数量を指定します。<br>
入手/消費が相対的な操作であるのに対し、こちらは現在の数量を完全に上書きします。

**数量指定可能なアクション：いいえ**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | シンプルインベントリモデル名<br>シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| counts | List&lt;HeldCount&gt; |  | ✓|  | 1 ~ 100 items | シンプルアイテムの所持数量リスト |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:SetSimpleItemsByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]シンプルインベントリモデル名",
        "userId": "[string]ユーザーID",
        "counts": [
            {
                "itemName": "[string]シンプルアイテムモデル名",
                "count": "[long]所持数量"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:SetSimpleItemsByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]シンプルインベントリモデル名"
  userId: "[string]ユーザーID"
  counts: 
    - itemName: "[string]シンプルアイテムモデル名"
      count: "[long]所持数量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.set_simple_items_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]シンプルインベントリモデル名",
    userId="[string]ユーザーID",
    counts={
        {
            itemName="[string]シンプルアイテムモデル名",
            count="[long]所持数量"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:AcquireBigItemByUserId

ユーザーIDを指定して巨大アイテムを入手<br>

任意精度演算を使用して、ユーザーの巨大アイテム数量に指定された数量を加算します。<br>
acquireCount は最大1024桁の有効な整数文字列でなければならず、無効な形式はエラーになります。<br>
アイテムがまだ存在しない場合は自動的に作成されます。<br>
ネームスペース設定により、巨大アイテム入手時にカスタムロジックを実行する GS2-Script を設定できます。

**数量指定可能なアクション：はい**

**反転可能なアクション：はい**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | 巨大インベントリモデル名<br>巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | 巨大アイテムモデル名<br>巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| acquireCount | string |  | ✓|  |  ~ 1024文字 | 巨大アイテムの入手数量<br>最大1024桁までの整数値文字列 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:AcquireBigItemByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]巨大インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]巨大アイテムモデル名",
        "acquireCount": "[string]巨大アイテムの入手数量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:AcquireBigItemByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]巨大インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]巨大アイテムモデル名"
  acquireCount: "[string]巨大アイテムの入手数量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.acquire_big_item_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]巨大インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]巨大アイテムモデル名",
    acquireCount="[string]巨大アイテムの入手数量",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Inventory:SetBigItemByUserId

ユーザーIDを指定して巨大アイテムを設定<br>

巨大アイテムの数量を指定された絶対値に設定し、現在の数量を完全に置き換えます。<br>
数量は最大1024桁の有効な整数文字列でなければなりません。<br>
アイテムがまだ存在しない場合は自動的に作成されます。<br>
入手・消費のような相対操作とは異なり、正確な値を直接設定します。

**数量指定可能なアクション：はい**

**反転可能なアクション：いいえ**

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| inventoryName | string |  | ✓|  |  ~ 128文字 | 巨大インベントリモデル名<br>巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| itemName | string |  | ✓|  |  ~ 128文字 | 巨大アイテムモデル名<br>巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| count | string |  | ✓|  |  ~ 1024文字 | 巨大アイテムの数量<br>最大1024桁までの整数値文字列 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Inventory:SetBigItemByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "inventoryName": "[string]巨大インベントリモデル名",
        "userId": "[string]ユーザーID",
        "itemName": "[string]巨大アイテムモデル名",
        "count": "[string]巨大アイテムの数量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Inventory:SetBigItemByUserId
request:
  namespaceName: "[string]ネームスペース名"
  inventoryName: "[string]巨大インベントリモデル名"
  userId: "[string]ユーザーID"
  itemName: "[string]巨大アイテムモデル名"
  count: "[string]巨大アイテムの数量"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("inventory").acquire.set_big_item_by_user_id({
    namespaceName="[string]ネームスペース名",
    inventoryName="[string]巨大インベントリモデル名",
    userId="[string]ユーザーID",
    itemName="[string]巨大アイテムモデル名",
    count="[string]巨大アイテムの数量",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---



