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

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

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





## Consume Action

消費アクション

### Gs2Idle:DecreaseMaximumIdleMinutesByUserId

ユーザーIDを指定して最大待機時間を減算<br>

指定されたカテゴリーにおけるユーザーの最大待機時間から指定された分数を減算します。<br>
最大待機時間はゼロを下回ることはできません。<br>
ステータスがまだ存在しない場合、減算を適用する前に自動的に作成されます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| categoryName | string |  | ✓|  |  ~ 128文字 | カテゴリーモデル名<br>このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 |
| decreaseMinutes | int |  | |  | 1 ~ 2147483646 | 最大待機時間を減らす分数 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "categoryName": "[string]カテゴリーモデル名",
        "decreaseMinutes": "[int]最大待機時間を減らす分数",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Idle:DecreaseMaximumIdleMinutesByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  categoryName: "[string]カテゴリーモデル名"
  decreaseMinutes: "[int]最大待機時間を減らす分数"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("idle").consume.decrease_maximum_idle_minutes_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    categoryName="[string]カテゴリーモデル名",
    decreaseMinutes="[int]最大待機時間を減らす分数",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

## Acquire Action

入手アクション

### Gs2Idle:IncreaseMaximumIdleMinutesByUserId

ユーザーIDを指定して最大待機時間を加算<br>

指定されたカテゴリーにおけるユーザーの最大待機時間に指定された分数を加算します。<br>
最大待機時間は、放置報酬が蓄積される時間の上限を決定します。<br>
ステータスがまだ存在しない場合、加算を適用する前に自動的に作成されます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| categoryName | string |  | ✓|  |  ~ 128文字 | カテゴリーモデル名<br>このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 |
| increaseMinutes | int |  | |  | 1 ~ 2147483646 | 最大待機時間を増やす分数 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "categoryName": "[string]カテゴリーモデル名",
        "increaseMinutes": "[int]最大待機時間を増やす分数",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Idle:IncreaseMaximumIdleMinutesByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  categoryName: "[string]カテゴリーモデル名"
  increaseMinutes: "[int]最大待機時間を増やす分数"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("idle").acquire.increase_maximum_idle_minutes_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    categoryName="[string]カテゴリーモデル名",
    increaseMinutes="[int]最大待機時間を増やす分数",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Idle:SetMaximumIdleMinutesByUserId

ユーザーIDを指定して最大待機時間を設定<br>

指定されたカテゴリーにおけるユーザーの最大待機時間を指定された絶対値に設定します。<br>
加算/減算操作とは異なり、現在の最大待機時間を直接置き換えます。<br>
更新後のステータスと更新前のステータスの両方を返すため、呼び出し元は変更内容を確認できます。<br>
ステータスがまだ存在しない場合、値を適用する前に自動的に作成されます。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| categoryName | string |  | ✓|  |  ~ 128文字 | カテゴリーモデル名<br>このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 |
| maximumIdleMinutes | int |  | |  | 1 ~ 2147483646 | 設定する最大待機時間 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Idle:SetMaximumIdleMinutesByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "categoryName": "[string]カテゴリーモデル名",
        "maximumIdleMinutes": "[int]設定する最大待機時間",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Idle:SetMaximumIdleMinutesByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  categoryName: "[string]カテゴリーモデル名"
  maximumIdleMinutes: "[int]設定する最大待機時間"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("idle").acquire.set_maximum_idle_minutes_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    categoryName="[string]カテゴリーモデル名",
    maximumIdleMinutes="[int]設定する最大待機時間",
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---

### Gs2Idle:ReceiveByUserId

ユーザーIDを指定して報酬を受け取る<br>

指定されたユーザーとカテゴリーの蓄積された待機時間に基づいて放置報酬を受け取ります。<br>
報酬量は、経過した待機時間を rewardIntervalMinutes で割った値から計算され、maximumIdleMinutes で上限が設定されます。<br>
receiveScript が設定されている場合、報酬付与前に実行され、受け取り操作を変更または拒否できます。<br>
overrideAcquireActionsScriptId によって入手アクション（レート修正の適用など）を変更することも可能です。<br>
受け取り後、待機タイマーは現在時刻にリセットされます。<br>
計算された報酬の入手アクションを含むトランザクションを返します。

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

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

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128文字 | ネームスペース名<br>ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| userId | string |  | ✓|  |  ~ 128文字 | ユーザーID<br>`#{userId}` と設定することでログイン中のユーザーIDに置換されます。 |
| categoryName | string |  | ✓|  |  ~ 128文字 | カテゴリーモデル名<br>このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 |
| config | List&lt;Config&gt; |  | | [] | 0 ~ 32 items | トランザクションの変数に適用する設定値 |
| timeOffsetToken | string |  | |  |  ~ 1024文字 | タイムオフセットトークン |




**JSON**
```json
{
    "action": "Gs2Idle:ReceiveByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "categoryName": "[string]カテゴリーモデル名",
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
```

**YAML**
```yaml

action: Gs2Idle:ReceiveByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  categoryName: "[string]カテゴリーモデル名"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
```

**GS2-Script**
```lua

transaction.service("idle").acquire.receive_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    categoryName="[string]カテゴリーモデル名",
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})
```


---



