GS2-Exchange マスターデータリファレンス
{
"version": "2019-08-19",
"rateModels": [
{
"name": "[string]交換レートの名前",
"metadata": "[string?]メタデータ",
"verifyActions": [
{
"action": "[string]検証アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
],
"consumeActions": [
{
"action": "[string]消費アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
],
"timingType": "[string]交換の種類",
"lockTime": "[int]交換実行から実際に報酬を受け取れるようになるまでの待ち時間(分)",
"acquireActions": [
{
"action": "[string]入手アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
]
}
],
"incrementalRateModels": [
{
"name": "[string]コスト上昇型交換レートの名前",
"metadata": "[string?]メタデータ",
"consumeAction": {
"action": "[string]消費アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
},
"calculateType": "[string]コスト上昇量の計算方式",
"baseValue": "[long]ベース値",
"coefficientValue": "[long]係数",
"calculateScriptId": "[string]コスト計算スクリプトのGRN",
"exchangeCountId": "[string]交換実行回数を管理する GS2-Limit の回数制限モデルGRN",
"maximumExchangeCount": "[int]交換回数の上限",
"acquireActions": [
{
"action": "[string]入手アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
]
}
]
}
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
version | ✓ | 2019-08-19 | マスターデータのフォーマットバージョン | |||
rateModels | List<RateModel> | ~ 10000 items | 交換レートモデル | |||
incrementalRateModels | List<IncrementalRateModel> | ~ 10000 items | コスト上昇型交換レートモデル |
RateModel
交換レートモデル
交換レートはリソースとリソースを交換する際に使用するレートを定義するエンティティです。
直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。
現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
rateModelId | string | ✓ | ~ 1024文字 | 交換レートモデルGRN | ||
name | string | ✓ | ~ 128文字 | 交換レートの名前 | ||
metadata | string | ~ 2048文字 | メタデータ | |||
verifyActions | List<VerifyAction> | [] | ~ 10 items | 検証アクションリスト | ||
consumeActions | List<ConsumeAction> | [] | ~ 10 items | 消費アクションリスト | ||
timingType | enum { “immediate”, “await” } | ✓ | “immediate” | ~ 128文字 | 交換の種類 | |
lockTime | int | {timingType} == “await” | ✓ | ~ 538214400 | 交換実行から実際に報酬を受け取れるようになるまでの待ち時間(分) | |
acquireActions | List<AcquireAction> | [] | ~ 100 items | 入手アクションリスト |
timingType に指定する列挙型の定義
定義 | 説明 |
---|---|
immediate | 即時 |
await | 現実時間の経過待ち |
IncrementalRateModel
コスト上昇型交換レートモデル
通常の交換レートは常に一定のレートでの交換を提供します。
上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。
例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。
このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。
交換回数は現実時間の経過でリセットすることができます。
この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
incrementalRateModelId | string | ✓ | ~ 1024文字 | コスト上昇型交換レートモデルGRN | ||
name | string | ✓ | ~ 128文字 | コスト上昇型交換レートの名前 | ||
metadata | string | ~ 2048文字 | メタデータ | |||
consumeAction | ConsumeAction | ✓ | 消費アクション(数量/値は上書きされるため設定不要です) | |||
calculateType | enum { “linear”, “power”, “gs2_script” } | ✓ | ~ 128文字 | コスト上昇量の計算方式 | ||
baseValue | long | {calculateType} == “linear” | ✓ | ~ 9223372036854775805 | ベース値 | |
coefficientValue | long | {calculateType} in [“linear”, “power”] | ✓ | ~ 9223372036854775805 | 係数 | |
calculateScriptId | string | {calculateType} == “gs2_script” | ✓ | ~ 1024文字 | コスト計算スクリプトのGRN | |
exchangeCountId | string | ✓ | ~ 1024文字 | 交換実行回数を管理する GS2-Limit の回数制限モデルGRN | ||
maximumExchangeCount | int | ✓ | 2147483646 | ~ 2147483646 | 交換回数の上限 | |
acquireActions | List<AcquireAction> | [] | ~ 100 items | 入手アクションリスト |
calculateType に指定する列挙型の定義
定義 | 説明 |
---|---|
linear | ベース値 + (係数 * 交換回数) |
power | 係数 * (交換回数 + 1) ^ 2 |
gs2_script | GS2-Script による任意のロジック |
LogCost
対数を使用したコスト計算結果
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
base | double | ✓ | ~ 10 | 底 | ||
adds | List<double> | ✓ | 1 ~ 10000 items | 加算する対数のリスト | ||
subs | List<double> | ~ 10000 items | 減算する対数のリスト |
LogRate
対数を使用した入手量補正
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
base | double | ✓ | ~ 10 | 底 | ||
logs | List<double> | ✓ | 1 ~ 10000 items | 対数のリスト |
AcquireAction
入手アクション
ConsumeAction
消費アクション
VerifyAction
検証アクション