Documentation index for AI agents

GS2-Stamina トランザクションアクション

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

アクションの組み合わせと同時実行

すべてのサービスに共通する前提は トランザクションアクションの組み合わせ にまとめています。先にそちらを読んでください。この節の残りは GS2-Stamina 固有の内容です。

GS2-Stamina のトランザクションアクションは、ネームスペース・ユーザー・スタミナモデルの組で決まる 1 つのスタミナを対象にします。スタミナはスタミナ値・最大値・回復間隔・回復量・超過値をまとめて保持しますが、各アクションは自分が実際に変える値だけを書き込むため、変える値が違えば別の対象になります。

操作同じ行を重ねたとき入れ子越し別の対象になる境界
スタミナ値の回復・消費
RecoverStaminaByUserId ConsumeStaminaByUserId
統合される。合算した値で判定される合算される。ただし回復の合計が自然回復で到達できる範囲を超えるとコンフリクト (409) になり、リトライでは解消しませんネームスペース・ユーザー・スタミナモデル・スタミナ値
最大値の加算・減算
RaiseMaxValueByUserId DecreaseMaxValueByUserId
統合される。合算した値で判定される合算されるネームスペース・ユーザー・スタミナモデル・最大値
最大値の設定
SetMaxValueByUserId
同値なら統合。値が違えば発行時にエラー失敗するネームスペース・ユーザー・スタミナモデル・最大値
回復間隔の設定
SetRecoverIntervalByUserId
同値なら統合。値が違えば発行時にエラー失敗するネームスペース・ユーザー・スタミナモデル・回復間隔
回復量の設定
SetRecoverValueByUserId
同値なら統合。値が違えば発行時にエラー失敗するネームスペース・ユーザー・スタミナモデル・回復量
検証アクション全般しきい値が合算された 1 つの条件になる。他サービスのような先勝ちではない読み取りだけなので衝突しないネームスペース・ユーザー・スタミナモデル・検証タイプ

最大値の行は 2 つあり、境界が同じなので同居させられません。設定と加算・減算を 1 つのトランザクションに入れると失敗します。

回復と消費は統合後の合計で判定されます。スタミナ値は 0 を下回れず、回復は自然回復で到達できる範囲を超えられないので、単独なら収まる回復でも他の回復と合わさると弾かれることがあります。

検証アクションはトランザクション開始時点のスタミナを見ます。同じトランザクションで到達する値を検証することはできません。しきい値がまとめられてしまうので、検証タイプごとに 1 つまでにしてください。

入れ子になったトランザクションに注意

例外は回復だけです。回復が内側と外側の両方から届き、その合計が自然回復で到達できる範囲を超えると、リトライしても解消しないコンフリクト (409) になります。1 つのスタミナへの回復は、報酬や抽選の中身も含めて 1 トランザクションにつき 1 箇所にまとめてください。まとめられない場合は、下記の設定で回避できます。

制限を回避したい場合

スタミナ値の回復、最大値の加算・設定、回復間隔と回復量の設定は入手アクション、スタミナ値の消費と最大値の減算は消費アクションです。内側と外側から届いた回復どうしの衝突は acquireActionUseJobQueue を有効にすれば解消できますが、最大値の設定と減算の同居は enableAtomicCommit を無効にしないと解消しません。

同時実行とリトライ

回復・消費・最大値の増減・回復間隔や回復量の変更は、それぞれの結果が許容範囲に収まるかぎり、同時実行のリクエストが何本重なってもコンフリクトしません。変える値が違うリクエストどうしもコンフリクトしません。

それでもコンフリクト (409) が返ることがあるのは、同時に走った消費の合計が所持しているスタミナを超えた場合、同時に走った回復が自然回復の範囲を超える場合、管理コンソールやサーバー API からの変更と重なった場合です。1 つ目と 3 つ目はリトライすると最新の状態で判定し直されるので、収まっていれば成功します。


Verify Action

検証アクション

Gs2Stamina:VerifyStaminaValueByUserId

ユーザーIDを指定してスタミナ現在値を検証

指定されたユーザーの現在のスタミナ値が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
less現在値が指定値未満であること
lessEqual現在値が指定値以下であること
greater現在値が指定値超過であること
greaterEqual現在値が指定値以上であること
equal現在値が指定値と一致すること
notEqual現在値が指定値と一致しないこと
valueint
0 ~ 2147483646現在値
multiplyValueSpecifyingQuantitybooltrue数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:VerifyStaminaValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "staminaName": "[string]スタミナモデル名",
        "verifyType": "[string]検証の種類",
        "value": "[int]現在値",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:VerifyStaminaValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  staminaName: "[string]スタミナモデル名"
  verifyType: "[string]検証の種類"
  value: "[int]現在値"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").verify.verify_stamina_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    staminaName="[string]スタミナモデル名",
    verifyType="[string]検証の種類",
    value="[int]現在値",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:VerifyStaminaMaxValueByUserId

ユーザーIDを指定してスタミナ最大値を検証

指定されたユーザーのスタミナの最大容量(バフによる変更を含む)が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
less最大値が指定値未満であること
lessEqual最大値が指定値以下であること
greater最大値が指定値超過であること
greaterEqual最大値が指定値以上であること
equal最大値が指定値と一致すること
notEqual最大値が指定値と一致しないこと
valueint
0 ~ 2147483646最大値
multiplyValueSpecifyingQuantitybooltrue数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:VerifyStaminaMaxValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "staminaName": "[string]スタミナモデル名",
        "verifyType": "[string]検証の種類",
        "value": "[int]最大値",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:VerifyStaminaMaxValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  staminaName: "[string]スタミナモデル名"
  verifyType: "[string]検証の種類"
  value: "[int]最大値"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").verify.verify_stamina_max_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    staminaName="[string]スタミナモデル名",
    verifyType="[string]検証の種類",
    value="[int]最大値",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId

ユーザーIDを指定してスタミナ回復間隔(分)を検証

指定されたユーザーのスタミナの回復間隔(分)が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
less回復速度が指定値未満であること
lessEqual回復速度が指定値以下であること
greater回復速度が指定値超過であること
greaterEqual回復速度が指定値以上であること
equal回復速度が指定値と一致すること
notEqual回復速度が指定値と一致しないこと
valueint
0 ~ 2147483646回復速度
multiplyValueSpecifyingQuantitybooltrue数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "staminaName": "[string]スタミナモデル名",
        "verifyType": "[string]検証の種類",
        "value": "[int]回復速度",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  staminaName: "[string]スタミナモデル名"
  verifyType: "[string]検証の種類"
  value: "[int]回復速度"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").verify.verify_stamina_recover_interval_minutes_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    staminaName="[string]スタミナモデル名",
    verifyType="[string]検証の種類",
    value="[int]回復速度",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:VerifyStaminaRecoverValueByUserId

ユーザーIDを指定してスタミナ回復量を検証

指定されたユーザーのスタミナの回復量(バフによる変更を含む)が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
less回復量が指定値未満であること
lessEqual回復量が指定値以下であること
greater回復量が指定値超過であること
greaterEqual回復量が指定値以上であること
equal回復量が指定値と一致すること
notEqual回復量が指定値と一致しないこと
valueint
0 ~ 2147483646回復量
multiplyValueSpecifyingQuantitybooltrue数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:VerifyStaminaRecoverValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "staminaName": "[string]スタミナモデル名",
        "verifyType": "[string]検証の種類",
        "value": "[int]回復量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:VerifyStaminaRecoverValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  staminaName: "[string]スタミナモデル名"
  verifyType: "[string]検証の種類"
  value: "[int]回復量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").verify.verify_stamina_recover_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    staminaName="[string]スタミナモデル名",
    verifyType="[string]検証の種類",
    value="[int]回復量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:VerifyStaminaOverflowValueByUserId

ユーザーIDを指定してスタミナオーバーフロー量を検証

指定されたユーザーのスタミナのオーバーフロー量が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
verifyType文字列列挙型
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
検証の種類
定義説明
lessオーバーフロー量が指定値未満であること
lessEqualオーバーフロー量が指定値以下であること
greaterオーバーフロー量が指定値超過であること
greaterEqualオーバーフロー量が指定値以上であること
equalオーバーフロー量が指定値と一致すること
notEqualオーバーフロー量が指定値と一致しないこと
valueint
0 ~ 2147483646オーバーフロー量
multiplyValueSpecifyingQuantitybooltrue数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:VerifyStaminaOverflowValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "staminaName": "[string]スタミナモデル名",
        "verifyType": "[string]検証の種類",
        "value": "[int]オーバーフロー量",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:VerifyStaminaOverflowValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  staminaName: "[string]スタミナモデル名"
  verifyType: "[string]検証の種類"
  value: "[int]オーバーフロー量"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").verify.verify_stamina_overflow_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    staminaName="[string]スタミナモデル名",
    verifyType="[string]検証の種類",
    value="[int]オーバーフロー量",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Consume Action

消費アクション

Gs2Stamina:DecreaseMaxValueByUserId

ユーザーIDを指定してスタミナの最大値の減算

指定されたユーザーのスタミナの最大容量を指定された量だけ減少させます。スタミナ容量へのデバフやペナルティの適用に使用できます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
decreaseValueint
0 ~ 2147483646減算する最大スタミナ量
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:DecreaseMaxValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "decreaseValue": "[int]減算する最大スタミナ量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:DecreaseMaxValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  decreaseValue: "[int]減算する最大スタミナ量"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").consume.decrease_max_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    decreaseValue="[int]減算する最大スタミナ量",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:ConsumeStaminaByUserId

ユーザーIDを指定してスタミナを消費

指定されたユーザーの現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
consumeValueint
1 ~ 2147483646消費するスタミナ量
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:ConsumeStaminaByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "consumeValue": "[int]消費するスタミナ量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:ConsumeStaminaByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  consumeValue: "[int]消費するスタミナ量"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").consume.consume_stamina_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    consumeValue="[int]消費するスタミナ量",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Acquire Action

入手アクション

Gs2Stamina:RecoverStaminaByUserId

ユーザーIDを指定してスタミナを回復

指定された量のスタミナを最大容量まで回復します。回復により値が最大値を超え、オーバーフローモードが有効な場合、超過分はオーバーフロー値として記録されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
recoverValueint
1 ~ 2147483646スタミナの回復量
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:RecoverStaminaByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "recoverValue": "[int]スタミナの回復量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:RecoverStaminaByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  recoverValue: "[int]スタミナの回復量"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").acquire.recover_stamina_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    recoverValue="[int]スタミナの回復量",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:RaiseMaxValueByUserId

ユーザーIDを指定してスタミナの最大値を加算

指定された量だけスタミナの最大容量を恒久的に増加させます。レベルアップ報酬やアイテム効果などの恒久的なステータス上昇に使用されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
raiseValueint
0 ~ 2147483646上昇する最大スタミナ量
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:RaiseMaxValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "raiseValue": "[int]上昇する最大スタミナ量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:RaiseMaxValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  raiseValue: "[int]上昇する最大スタミナ量"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").acquire.raise_max_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    raiseValue="[int]上昇する最大スタミナ量",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:SetMaxValueByUserId

ユーザーIDを指定してスタミナの最大値を更新

スタミナの最大容量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。管理者によるオーバーライドや特別イベントでの調整に使用されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
maxValueint
1 ~ 2147483646スタミナの最大値
StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。
オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。
自然回復はこの値で停止します。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:SetMaxValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "maxValue": "[int]スタミナの最大値",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:SetMaxValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  maxValue: "[int]スタミナの最大値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").acquire.set_max_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    maxValue="[int]スタミナの最大値",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:SetRecoverIntervalByUserId

ユーザーIDを指定してスタミナの回復間隔(分)を更新

スタミナの回復間隔を指定された値(分)に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。スタミナが自動的に回復する頻度を制御します。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
recoverIntervalMinutesint
1 ~ 2147483646スタミナの回復間隔(分)
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:SetRecoverIntervalByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "recoverIntervalMinutes": "[int]スタミナの回復間隔(分)",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:SetRecoverIntervalByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  recoverIntervalMinutes: "[int]スタミナの回復間隔(分)"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").acquire.set_recover_interval_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    recoverIntervalMinutes="[int]スタミナの回復間隔(分)",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Stamina:SetRecoverValueByUserId

ユーザーIDを指定してスタミナの回復量を設定

スタミナの回復量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。回復間隔ごとに回復するスタミナ量を制御します。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaNamestring
~ 128文字スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
recoverValueint
1 ~ 2147483646スタミナの回復量
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Stamina:SetRecoverValueByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "staminaName": "[string]スタミナモデル名",
        "userId": "[string]ユーザーID",
        "recoverValue": "[int]スタミナの回復量",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Stamina:SetRecoverValueByUserId
request:
  namespaceName: "[string]ネームスペース名"
  staminaName: "[string]スタミナモデル名"
  userId: "[string]ユーザーID"
  recoverValue: "[int]スタミナの回復量"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("stamina").acquire.set_recover_value_by_user_id({
    namespaceName="[string]ネームスペース名",
    staminaName="[string]スタミナモデル名",
    userId="[string]ユーザーID",
    recoverValue="[int]スタミナの回復量",
    timeOffsetToken="[string]タイムオフセットトークン",
})