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

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

VerifyAction

検証アクション

Gs2Enchant:VerifyRarityParameterStatusByUserId

ユーザーIDを指定してレアリティパラメータを検証

指定されたユーザーのレアリティパラメータの状態が指定された条件を満たすかどうかを検証します。
3つの検証タイプがサポートされています:

  • ‘have’: 指定されたパラメータ値が状態に存在することを検証
  • ‘havent’: 指定されたパラメータ値が状態に存在しないことを検証
  • ‘count’: パラメータの数が指定された数と一致することを検証
    他のアクションを実行する前の前提条件チェックとして使用できます。

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
verifyType文字列列挙型
enum {
  “havent”,
  “have”,
  “count”
}
検証の種類
定義説明
“havent”指定したパラメータを保有していないこと
“have”指定したパラメータを保有していること
“count”保有しているパラメータの数が指定数であること
parameterValueNamestring{verifyType} in [“havent”, “have”]
✓※
~ 64文字名前
この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。
※ verifyType が “havent”,“have"であれば 必須
parameterCountint{verifyType} in [“count”]
✓※
0 ~ 10検証するパラメータの数
multiplyValueSpecifyingQuantityboolfalse数量指定した際に、検証に使用する値も乗算するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:VerifyRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "parameterName": "[string]レアリティパラメータモデル名",
        "userId": "[string]ユーザーID",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "verifyType": "[string]検証の種類",
        "parameterValueName": "[string]名前",
        "parameterCount": "[int]検証するパラメータの数",
        "multiplyValueSpecifyingQuantity": "[bool]数量指定した際に、検証に使用する値も乗算するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:VerifyRarityParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  parameterName: "[string]レアリティパラメータモデル名"
  userId: "[string]ユーザーID"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  verifyType: "[string]検証の種類"
  parameterValueName: "[string]名前"
  parameterCount: "[int]検証するパラメータの数"
  multiplyValueSpecifyingQuantity: "[bool]数量指定した際に、検証に使用する値も乗算するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").verify.verify_rarity_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    parameterName="[string]レアリティパラメータモデル名",
    userId="[string]ユーザーID",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    verifyType="[string]検証の種類",
    parameterValueName="[string]名前",
    parameterCount="[int]検証するパラメータの数",
    multiplyValueSpecifyingQuantity="[bool]数量指定した際に、検証に使用する値も乗算するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})

AcquireAction

入手アクション

Gs2Enchant:ReDrawBalanceParameterStatusByUserId

ユーザーIDを指定してバランスパラメータを再抽選

特定のプロパティのバランスパラメータ値を再抽選し、合計値をパラメータ間で再分配します。
fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定(ロック)して再抽選対象から除外できます(最大10個)。
合計値の制約は維持されます:固定されたものを含むすべてのパラメータ値の合計は常にモデルの合計値と等しくなります。
更新後と更新前のパラメータ状態の両方が返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
parameterNamestring
~ 128文字バランスパラメータモデル名
このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのバランスパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
fixedParameterNamesList<string>[]0 ~ 10 items再抽選しないパラメータの名前リスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "parameterName": "[string]バランスパラメータモデル名",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "fixedParameterNames": [
            "[string]再抽選しないパラメータの名前"
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:ReDrawBalanceParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  parameterName: "[string]バランスパラメータモデル名"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  fixedParameterNames: 
    - "[string]再抽選しないパラメータの名前"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").acquire.re_draw_balance_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    parameterName="[string]バランスパラメータモデル名",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    fixedParameterNames={
        "[string]再抽選しないパラメータの名前"
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enchant:SetBalanceParameterStatusByUserId

ユーザーIDを指定してバランスパラメータに任意の値を設定

通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。
これは任意のパラメータ値を割り当てることができる管理操作です。
更新後と更新前のパラメータ状態の両方が返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
parameterNamestring
~ 128文字バランスパラメータモデル名
このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのバランスパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
parameterValuesList<BalanceParameterValue>
1 ~ 10 itemsバランスパラメータの値リスト
抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:SetBalanceParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "parameterName": "[string]バランスパラメータモデル名",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "parameterValues": [
            {
                "name": "[string]名前",
                "value": "[long]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:SetBalanceParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  parameterName: "[string]バランスパラメータモデル名"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  parameterValues: 
    - name: "[string]名前"
      value: "[long]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").acquire.set_balance_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    parameterName="[string]バランスパラメータモデル名",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    parameterValues={
        {
            name="[string]名前",
            value="[long]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enchant:ReDrawRarityParameterStatusByUserId

ユーザーIDを指定してレアリティパラメータを再抽選

特定のプロパティのレアリティパラメータ値を再抽選し、レアリティウェイトに基づいてランダムに新しい値を割り当てます。
fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定(ロック)して再抽選対象から除外できます(最大10個)。
固定されたパラメータは現在の値を保持し、固定されていないパラメータのみが再抽選されます。
更新後と更新前のパラメータ状態の両方が返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
fixedParameterNamesList<string>0 ~ 10 items再抽選しないパラメータの名前リスト
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:ReDrawRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "parameterName": "[string]レアリティパラメータモデル名",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "fixedParameterNames": [
            "[string]再抽選しないパラメータの名前"
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:ReDrawRarityParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  parameterName: "[string]レアリティパラメータモデル名"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  fixedParameterNames: 
    - "[string]再抽選しないパラメータの名前"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").acquire.re_draw_rarity_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    parameterName="[string]レアリティパラメータモデル名",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    fixedParameterNames={
        "[string]再抽選しないパラメータの名前"
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enchant:AddRarityParameterStatusByUserId

ユーザーIDを指定してレアリティパラメータを追加

レアリティウェイトに基づいてランダムに値を抽選し、既存のレアリティパラメータ状態に新しいパラメータスロットを追加します。
count は追加するパラメータスロットの数(1〜10)を指定し、モデルの最大パラメータ数が上限となります。
更新後と更新前のパラメータ状態の両方が返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
countint11 ~ 10追加するパラメータの数
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:AddRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "parameterName": "[string]レアリティパラメータモデル名",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "count": "[int]追加するパラメータの数",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:AddRarityParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  parameterName: "[string]レアリティパラメータモデル名"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  count: "[int]追加するパラメータの数"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").acquire.add_rarity_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    parameterName="[string]レアリティパラメータモデル名",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    count="[int]追加するパラメータの数",
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enchant:SetRarityParameterStatusByUserId

ユーザーIDを指定してレアリティパラメータに任意の値を設定

通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。
これはレアリティウェイトに関係なく任意のパラメータ値を割り当てることができる管理操作です。
更新後と更新前のパラメータ状態の両方が返されます。

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

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

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
parameterNamestring
~ 128文字レアリティパラメータモデル名
このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。
propertyIdstring
~ 1024文字パラメータの保有元リソースのプロパティID
これらのレアリティパラメータが紐付けられている特定のゲームリソース(例: 武器や装備アイテム)を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。
parameterValuesList<RarityParameterValue>0 ~ 10 itemsレアリティパラメータの値リスト
付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enchant:SetRarityParameterStatusByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "parameterName": "[string]レアリティパラメータモデル名",
        "propertyId": "[string]パラメータの保有元リソースのプロパティID",
        "parameterValues": [
            {
                "name": "[string]名前",
                "resourceName": "[string]リソースの名前",
                "resourceValue": "[long]リソースの値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enchant:SetRarityParameterStatusByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  parameterName: "[string]レアリティパラメータモデル名"
  propertyId: "[string]パラメータの保有元リソースのプロパティID"
  parameterValues: 
    - name: "[string]名前"
      resourceName: "[string]リソースの名前"
      resourceValue: "[long]リソースの値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enchant").acquire.set_rarity_parameter_status_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    parameterName="[string]レアリティパラメータモデル名",
    propertyId="[string]パラメータの保有元リソースのプロパティID",
    parameterValues={
        {
            name="[string]名前",
            resourceName="[string]リソースの名前",
            resourceValue="[long]リソースの値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})