GS2-Limit マスターデータリファレンス
マスターデータのフォーマットと インポートする各種モデルのリファレンス
{
"version": "2019-04-05",
"limitModels": [
{
"name": "[string]回数制限モデル名",
"metadata": "[string?]メタデータ",
"resetType": "[string]リセットタイミング",
"resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
"resetDayOfWeek": "[string]リセットする曜日",
"resetHour": "[int]リセット時刻",
"anchorTimestamp": "[long]経過日数のカウントをする基準日",
"days": "[int]リセットする日数"
}
]
}
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| version | ✓ | 2019-04-05 | マスターデータのフォーマットバージョン | |||
| limitModels | List<LimitModel> | ~ 100 items | 回数制限モデル 回数制限には、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」 の 4 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 - 購入回数カウンターが 3 回未満 の場合に購入できる商品 - 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。 |
LimitModel
回数制限モデル
回数制限には、使用回数をリセットするタイミングを設定できます。
リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」 の 4 種類から選択できます。
また、回数制限の最大値はマスターデータ側では固定しません。
これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。
たとえばステップアップガチャのように、
- 購入回数カウンターが 3 回未満 の場合に購入できる商品
- 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品
といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| limitModelId | string | ✓ | ~ 1024文字 | 回数制限モデルGRN | ||||||||||||||||||
| name | string | ✓ | ~ 128文字 | 回数制限モデル名 | ||||||||||||||||||
| metadata | string | ~ 2048文字 | メタデータ | |||||||||||||||||||
| resetType | 文字列列挙型 enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | ✓ | ~ 128文字 | リセットタイミング
| ||||||||||||||||||
| resetDayOfMonth | int | {resetType} == “monthly” | ✓* | 1 ~ 31 | リセットをする日にち(月の日数を超える場合は、最終日として扱われます) ※ resetType が “monthly” であれば 必須 | |||||||||||||||||
| resetDayOfWeek | 文字列列挙型 enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓* | ~ 128文字 | リセットする曜日
※ resetType が “weekly” であれば 必須 | |||||||||||||||||
| resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓* | 0 ~ 23 | リセット時刻 ※ resetType が “monthly”,“weekly”,“daily"であれば 必須 | |||||||||||||||||
| anchorTimestamp | long | {resetType} == “days” | ✓* | 経過日数のカウントをする基準日 ※ resetType が “days” であれば 必須 | ||||||||||||||||||
| days | int | {resetType} == “days” | ✓* | 1 ~ 2147483646 | リセットする日数 ※ resetType が “days” であれば 必須 |