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

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

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

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

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

操作 同じ行を重ねたとき 入れ子越し 別の対象になる境界 直列実行モード有効時
スタミナ値の回復・消費
RecoverStaminaByUserId ConsumeStaminaByUserId
統合される。合算した値で判定される 合算される。ただし回復の合計が自然回復で到達できる範囲を超えるとコンフリクト (409) になり、リトライでは解消しません ネームスペース・ユーザー・スタミナモデル・スタミナ値 変わらない。コンフリクトになる場合も含めて挙動は同じ
最大値の加算・減算
RaiseMaxValueByUserId DecreaseMaxValueByUserId
統合される。合算した値で判定される 合算される ネームスペース・ユーザー・スタミナモデル・最大値 変わらない。もともと合算されて成立する
最大値の設定
SetMaxValueByUserId
同値なら統合。値が違えば発行時にエラー 失敗する ネームスペース・ユーザー・スタミナモデル・最大値 同値なら入れ子越しでも成立する。値が違う場合は引き続きエラー (400)。値の絶対指定なので、後から実行された方が先の値を黙って上書きすることは許されない
回復間隔の設定
SetRecoverIntervalByUserId
同値なら統合。値が違えば発行時にエラー 失敗する ネームスペース・ユーザー・スタミナモデル・回復間隔 同値なら入れ子越しでも成立する。値が違う場合は引き続きエラー (400)。値の絶対指定なので、後から実行された方が先の値を黙って上書きすることは許されない
回復量の設定
SetRecoverValueByUserId
同値なら統合。値が違えば発行時にエラー 失敗する ネームスペース・ユーザー・スタミナモデル・回復量 同値なら入れ子越しでも成立する。値が違う場合は引き続きエラー (400)。値の絶対指定なので、後から実行された方が先の値を黙って上書きすることは許されない
検証アクション全般 multiplyValueSpecifyingQuantity 未指定なら、検証タイプが greater greaterEqual のときはしきい値が合算された 1 つの条件になり、less lessEqual equal notEqual はまったく同じ検証が 1 件にまとめられるだけ。明示的に指定した場合は検証タイプによらずその指定に従う 読み取りだけなので衝突しない ネームスペース・ユーザー・スタミナモデル・検証タイプ 変わらない。読み取りだけなのでもともと衝突しない

最大値の行は 2 つあり、境界が同じなので同居させられません。設定と加算・減算を 1 つのトランザクションに入れると失敗します。直列実行モード(enableSequentialExecution または TransactionSettingV2)を有効にすると、アクションが 1 件ずつ実行され、それぞれが直前のアクションの書き込みを見られるようになるため、この制約はなくなります。最大値の設定と加算・減算を 1 つのトランザクションに入れられるようになります。結果は、正規化後の実行順で後から実行された方のアクションによって決まります(記述順ではありません)。設定が後なら絶対値でそのまま上書きされ、加算・減算が後ならもう一方が残した値に対する増減になります。

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

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

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

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

制限を回避したい場合

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

同時実行とリトライ

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

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


Verify Action

検証アクション

Gs2Stamina:VerifyStaminaValueByUserId

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
decreaseValue int
✓
0 ~ 2147483646 減算する最大スタミナ量
timeOffsetToken string ~ 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エラーを返します。

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
consumeValue int
✓
1 ~ 2147483646 消費するスタミナ量
timeOffsetToken string ~ 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を指定してスタミナを回復

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

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
recoverValue int
✓
1 ~ 2147483646 スタミナの回復量
timeOffsetToken string ~ 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を指定してスタミナの最大値を加算

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

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
raiseValue int
✓
0 ~ 2147483646 上昇する最大スタミナ量
timeOffsetToken string ~ 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を指定してスタミナの最大値を更新

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

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
maxValue int
✓
1 ~ 2147483646 スタミナの最大値
StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。
オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。
自然回復はこの値で停止します。
timeOffsetToken string ~ 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を指定してスタミナの回復間隔(分)を更新

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

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

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

型 有効化条件 必須 デフォルト 値の制限 説明
namespaceName string
✓
~ 128文字 ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
staminaName string
✓
~ 128文字 スタミナモデル名
このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。
ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。
userId string
✓
~ 128文字 ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
recoverIntervalMinutes int
✓
1 ~ 2147483646 スタミナの回復間隔(分)
timeOffsetToken string ~ 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を指定してスタミナの回復量を設定

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

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

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

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