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

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

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





## Consume Action

消費アクション

### Gs2Formation:SubMoldCapacityByUserId

ユーザーIDを指定してキャパシティサイズを減算<br>

指定されたユーザーのフォームの保存領域（モールド）のキャパシティを減算します。キャパシティは0を下回りません。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| moldModelName | string |  | ✓|  |  ~ 128文字 | フォームの保存領域モデルの名前<br>フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| capacity | int |  | ✓|  | 0 ~ 2147483646 | 現在のキャパシティ<br>この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:SubMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "moldModelName": "[string]フォームの保存領域モデルの名前",
        "capacity": "[int]現在のキャパシティ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:SubMoldCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  moldModelName: "[string]フォームの保存領域モデルの名前"
  capacity: "[int]現在のキャパシティ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").consume.sub_mold_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    moldModelName="[string]フォームの保存領域モデルの名前",
    capacity="[int]現在のキャパシティ",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Acquire Action

入手アクション

### Gs2Formation:AddMoldCapacityByUserId

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

指定されたユーザーのフォームの保存領域（モールド）のキャパシティを加算します。<br>
キャパシティはモールドモデルで定義された maxCapacity を超えることはできません。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| moldModelName | string |  | ✓|  |  ~ 128文字 | フォームの保存領域モデルの名前<br>フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| capacity | int |  | ✓|  | 0 ~ 2147483646 | 現在のキャパシティ<br>この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:AddMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "moldModelName": "[string]フォームの保存領域モデルの名前",
        "capacity": "[int]現在のキャパシティ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:AddMoldCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  moldModelName: "[string]フォームの保存領域モデルの名前"
  capacity: "[int]現在のキャパシティ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").acquire.add_mold_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    moldModelName="[string]フォームの保存領域モデルの名前",
    capacity="[int]現在のキャパシティ",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Formation:SetMoldCapacityByUserId

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

指定されたユーザーのフォームの保存領域（モールド）のキャパシティを指定の値に直接設定します。<br>
更新前のモールドを 'old' として、更新後のモールドと共に返します。<br>
キャパシティはモールドモデルで定義された maxCapacity で上限が制限されます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| moldModelName | string |  | ✓|  |  ~ 128文字 | フォームの保存領域モデルの名前<br>フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| capacity | int |  | ✓|  | 0 ~ 2147483646 | 現在のキャパシティ<br>この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:SetMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "moldModelName": "[string]フォームの保存領域モデルの名前",
        "capacity": "[int]現在のキャパシティ",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:SetMoldCapacityByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  moldModelName: "[string]フォームの保存領域モデルの名前"
  capacity: "[int]現在のキャパシティ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").acquire.set_mold_capacity_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    moldModelName="[string]フォームの保存領域モデルの名前",
    capacity="[int]現在のキャパシティ",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Formation:AcquireActionsToFormProperties

ユーザーIDを指定してフォームのプロパティに入手アクションを適用<br>

フォームのスロットプロパティに入手アクションを適用し、実行するトランザクションを開始します。<br>
フォームのスロットにアイテムやリソースを付与するために使用され、カスタマイズ用のオプションのコンフィグパラメータが利用できます。<br>
トランザクションを返します。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| moldModelName | string |  | ✓|  |  ~ 128文字 | フォームの保存領域モデルの名前 |
| index | int |  | ✓|  | 0 ~ 2147483646 | フォームのインデックス<br>保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 |
| acquireAction | AcquireAction |  | ✓|  |  | フォームのプロパティに適用する入手アクション |
| config | List&lt;Config&gt; |  | | [] | 0 ~ 1000 items | 入手アクションに適用するコンフィグ |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:AcquireActionsToFormProperties",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "moldModelName": "[string]フォームの保存領域モデルの名前",
        "index": "[int]フォームのインデックス",
        "acquireAction": {
            "action": "[string]入手アクションで実行するアクションの種類",
            "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        },
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:AcquireActionsToFormProperties
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  moldModelName: "[string]フォームの保存領域モデルの名前"
  index: "[int]フォームのインデックス"
  acquireAction: 
    action: "[string]入手アクションで実行するアクションの種類"
    request: "[string]アクション実行時に使用されるリクエストのJSON文字列"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").acquire.acquire_actions_to_form_properties({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    moldModelName="[string]フォームの保存領域モデルの名前",
    index="[int]フォームのインデックス",
    acquireAction={
        action="[string]入手アクションで実行するアクションの種類",
        request="[string]アクション実行時に使用されるリクエストのJSON文字列"
    },
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Formation:SetFormByUserId

ユーザーIDを指定してフォームを設定<br>

指定されたユーザーのフォームのスロット値を更新します。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| moldModelName | string |  | ✓|  |  ~ 128文字 | フォームの保存領域モデルの名前 |
| index | int |  | ✓|  | 0 ~ 2147483646 | フォームのインデックス<br>保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 |
| slots | List&lt;Slot&gt; |  | ✓|  | 1 ~ 10 items | スロットリスト |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:SetFormByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "moldModelName": "[string]フォームの保存領域モデルの名前",
        "index": "[int]フォームのインデックス",
        "slots": [
            {
                "name": "[string]スロットモデル名",
                "propertyId": "[string]プロパティID",
                "metadata": "[string]メタデータ"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:SetFormByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  moldModelName: "[string]フォームの保存領域モデルの名前"
  index: "[int]フォームのインデックス"
  slots: 
    - name: "[string]スロットモデル名"
      propertyId: "[string]プロパティID"
      metadata: "[string]メタデータ"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").acquire.set_form_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    moldModelName="[string]フォームの保存領域モデルの名前",
    index="[int]フォームのインデックス",
    slots={
        {
            name="[string]スロットモデル名",
            propertyId="[string]プロパティID",
            metadata="[string]メタデータ"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Formation:AcquireActionsToPropertyFormProperties

プロパティフォームのプロパティに入手アクションを適用<br>

プロパティフォームのプロパティに入手アクションを適用し、トランザクションを開始します。<br>
プロパティフォームのスロット値として設定されるアイテムやリソースを付与するために使用されます。<br>
入手アクションはトランザクションとして実行され、結果のアイテムがフォームのスロットプロパティに適用されます。<br>
入手アクションの動作をカスタマイズするためのコンフィグ値を渡すことができます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| propertyFormModelName | string |  | ✓|  |  ~ 128文字 | プロパティフォームモデル名 |
| propertyId | string |  | ✓|  |  ~ 1024文字 | プロパティID<br>このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 |
| acquireAction | AcquireAction |  | ✓|  |  | プロパティフォームのプロパティに適用する入手アクション |
| config | List&lt;Config&gt; |  | | [] | 0 ~ 1000 items | 入手アクションに適用するコンフィグ |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Formation:AcquireActionsToPropertyFormProperties",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "propertyFormModelName": "[string]プロパティフォームモデル名",
        "propertyId": "[string]プロパティID",
        "acquireAction": {
            "action": "[string]入手アクションで実行するアクションの種類",
            "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        },
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Formation:AcquireActionsToPropertyFormProperties
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  propertyFormModelName: "[string]プロパティフォームモデル名"
  propertyId: "[string]プロパティID"
  acquireAction: 
    action: "[string]入手アクションで実行するアクションの種類"
    request: "[string]アクション実行時に使用されるリクエストのJSON文字列"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("formation").acquire.acquire_actions_to_property_form_properties({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    propertyFormModelName="[string]プロパティフォームモデル名",
    propertyId="[string]プロパティID",
    acquireAction={
        action="[string]入手アクションで実行するアクションの種類",
        request="[string]アクション実行時に使用されるリクエストのJSON文字列"
    },
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---



